stack-orchestrator/HELM_CHART_GENERATION.md

1.5 KiB

Helm Chart Generation

Generate Kubernetes Helm charts from stack compose files using Kompose.

Prerequisites

Install Kompose:

# Linux
curl -L https://github.com/kubernetes/kompose/releases/download/v1.34.0/kompose-linux-amd64 -o kompose
chmod +x kompose
sudo mv kompose /usr/local/bin/

# macOS
brew install kompose

# Verify
kompose version

Usage

1. Create spec file

laconic-so --stack <stack-name> deploy init \
  --deploy-to k8s \
  --kube-config ~/.kube/config \
  --output spec.yml

2. Generate Helm chart

laconic-so --stack <stack-name> deploy create \
  --spec-file spec.yml \
  --deployment-dir my-deployment \
  --helm-chart

3. Deploy to Kubernetes

cd my-deployment/chart
helm install my-release ./ --namespace zenith --create-namespace
kubectl get pods -n zenith

Output Structure

my-deployment/
├── spec.yml              # Reference
├── stack.yml             # Reference
└── chart/                # Helm chart
    ├── Chart.yaml
    ├── README.md
    └── templates/
        └── *.yaml

Example

# Generate chart for stage1-zenithd
laconic-so --stack stage1-zenithd deploy init \
  --deploy-to k8s \
  --kube-config ~/.kube/config \
  --output stage1-spec.yml

laconic-so --stack stage1-zenithd deploy create \
  --spec-file stage1-spec.yml \
  --deployment-dir stage1-deployment \
  --helm-chart

# Deploy
cd stage1-deployment/chart
helm install stage1-zenithd ./ --namespace zenith --create-namespace