Understanding Helm Values
are YAML configuration files that override default settings in Helm charts. They control everything from resource allocations and scaling behavior to application-specific settings and networking configuration. When you customize values, CNAP:- Merges your custom values with chart defaults
- Generates a new versioned package with your configuration
- Preserves comments and structure from the original chart
- Validates values against the chart’s schema when available
CNAP automatically handles the complexity of value merging and validation, so you can focus on configuration rather than Helm internals.
Multi-Source Configuration
Many applications use multiple Helm sources—for example, a web application with a database, cache, and monitoring stack. CNAP’s values editor provides a tabbed interface where you can configure each source independently while applying all changes in a single transaction.Using the Multi-Source Editor
When editing values for products or standalone installations with multiple sources:- Switch between sources using the tabs at the top of the editor
- Edit each source independently in YAML or form view
- Track modifications with visual indicators (orange dots) on tabs that have been changed
- Apply all changes at once with the “Apply All” button
- Modified badge - Count of sources with unsaved changes
- Source tabs - All sources displayed as tabs for easy navigation
- YAML/Form toggle - Switch between raw YAML and guided form interface
- Diff highlighting - See exactly what values differ from defaults
Product Values vs Install Values
CNAP distinguishes between product-level values (the ) and install-level values (individual deployments). Understanding this distinction is crucial for managing updates effectively.Product Values
Product values define the template configuration for all future installations. When you update product values:- New chart version created - CNAP generates a new versioned package
- Existing installs unchanged - Current deployments continue running
- New installs use updated values - Future installations get the new configuration
- Manual rollout required - You control when existing installs upgrade
- Setting default configuration for all customers
- Preparing new features or settings
- Testing changes before wide rollout
- Managing staged deployments
Standalone Install Values
Standalone installations have their own template (1:1 relationship). When you update values for a standalone install:- Values updated immediately - Changes apply to the template
- New chart generated - A new versioned package is created
- Application redeploys automatically - The new configuration is applied to your cluster
- Single installation affected - Only this specific install changes
- Configuring customer-specific installations
- Making one-off customizations
- Testing configurations for specific environments
- Managing independent deployments
Product-Based Install Overrides
Product-based installations support per-install value overrides that layer on top of product defaults. When you customize values for a product-based install:- Overrides stored separately - Your customizations are saved as install-specific overrides
- Product defaults preserved - The product template remains unchanged
- Values merged automatically - Product values + install overrides are merged during deployment
- Updates persist - Overrides survive product template updates
- Application redeploys - The new merged configuration is applied to your cluster
- Customizing installations for specific customers (custom domains, branding, resource limits)
- Enabling customer-specific features or toggles
- Adjusting configurations per environment (production vs staging)
- Maintaining customer settings across product updates
Install overrides always take precedence over product defaults. When you update the product template, customer overrides are automatically merged with the new product values, ensuring customizations persist.
Value Layering and Merging
CNAP uses a layered approach to merge values from multiple sources, ensuring predictable and maintainable configurations.Merge Order
Values are merged in the following order (later layers override earlier ones):- Chart Defaults - Default values defined in the Helm chart
- Product Template Values - Values configured in the product template
- Install Overrides - Customer-specific overrides for product-based installs
- Install Metadata - System-generated values like
Deep Merging
CNAP performs of nested objects:Version Management and Rollouts
When you update product values, CNAP creates a new chart version without affecting existing installations. This gives you precise control over when and how updates roll out to your customers.The Update Workflow
Viewing Available Updates
Each product installation shows its current chart version and whether updates are available:- Current version badge - Shows the chart version currently deployed
- Latest version badge - Shows the newest available version
- Update available indicator - Orange badge when install is behind latest
Rolling Out to Single Install
To update a specific installation:- Navigate to the product’s installations list
- Click Update on the installation row
- Review the change (current version → latest version)
- Confirm the update
- Testing updates with a pilot customer
- Staggered rollouts across customers
- Customer-requested upgrades
- Selective deployment strategies
Rolling Out to All Installs
To update all installations at once:- Navigate to the product details page
- Click Update All Installs in the installations section
- Review the update scope (shows count of installations)
- Confirm the bulk update
- Security patches requiring immediate deployment
- Critical bug fixes
- Coordinated feature releases
- Simplified version management
Bulk updates execute in parallel but you can monitor each installation’s progress individually. Failed updates don’t block others from completing.
Editing Values
For Products
- Navigate to your product details page
- Click the Values button in the header
- Configure each Helm source using the tabbed interface:
- Switch between sources using tabs
- Edit in YAML or form view
- Track changes with modification indicators
- Click Apply All to save changes
For Product-Based Installations
- Navigate to the installation details page (must not be the product owner)
- Click the Values button in the header
- Configure each Helm source using the tabbed interface
- You’ll see merged values (product defaults + any existing overrides)
- Changes are stored as install-specific overrides
- Click Apply All to save changes
Product owners cannot edit values for product-based installations directly (this would affect all customers). They must update the product template instead. Only customers (non-owners) can create install-specific overrides.
For Standalone Installations
- Navigate to the installation details page
- Click the Values button in the header
- Configure each Helm source using the tabbed interface
- Click Apply All to save changes
Status Tracking
CNAP provides real-time status indicators during values updates:| Status | Description |
|---|---|
| Saving… | Storing updated values in the template |
| Packaging… | Generating new Helm chart with your configuration |
| Deploying… | Applying changes to your cluster (standalone installs only) |
Best Practices
Version Control Strategy
- Update products first - Make template changes before rolling out to installs
- Test with single install - Verify configuration with one customer before bulk updates
- Use semantic versioning - CNAP automatically versions charts; treat major updates carefully
- Document changes - Keep notes on what values were changed in each version
Multi-Source Configuration
- Configure all sources together - Use the multi-source editor to apply changes atomically
- Review modifications - Check the modified sources count before applying
- Validate YAML syntax - The editor warns about syntax errors before applying
- Use form view for structure - Form view prevents common YAML formatting mistakes
Rollout Management
- Pilot test updates - Start with a single installation for new configurations
- Stagger large rollouts - Consider updating installations in batches for large products
- Monitor after updates - Check installation health after rolling out changes
- Keep previous versions - Don’t delete old chart versions until all installs are migrated
Install Overrides
- Minimize overrides - Only override values that truly need to be customer-specific
- Use product defaults - Set sensible defaults in the product template for common configurations
- Document overrides - Keep notes on why specific values were overridden for each customer
- Test product updates - Verify that product template changes merge correctly with install overrides
- Review periodically - Check if overrides are still necessary as product defaults evolve
Security Considerations
- Never commit secrets - Use environment variables and secret management for sensitive data
- Review values before applying - Especially when using form view which may expose all fields
- Limit who can update - Product values affect all customers; restrict access appropriately
- Audit changes - Track who made value changes and when
Common Scenarios
Increasing Resource Limits
Increasing Resource Limits
Update values for CPU and memory limits to scale applications. For products, update the template values and roll out to installations that need more resources. For standalone installs, update values directly.
Enabling Features
Enabling Features
Many Helm charts use feature flags in values. Enable features in the product template, generate a new version, then selectively update installations as customers opt in.
Environment-Specific Configuration
Environment-Specific Configuration
Use standalone installations for environment-specific deployments (dev, staging, production). Each can have different values while sharing the same base chart.
Database Connection Strings
Database Connection Strings
Update database URLs or connection parameters by editing values. For products, create a new version with updated defaults. For standalone installs, update directly to reconfigure immediately.
Scaling Configuration
Scaling Configuration
Adjust replica counts, autoscaling settings, and resource requests. Test with a single installation first, then roll out to others once validated.
Customer-Specific Customizations
Customer-Specific Customizations
Use per-install value overrides for product-based installations when customers need unique configurations. Navigate to the installation details page and edit values to create customer-specific overrides for custom domains, resource limits, feature toggles, or any other settings. These overrides layer on top of product defaults and persist across product template updates, giving you the benefits of centralized product management while supporting customer-specific customizations.
Troubleshooting
Changes Not Applying
If value changes don’t take effect:- Check syntax - Ensure YAML is valid with proper indentation
- Review status - Wait for “Packaging…” status to complete
- Verify rollout - For products, ensure you’ve updated the installations
- Check logs - View application logs for deployment errors in the installation details page
Schema Validation Errors
If the form view shows validation errors:- Check required fields - Some values must be provided
- Verify data types - Ensure numbers, strings, and booleans match schema
- Switch to YAML - Use YAML view for complex configurations
- Consult chart docs - Review the Helm chart’s documentation for value requirements
Installation Not Updating
If an installation doesn’t update after rollout:- Review version - Verify the installation is pointing to the new chart
- Check status - Look for errors in the installation details page
- Check deployment - Ensure the application is deploying successfully
Related Topics
- Products → - Create and manage products with configurable templates
- Deployments → - Deploy installations to your infrastructure
- Templates → - Understand how templates work
- Package Generation → - Learn how CNAP generates charts
- Version Management → - Understand chart versioning