App Life Cycle
Package your app
The first step in the app life cycle is to package your app as a set of.toml
files in a git-backed repository. These files define the app’s sandbox (e.g.,
VPC, networking, and Kubernetes infrastructure), components, inputs, variables,
and other configuration details. These configurations can point to your existing
Terraform modules, Helm charts, Kubernetes manifests, or other
infrastructure-as-code resources.
Packaging your app can be customized to re-use existing VPCs, networking, or
Kubernetes clusters, or by default creates new ones for each install.
Sync and Build
When an app is initially created and synced to the Nuon control plane with the Nuon CLI, a build occurs for each component in the app. Builds create an OCI artifact for each component and the Nuon control plane stores them in the container registry like AWS ECR.If you change a component after the initial
nuon apps sync, you must
re-build the component. Running nuon apps sync again will re-build most
component changes, or manually through the Dashboard UI for git
repository-based source code changes referenced in the component. Otherwise,
the changes will not be reflected in the app in Nuon nor any deployed
installs.nuon apps sync, e.g., a component
.toml file is changed or a referenced file like a Helm values.yaml, it will
automatically rebuild the component, with the build status visible in the CLI
progress output.

nuon apps sync with the Nuon CLI.

Install Life Cycle
Installs, defined for your customers
Installs into customer cloud accounts are created from apps and inherit the infrastructure and components defined in the app. When an install is created, it uses the latest built version of each component. An install’s life cycle is managed by workflows that define the steps to deploy, update, manage, and tear down the install.


Update, with change controls
Because apps are git-backed, you can update individual or multiple installs to the latest release of your app or upgrade components or even infrastructure. e.g., Kubernetes version. Updates have approval gates by default to ensure changes are reviewed before being applied to customer installs. e.g., Helm diffs, Terraform plan outputs. The user can optionally Accept All approvals to streamline the update process.

If you have changed an app’s components and do not see their changes reflected
in your installs, ensure you have re-deployed the updated components in the
Nuon Dashboard. This is a common step that can be overlooked.
Monitor and Remediate
Once deployed, installs can be monitored for health and performance metrics with actions, bash scripts included in the app. e.g., checking pod status, disk space, ALB availability, etc.
