Applications
Deploy applications from GitHub, containers, or Helm charts with automated builds and configuration management.
Template vs Instance Model
Template: Reusable application blueprint defining source, resources, and network configuration.
Instance: Environment-specific deployment of a template. One template can have multiple instances (dev, staging, prod).
Application Sources
1. Container Images
Deploy pre-built Docker images from any registry:
- Docker Hub: docker.io/library/nginx
- AWS ECR: 123456.dkr.ecr.us-east-1.amazonaws.com/app
- GitHub Container Registry: ghcr.io/username/app
2. Source Code (Git)
Buildpack Auto-Detection:
- Node.js (package.json)
- Python (requirements.txt)
- Go (go.mod)
- Java (pom.xml, build.gradle)
3. Helm Charts
Deploy from Helm repositories:
- HTTPS: https://charts.bitnami.com/bitnami
- OCI: oci://public.ecr.aws/bitnami/nginx
- GitHub: Raw chart files from repositories
Resource Configuration
- CPU: 0.5-4 vCPU (requests and limits)
- Memory: 512Mi-8Gi (requests and limits)
- Replicas: Min 1, Max 10 with auto-scaling
- Storage: Persistent volumes with custom mount paths
Network Configuration
- Container Port: Application listening port (e.g., 3000)
- Service Port: External access port (e.g., 80)
- Ingress: HTTP/HTTPS routing with TLS
Deployment Strategies
Rolling Update (Default)
Gradually replace pods with zero downtime. Configure max surge and max unavailable.
Recreate
Terminate all existing pods before creating new ones. Brief downtime but simpler rollout.
Complete Workflow
- Create application template
- Configure source (GitHub, Container, Helm)
- Set resource requirements
- Configure network and ingress
- Add variables and secrets
- Create and configure application instance for specific environment
- Deploy instance to the selected environment