Documentation


All app configuration is defined in the app.yml template file at the root of the app bundle.

Top-Level Object

ocean:
  version: String
snapshots:
  - Snapshot
steps:
  - Step

Snapshot

name: String
registry: String
image: String
rag: String

Step

engines:
  - Engine

Engine

name: String
vars:
  - Variable
orchestrator: Orchestrator
ui:
  buttons:
    - Button
  badges:
    - Badge

Variable

name: String
value: String

Variable Special Functions

You can reference several dynamic functions in variable values:

  • reserve_port() dynamically reserves a port that can be referenced in any other property in all engines. Ports are reserved from the following range: 10000-10999. While building an app make sure those ports are not reserved by any software that the app uses, otherwise unexpected behaviors and conflicts will happen.
  • generate_uuid() dynamically generates a random UUID that can be referenced in any other property in all engines.

Orchestrator

deployment_strategy: String
snapshot_name: String
container: Container

Snapshot

registry:
  name: String
image:
  name: String
name: String

Container

runner:
  modes:
    - String
user: String
workdir: String
mounts:
  engine: String
  data_stores: String
  ssh: String
nodes:
  main: Node
  worker: Node

Node

env_vars: EnvironmentVariable
entrypoint: String
command: String

EnvironmentVariable

name: String
value: String

Button

node_target: String
label: String
url: String

Badge

node_target: String
label: String
tooltip: String