Kubernetes
CL2–4Connects by parsing your kubeconfig and confirming with cluster-info — it manages existing clusters, not EKS/AKS/GKE provisioning itself. Emits manifests, Helm charts, and Kustomize overlays.
Because native drift comparison strips those bookkeeping fields before comparing, a routine controller update to them never gets reported as drift, but any change to spec fields you actually declared does.
- Kubernetes never emits Terraform — the code path that would build one deliberately throws.
- Native drift detection strips resourceVersion, uid, managedFields, and status before comparing live objects to declared ones, so routine API churn doesn't look like drift.
Capability maturity
- FinOps (cost sync)
- Drift detection
- Day-2 operations
- Brownfield import
- AI copilot
What NebulaStack actually generates for Kubernetes
The Kubernetes provider targets clusters you already operate: manifest and Helm generation, kubeconfig-based connection, drift via kubectl diff and typed client comparison, rollout wait/undo, informer watch, and applied-resource inventory. Provisioning managed clusters (EKS/AKS/GKE) is handled by the cloud provider's own Terraform module.
A minimal real resource
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
replicas: 3Under the hood
- backend/src/services/k8s/**
- backend/src/services/iac/k8s/**