Stacks let you bundle add-ons and manifests into a reusable, versioned package. This makes it easy to deploy consistent Kubernetes environments at scale.
What is a Stack?
A Stack in Ankra is a collection of add-ons and manifests grouped together to define a complete Kubernetes environment. Stacks are reusable and can be versioned, shared, and deployed to any cluster.Build Stacks with AI Assistance
The fastest way to plan a Stack is with the AI Assistant. Press⌘+J to open the chat and describe what you need:
1
Describe Your Goal
“I need a monitoring stack with Prometheus, Grafana, and alerting for a production cluster”
2
Get Recommendations
The AI suggests add-ons, dependencies, and best-practice configurations based on your cluster.
3
Refine Configuration
“Set retention to 30 days and add PagerDuty integration” - the AI provides updated configuration recommendations.
4
Build and Deploy
Add the recommended components to the Stack Builder, configure based on the guidance, and deploy with one click.
Why Use Stacks?
Consistency Across Environments
Deploy the same stack to dev, staging, and production to ensure every environment is configured identically.
Accelerate Onboarding
New clusters or teams can be up and running in minutes by applying a pre-built stack.
Simplify Updates
Update a stack and roll out changes to all clusters using it, reducing manual work and configuration drift.
Promote Best Practices
Share stacks across your organization to enforce standards and recommended configurations.
Stack Builder
Ankra provides a visual Stack Builder interface that makes it easy to compose and manage your stacks.Visual Interface
The Stack Builder provides a drag-and-drop canvas where you can:- Add Components: Drag add-ons and manifests onto the canvas
- Define Dependencies: Connect components to establish deployment order
- Configure Values: Click any component to edit its configuration
- Preview Flow: See how components will be deployed
Creating a Stack
1
Open Stack Builder
Navigate to your cluster’s Stacks section and click Create Stack. The Stack Builder canvas opens with an empty workspace.
2
Add Components
Click + Add to browse available components:
- Add-ons: Helm charts from your connected repositories
- Manifests: Custom Kubernetes YAML resources
3
Configure Dependencies
Connect components to define deployment order. Ankra will deploy components in the correct sequence based on these connections.Example: Connect your namespace manifest to run before add-ons that depend on that namespace.
4
Edit Configuration
Click any component to:
- View and edit values files (for add-ons)
- Modify manifest content
- Set namespace and other metadata
5
Save and Deploy
Click Save to store your stack. Then click Deploy to apply it to your cluster.
Draft Stacks
Ankra supports draft stacks for work-in-progress configurations:- Auto-save: Changes are saved automatically as you work
- Preview: See what will be deployed before committing
- Validation: Ankra validates your stack for common issues
- Publish: When ready, publish the draft to make it deployable
Stack Variables
Stacks support variables that let you parameterize your manifests and Helm values. Variables follow a hierarchy where stack-level variables override cluster and organisation variables.Using Variables in Stacks
- Open your stack and click the Variables tab
- Add key-value pairs for configuration values
- Reference them in manifests using
${{ ankra.variable_name }}syntax
Stack Components
Add-ons
Add Helm charts to your stack:- Click + Add → Add-on
- Search or browse available charts
- Select a chart version
- Configure values (or use defaults)
- Place on the canvas
- Chart name and version
- Repository source
- Deployment status (after deploy)
Manifests
Add custom Kubernetes YAML:- Click + Add → Manifest
- Enter a name for the manifest
- Paste or write your YAML content
- Place on the canvas
- Namespaces
- ConfigMaps and Secrets
- Custom Resource Definitions (CRDs)
- RBAC resources
- Any other Kubernetes objects
Dependency Management
The Stack Builder lets you define deployment order through visual connections:Connecting Components
- Hover over a component to see connection points
- Click and drag from one component to another
- The arrow indicates deployment order (source deploys before target)
Dependency Rules
- Components without dependencies deploy first (in parallel if possible)
- Connected components wait for their dependencies to complete
- Failed dependencies stop downstream deployments
Example Flow
In this example:- Namespace deploys first
- ConfigMap deploys after namespace
- Deployment deploys after both namespace and ConfigMap
Stack Operations
Editing a Stack
- Go to Stacks and click on the stack
- Click Edit to open the Stack Builder
- Make changes and save
- Re-deploy to apply changes
Cloning a Stack
- Click the stack’s menu (⋯)
- Select Clone
- Edit the cloned stack as needed
Deleting Components
- Select a component on the canvas
- Press Delete or click the remove button
- Connections to that component are automatically removed
Example Stack Composition
A typical production stack might include:| Component Type | Example |
|---|---|
| Manifest | Namespace definition |
| Manifest | RBAC roles and bindings |
| Add-on | Prometheus (monitoring) |
| Add-on | Grafana (dashboards) |
| Add-on | NGINX Ingress Controller |
| Add-on | Cert-Manager (TLS) |
| Manifest | Certificate resources |
| Manifest | Ingress rules |
Best Practices
GitOps Integration
Stacks can be synced to a Git repository for version control and GitOps workflows:- Connect your GitHub repository in cluster settings
- Stacks are exported as Helm values and manifests
- Changes in Git can be synced back to Ankra
- Full audit trail of all stack changes