Skip to main content
The nuon apps init command helps you quickly scaffold configuration files for your Nuon application. It generates the necessary TOML configuration files with proper structure and defaults, making it easy to get started with Nuon.

Basic Usage

To initialize a new app configuration in the default directory (./app-config):
This generates a complete app configuration structure with all core configuration files:
  • inputs.toml - Define customer-facing configuration options
  • sandbox.toml - Configure the infrastructure sandbox
  • stack.toml - Define the stack
  • runner.toml - Configure the deployment runner
  • secrets.toml - Manage secrets configuration
  • break_glass.toml - Configure emergency access policies
  • policies.toml - Define organizational policies
  • components/ - Directory for component configurations
  • actions/ - Directory for action workflows

Interactive Mode

For a guided setup experience, use interactive mode:
Interactive mode walks you through:
  1. Template Selection - Choose a prebuilt template or start from scratch
  2. Component Configuration - Select which sample components to include
  3. Generator Options - Configure comment and default value preferences
This is especially helpful when you’re new to Nuon or want to explore available options.

Using Prebuilt Templates

Nuon provides production-ready templates for common deployment scenarios. Use the --prebuild-template flag to bootstrap your configuration quickly:

AWS EKS Template

This generates a complete configuration optimized for deploying containerized applications to AWS Elastic Kubernetes Service (EKS). Additional templates coming soon…

Configuration Options

Path Configuration

Specify a custom output directory:

Include Comments

Add inline comments explaining each configuration field:
This is helpful for learning and understanding configuration options.

Include Default Values

Explicitly set all fields to their default values:
By default, only required fields are included. This flag shows all available options.

Skip Non-Required Fields

Generate a minimal configuration with only required fields:
This creates a cleaner starting point when you know you’ll customize extensively.

Overwrite Existing Files

Force overwrite of existing configuration files:
Be careful with --overwrite as it will replace existing files without prompting. Always commit your changes to version control before using this flag.

Initializing Individual Configurations

Instead of generating the entire configuration structure, you can initialize specific configuration files using subcommands.

Sandbox Configuration

Generate only the sandbox configuration:
Key flags:
  • --terraform-version - Terraform version to use
  • --public-repo - Public GitHub repository (e.g., owner/repo)
  • --connected-repo - Connected private repository
  • --drift-schedule - Cron expression for drift detection
  • --var - Terraform variable (can be specified multiple times)
  • --env-var - Environment variable (can be specified multiple times)

Stack Configuration

Generate the stack configuration.
Required flags:
  • --name - Name of the stack
  • --description - Description of the stack
Supported --type values: aws-cloudformation, azure-bicep (Azure), gcp-terraform (Google Cloud).

Runner Configuration

Generate the runner configuration:
Required flags:
  • --runner-type - Type of runner: kubernetes, docker, or vm

Component Configurations

Generate component configuration files for different component types.

Terraform Module Component

Helm Chart Component

Kubernetes Manifest Component

Action Configuration

Generate an action workflow configuration:
Common trigger types:
  • manual - Triggered manually from dashboard or CLI
  • cron - Scheduled using cron expression
  • post-provision-sandbox - Runs after initial sandbox provisioning and before component deployment
  • post-provision - Runs after installation provisioning
  • post-deploy-component - Runs after deployment of the component specified by component_name
  • post-deploy-all-components - Runs after an all-components deployment

Common Workflows

Starting a New Application

  1. Initialize with template:
  2. Review and edit generated files:
  3. Customize components:
  4. Sync to Nuon:

Adding to an Existing Application

If you already have some configuration files and want to add more:

Regenerating Configuration

If you need to regenerate with different options:

Configuration File Structure

After running nuon apps init, your directory will have this structure:

Next Steps

After initializing your app configuration:
  1. Review Generated Files - Open each TOML file and customize values for your application
  2. Add Components - Use nuon apps init component to add application-specific components
  3. Configure Actions - Set up automated workflows with nuon apps init action
  4. Sync to Nuon - Run nuon apps sync to create or update your app in Nuon
  5. Test Locally - Validate your configuration before deploying

The nuon apps init command is a local operation and does not require authentication. It only generates configuration files on your local machine. Use nuon apps sync to push your configuration to the Nuon platform.

Tips and Best Practices

Version Control

Always commit generated configuration files to version control:

Iterative Development

Start minimal and add complexity as needed:

Use Comments for Learning

When learning Nuon, generate files with comments:
This creates well-documented configuration files that explain each option.

Template Customization

After using a prebuilt template, customize it for your needs: