Install config syncing is behind the
app-install-syncing org feature flag and is off by default. Contact Nuon support to enable it for your org.Prerequisites
- A GitHub connection (if using
connected_repo) - Familiarity with install config files
Configuration
There are two ways to configure install config syncing: in your app config or as a standalone file. Both accept the same properties — see the Installs Config Reference for the full schema.In app config ([installs_config])
Add an [installs_config] section to your app config:
nuon.toml
nuon.toml
Standalone installs.toml
Create an installs.toml file in your app config directory:
installs.toml
connected_repo and public_repo are mutually exclusive — use one or the other. Use connected_repo when your install repo is private, or when you don’t want the repo location to be public.Install Config Files
Each file in the configureddirectory defines one install. The name field is what ties a file to an install — Nuon matches on it to decide whether to update an existing install or propose a new one, so renaming a file is harmless but renaming the name is not.
installs/staging.toml
installs/production.toml
What Happens During a Sync
Each sync runs as a workflow with three steps, visible on the app’s Install configs tab:- Fetch commit — resolves the commit to sync and clones the repo at that revision.
- Parse install configs — reads every config file in the directory and compares it against the app’s existing installs. If any file names an install that doesn’t exist, the step pauses for approval and lists the installs it proposes creating.
- Sync installs — dispatches a config sync to each matching install, which applies the new config and starts any resulting workflow.
A sync never deletes installs. Removing a config file from the repo stops that install from being updated; it does not tear it down.
Sync Triggers
There are two ways a sync starts:- Git push — a push to the configured branch of the connected repo triggers a sync automatically.
- Manual — the Sync now button on the app’s Install configs tab, or a
POSTto/v1/apps/{app_id}/install-syncs.
nuon apps sync does not trigger an install config sync. It registers the installs_config block from your app config so pushes and manual syncs can use it — the first sync still comes from a push or from Sync now.Syncing Config Files Directly
nuon installs sync is a separate mechanism: it pushes install config files from your working copy straight to the API, without going through a connected repo. It’s useful for iterating on a config before committing it, or for managing installs from CI without connecting a repo at all.
Sync a single file:
--yes to approve the resulting diffs and workflows automatically, and --wait to block until those workflows finish — both are useful in CI.
To stop an individual install from being updated by either mechanism:
Viewing Sync History
The app’s Install configs tab lists recent syncs with their status, the commit each one ran against, and the per-install config syncs it dispatched. Opening a sync shows its step timeline, the proposed installs awaiting approval, and the approve and deny actions.See Also
- Creating Installs — manual install config management
- Install Config Reference — JSON Schema reference
- Installs Config Reference — repo connection schema
- Configuration Files — full TOML reference
- App Branches — coordinated multi-install deployments