with one click
kubernetes-operators
Kubernetes infrastructure patterns including operators, Helm, GitOps, and component provisioning.
Menu
Kubernetes infrastructure patterns including operators, Helm, GitOps, and component provisioning.
Add non-text files to a person's artifacts folder. Use when saving images, documents, or other files related to someone. Trigger words: artifact, save image, add photo, attach file, store document.
Token-efficient tracking for AI orchestration. CLI-first for status updates (~50 tokens), agent fallback for complex ops (~1KB). Use when: updating task status, querying blockers, creating progress files, validating phases.
AshAi extension guidelines for integrating AI capabilities with Ash Framework. Use when implementing vectorization/embeddings, exposing Ash actions as LLM tools, creating prompt-backed actions, or setting up MCP servers. Covers semantic search, LangChain integration, and structured outputs.
ASI Agent-O-Rama Skill
This skill should be used when solving hard questions, complex architectural problems, or debugging issues that benefit from GPT-5 Pro or GPT-5.1 thinking models with large file context. Use when standard Claude analysis needs deeper reasoning or extended context windows.
Personal assistant for daily routines, task management, and productivity
| name | kubernetes-operators |
| description | Kubernetes infrastructure patterns including operators, Helm, GitOps, and component provisioning. |
| agents | ["bolt"] |
| triggers | ["kubernetes","k8s","helm","argocd","operator","infrastructure"] |
Infrastructure provisioning using Kubernetes operators, Helm, and GitOps practices.
| Component | Tool | Purpose |
|---|---|---|
| Container | Docker | Image building |
| Orchestration | Kubernetes | Workload management |
| Package Manager | Helm | Chart management |
| GitOps | ArgoCD, Kustomize | Declarative deployments |
| CI/CD | GitHub Actions, Argo Workflows | Automation |
| Monitoring | Prometheus, Grafana, Loki | Observability |
| Networking | Ingress, NetworkPolicies | Traffic management |
Query these for current best practices:
/argoproj/argo-cd/helm/helmkubectl apply ad-hochelm template and kubectl diff before apply| Type | Operator | CRD Kind | Namespace |
|---|---|---|---|
| PostgreSQL | CloudNative-PG | Cluster | databases |
| Redis/Valkey | Redis Operator | Redis | databases |
| S3/Storage | SeaweedFS | Helm | seaweedfs |
| Kafka | Strimzi | Kafka | kafka |
| MongoDB | Percona | PerconaServerMongoDB | databases |
| MySQL | Percona | PerconaXtraDBCluster | databases |
| NATS | NATS Helm | Helm | nats |
| RabbitMQ | RabbitMQ Operator | RabbitmqCluster | messaging |
| Size | CPU Request | Memory | Storage | Replicas |
|---|---|---|---|---|
| small | 100m | 256Mi | 5Gi | 1 |
| medium | 500m | 1Gi | 20Gi | 1-2 |
| large | 1000m | 4Gi | 100Gi | 3 |
Extract infrastructure from task XML:
<infrastructure>
<component type="postgresql" name="app-db">
<size>small</size>
<replicas>1</replicas>
<database>app_production</database>
</component>
</infrastructure>
Create manifests in the infra/ directory:
infra/
├── postgresql/
│ └── cluster.yaml
├── valkey/
│ └── redis.yaml
├── seaweedfs/
│ └── bucket-init.yaml
└── kustomization.yaml
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: app-db
namespace: databases
spec:
instances: 1
storage:
size: 5Gi
storageClass: mayastor
bootstrap:
initdb:
database: app_production
owner: app_user
apiVersion: redis.redis.opstreelabs.in/v1beta2
kind: Redis
metadata:
name: app-cache
namespace: databases
spec:
kubernetesConfig:
image: redis:7-alpine
storage:
volumeClaimTemplate:
spec:
storageClassName: mayastor
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi
# Apply manifests
kubectl apply -k infra/
# Wait for PostgreSQL
kubectl wait --for=condition=Ready cluster/app-db -n databases --timeout=300s
# Wait for Valkey
kubectl wait --for=condition=Ready redis/app-cache -n databases --timeout=300s
apiVersion: v1
kind: ConfigMap
metadata:
name: app-infra-config
namespace: app
labels:
cto.platform/type: infrastructure-config
data:
DATABASE_URL: postgresql://app_user:$DB_PASSWORD@app-db-rw.databases.svc:5432/app
DATABASE_HOST: app-db-rw.databases.svc
DATABASE_PORT: "5432"
DATABASE_NAME: app
REDIS_URL: redis://app-cache.databases.svc:6379
REDIS_HOST: app-cache.databases.svc
REDIS_PORT: "6379"
S3_ENDPOINT: http://seaweedfs-filer.seaweedfs.svc:8333
S3_BUCKET: app-uploads
# Helm validation
helm lint ./chart
helm template ./chart --debug
# Kubernetes validation
kubectl diff -f manifest.yaml
kubeval manifest.yaml
# ArgoCD
argocd app diff app-name
# Check status
kubectl get all -n databases
kubectl get cluster -n databases -o wide
kubectl get redis -n databases
If provisioning fails:
kubectl logs -n operators -l app.kubernetes.io/name=<operator>kubectl describe cluster/app-db -n databaseskubectl get events -n databases --sort-by='.lastTimestamp'kubectl get storageclass mayastor