At the high level, an Ocean app is a bundle that includes a YAML template and scripts. It’s useful to think of an app template as an abstraction that loosely follows the model-view-controller (MVC) pattern.
App data includes variables set by the app developer in the template. It also includes files in the
The app controller part of the template is a multi-step orchestrator that allows the app developer to define multiple parallel or sequential engines. An engine is a container lifecycle definition.
App’s UI is a dashboard that displays engine-level visual components defined by the app developer.
All of those components are packaged in the Ocean app bundle. The concrete components of the bundle are as follows:
app.ymlis the main app template.
README.mdfile provides a description of the app.
logo.pngis an optional app logo. We recommend including a 400x400 square file for the best quality.
filesdirectory includes dynamically parsed files for app engines.
All Ocean apps support dynamic values in engine files and most
app.yml properties. To parse those values Ocean uses Liquid template engine.
For reference, consider checking out example apps in our official GitHub.