Overview
This guide covers adding new Kubernetes infrastructure components and managing configurations across environments. Infrastructure components are third-party tools deployed via Helm that provide platform capabilities.Add a New Infrastructure Component
Add custom resources (optional)
Create templates in
templates/ for resources not provided by the upstream chart:Register with ArgoCD
Environment-Specific Configuration
Values Hierarchy
Values are merged in order (later files override earlier):values.yaml- Base configurationvalues.{cluster}.yaml- Environment-specific overrides
Common Patterns
Different resource limits per environment:Add to Local Development
Update the Render Pipeline
If your component needs to be rendered as part of the main render task: Editkubernetes/mise.toml to include your component:
Namespace Management
Components typically run in their own namespace. Create it in your templates:Troubleshooting
Helm dependency errors
Template rendering errors
ArgoCD not detecting the new Application
-
Verify the Application manifest was generated:
-
Check the infrastructure app-of-apps is synced:
-
Force a sync:
Best Practices
- Use the wrapper chart pattern - Never modify upstream charts directly
- Version pin dependencies - Always specify exact versions in
chartVersions - Minimize environment differences - Keep staging similar to production
- Document custom resources - Explain why custom templates are needed
- Test locally first - Use Tilt before deploying to staging
Next Steps
- Managing Secrets - Configure secrets for your component
- Updating 3rd Party Applications - Update component versions