Environments
Create logical deployment boundaries (dev, staging, prod) with centralized configuration, DNS, and cluster management.
What are Environments?
Environments are logical groupings that define where and how applications are deployed. They provide:
- Deployment Targets - Define dev, staging, production environments
- Configuration Management - Centralized settings per environment
- DNS Configuration - Automatic domain management
- Cluster Association - Link multiple clusters to one environment
Creating an Environment
Step 1: Navigate to Environments
- Go to Organization → Environments
- Click "+ Create Environment"
Step 2: Configure Basic Settings
- Name: dev, staging, production
- Executer: Seagit Terraform or ArgoCD
- Domain: Select root domain for applications
Step 3: Configure Ingress
- Ingress Class: alb, nginx, or custom
- Ingress Annotations: cert-manager, ALB settings
- Node Labels: For pod scheduling
Step 4: Attach Clusters
Select which clusters can deploy to this environment.
Step 5: Create Spaces (Optional)
default namepace is created for each environment.
Create Kubernetes namespaces for team or project isolation. Spaces are the logical representation of these namespaces within an environment.
Note: Resource quotas and access control within Spaces will be coming soon.
DNS Configuration
Environments automatically manage DNS for deployed applications:
- Root Domain: app.example.com
- Service Subdomains: api.app.example.com, web.app.example.com
- Wildcard Support: *.app.example.com
- Automatic TLS: Cert-manager integration
Routing Policies (Paid plan only)
- Simple - Single destination
- Latency-based - Route to nearest region
- Failover - Backup region on failure
Spaces (Namespaces)
Spaces provide logical isolation within environments:
- Team Isolation - Separate resources by team
- Project Separation - Multiple projects per environment
- Resource Quotas - Limit CPU/memory per space
Deployment Strategies
Blue-Green Deployment
Run two identical environments (blue and green). Switch traffic instantly. This can be achieved with ArgoCD rollouts
Canary Deployment
Gradually roll out to a small percentage of users before full deployment. This can be achieved with ArgoCD rollouts
Rolling Update
Out of the box support for rolling updates. Replace pods sequentially to maintain availability.
Environment Sharing
Share environments with other accounts:
- Grant access to external teams
- View active shares
- Revoke access anytime