Actions let you define and remotely execute custom workflows in installs. You can automate common tasks, implement healthchecks, and even automate runbooks to handle incidents. For one-off scripts you don’t want to commit to TOML, see Run adhoc actions.Documentation Index
Fetch the complete documentation index at: https://docs.nuon.co/llms.txt
Use this file to discover all available pages before exploring further.
Configuring action workflows
Action workflows can be configured in your app’s TOML config. For example, to define an HTTP healthcheck:actions/http_healthcheck.toml
actions/<your-action>.toml
Timeout
Each workflow must have a timeout limiting how long it can run. The maximum allowed timeout is 30 minutes. Timeouts must be provided as valid Golangtime.Duration strings.
The example workflow will time out after 15 seconds, more than enough time to make a simple HTTP request.
Action triggers
Action triggers are available for all workflows. You can use the following set of triggers:pre-provisionpost-provisionpre-reprovisionpost-reprovisionpre-deprovisionpost-deprovisionpre-deploy-all-componentspost-deploy-all-componentspre-teardown-all-componentspost-teardown-all-componentspre-deprovision-sandboxpost-deprovision-sandboxpre-reprovision-sandboxpost-reprovision-sandboxpre-update-inputspost-update-inputspre-secrets-syncpost-secrets-sync
pre-provision or pre-reprovision that include a stack-run, the trigger will be called right after the runner is healthy.
The following triggers require a component_name field to be set, as they are tied to a specific component:
pre-deploy-componentpost-deploy-componentpost-teardown-componentpre-teardown-component
actions/<action-name>.toml
Steps
Each step in an action requires a command to be run. You can optionally load a script from a repo and provide env vars to configure the environment the command will run in. The example action is pretty simple, so it has only one step. It loads a curl script from our open-source repo of commonly-used scripts, and sets a few env vars to configure it.actions/<action-name>.toml