Skip to main content

Manifest

The Compose App’s manifest is a YAML file with the following schema. The manifest holds all the relevant information about the Compose App and its tasks. All compose commands will reference your manifest and pick up the configuration there. See full manifest configuration docs here.

Example

name: "my_app"
secrets:
  - MY_SECRET 
env:
  local:
    MY_VAR: "foo"
  cloud:
    MY_VAR: "bar"
tasks:
  - name: "price_fetcher"
    path: "./tasks/fetch_price.ts"
    triggers:
      - type: "cron"
        expression: "* * * * *" # Run every minute
      - type: "http"
        authentication: "auth_token"
    retry_config:
      max_attempts: 3
      initial_interval_ms: 1000
      backoff_factor: 2
  - name: "data_processor"
    path: "./tasks/process_data.ts"

Commands

Init

Prompts you to choose a project name and generates a folder of that name with a fully working compose app in it.
goldsky compose init

Dev

Starts your Compose app with a clean task execution state, this will be the primary way you run the app while developing. Changes you make to your task will hot reload and reset execution state. You can optionally clear all the state in the stage DB with the “—clean-stage” flag.
goldsky compose dev
Options:
  • --clean-stage Optionally clear the local stage database

Start

Starts your app in production mode, preserving execution state from previous runs, this can be useful for testing retry behavior or other production scenarios.
goldsky compose start
Options:
  • -m <<manifest-path>> Optionally use a manifest that’s not in the default compose.yaml path
  • --fork-chains fork all chains referenced in contract interactions locally for testing, more info on forking here

Deploy

This will deploy the app to the cloud, from there you’ll be able to monitor it at https://app.goldsky.com/dashboard/compose/{appName}. See monitoring for more info.
goldsky compose deploy
Options:
  • -m, --manifest <path> Path to manifest file (default: compose.yaml)
  • -t, --token <token> Authentication token for deployment
  • -f, --force Skip version compatibility prompts
Your manifest must include an api_version field to deploy. All secrets referenced in the manifest must be set before deploying (see Secrets).

callTask

Trigger a task locally by name with an optional JSON payload. Useful for testing tasks during development.
goldsky compose callTask my-task '{"foo": "bar"}'
The payload must be valid JSON. For example, {foo: "bar"} is invalid — use {"foo": "bar"} instead.

codegen

Parse ABIs in the src/contracts/ folder and generate TypeScript classes for them. See contracts for more details.
goldsky compose codegen

secret list

List all secrets set for this app.
goldsky compose secret list
Options:
  • -m, --manifest <path> Path to manifest file (default: compose.yaml)
  • -t, --token <token> Authentication token
  • --api-server <url> Override the API server URL

secret set

Set or update a secret for the app. See Secrets for full details.
goldsky compose secret set MY_SECRET my-secret-value
Options:
  • -m, --manifest <path> Path to manifest file (default: compose.yaml)
  • -t, --token <token> Authentication token
  • --api-server <url> Override the API server URL

secret delete

Delete a secret from the app.
goldsky compose secret delete MY_SECRET
Options:
  • -m, --manifest <path> Path to manifest file (default: compose.yaml)
  • -t, --token <token> Authentication token
  • --api-server <url> Override the API server URL