Deployment Cell Amenities¶
Overview¶
Deployment cell amenities are additional infrastructure components (Helm charts) that can be installed and managed on your deployment cell to enhance functionality and provide essential services. Omnistrate provides both managed amenities and support for custom amenities to meet your specific infrastructure requirements.
This guide demonstrates how to manage deployment cell amenities using the Omnistrate command-line tool.
Prerequisites¶
Before managing deployment cell amenities, ensure you have:
- Omnistrate CTL installed (installation guide)
- Valid credentials for the Omnistrate platform
- Appropriate permissions to manage deployment cell
- Access to your target environment (e.g., PROD, STAGING)
Amenity Types¶
Deployment cell support two types of amenities:
Managed Amenities¶
Pre-configured Helm charts maintained by Omnistrate that are automatically available for installation. These amenities are:
- Fully managed: Omnistrate handles chart configuration, updates, and maintenance
- Cloud-optimized: Configured with best practices for each cloud provider
- Production-ready: Tested and validated for enterprise use
Common managed amenities include:
- Observability Prometheus: Monitoring and metrics collection
- Kubernetes Dashboard: Web-based Kubernetes cluster management interface
- External DNS: Automatic DNS record management for Kubernetes services
- Cert Manager: Automatic SSL certificate provisioning and renewal
- Nginx Ingress Controller: HTTP/HTTPS traffic routing and load balancing
Each cloud provider has additional managed amenities.
Custom Amenities¶
Helm charts that you configure and manage yourself. Custom amenities require you to provide:
- Chart repository information (name and URL)
- Specific chart version
- Custom Helm values for configuration
- Authentication credentials (if needed)
Managing Deployment Cell Configuration Templates¶
Configuration templates define which amenities are available for deployment cell in each environment and cloud provider combination.
Generate Configuration Template¶
Create a template with all available amenities for a specific cloud provider:
When prompted, select your login method and provide credentials.
Review Template Structure¶
The generated template contains two main sections:
managedAmenities:
- name: EFS CSI Driver
description: EFS CSI Driver
type: Helm
- name: AWS Load Balancer Controller
description: AWS Load Balancer Controller
type: Helm
- name: Cluster Autoscaler
description: Cluster Autoscaler
type: Helm
# ... additional managed amenities
customAmenities:
- name: EBS CSI Driver
description: EBS CSI Driver
type: Helm
Properties:
ChartName: "aws-ebs-csi-driver"
ChartVersion: "2.28.1"
ChartRepoName: "aws-ebs-csi-driver"
ChartRepoURL: "https://kubernetes-sigs.github.io/aws-ebs-csi-driver"
CredentialsProvider:
Type: "none"
DefaultNamespace: "kube-system"
ChartValues:
image:
repository: "public.ecr.aws/ebs-csi-driver/aws-ebs-csi-driver"
tag: "v1.27.0"
controller:
replicaCount: 2
resources:
requests:
cpu: "10m"
memory: "40Mi"
Custom Amenity Configuration Properties¶
When defining custom amenities, include these properties:
Property | Description | Required |
---|---|---|
ChartName | Name of the Helm chart | Yes |
ChartVersion | Specific version of the chart | Yes |
ChartRepoName | Repository name identifier | Yes |
ChartRepoURL | Repository URL | Yes |
CredentialsProvider | Authentication configuration | No |
DefaultNamespace | Kubernetes namespace for deployment | No |
ChartValues | Custom Helm values to override defaults | No |
Update Configuration Template¶
After customizing your template, apply it to your environment:
View Current Configuration Template¶
Check the current configuration template for an environment:
For JSON output:
Managing Individual Deployment Cell Amenities¶
Check Deployment Cell Status¶
View the current amenities and status of a specific deployment cell:
For JSON output:
Replace hc-abcedfgh
with your actual deployment cell ID.
Update Deployment Cell Amenities¶
You have two options for updating amenities on a deployment cell:
Option 1: Update with Configuration File¶
Create a custom configuration file:
managedAmenities:
- name: Observability Prometheus
description: Observability Prometheus
type: Helm
- name: Kubernetes Dashboard
description: Kubernetes Dashboard
type: Helm
- name: External DNS
description: External DNS
type: Helm
customAmenities:
- name: Custom Chart
description: Custom application chart
type: Helm
Properties:
ChartName: "my-custom-chart"
ChartVersion: "1.0.0"
ChartRepoURL: "https://my-repo.example.com"
Apply the configuration:
Option 2: Sync with Template¶
Automatically sync the deployment cell with your organization's template:
This command syncs the deployment cell's amenities with the configuration template defined for its environment.
Apply Pending Changes¶
After updating the configuration, apply the changes to trigger actual deployment:
This command:
- Applies any pending amenity additions or removals
- Triggers the deployment/undeployment of Helm charts
- Updates the deployment cell to match the desired configuration
Change Application
Configuration updates create pending changes that must be explicitly applied using the apply-pending-changes
command. This two-step process provides control and allows you to review changes before deployment.