| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Kubernetes operator that manages VM-backed pod lifecycles through two CRDs: CocoonSet (declarative agent groups) and CocoonHibernation (per-pod hibernate / wake requests).
Both reconcilers are built on controller-runtime and consume the typed CRD shapes shipped from cocoon-common/apis/v1.
Documentation: cocoonstack.github.io/cocoon-operator (source in docs/).
cocoon-operator/ ├── main.go # manager wiring + flag parsing ├── cocoonset/ # CocoonSet reconciler, pod builders, slot release, status diff ├── hibernation/ # CocoonHibernation reconciler ├── metrics/ # Prometheus collectors both reconcilers write to └── snapshot/ # snapshot.Registry interface consumed by both reconcilers
kubectl apply -k github.com/cocoonstack/cocoon-operator/config/default?ref=main
kubectl -n cocoon-system set env deploy/cocoon-operator \
OCI_REGISTRY=REGION-docker.pkg.dev/PROJECT/REPOFull steps, including the ADC-less sa-key overlay, in Installation.
make all # full pipeline: deps + fmt + lint + test + build
make build # build cocoon-operator binary
make test # vet + race-detected tests
make lint # golangci-lint on linux + darwin
make import-crds # refresh config/crd/bases from cocoon-common
make help # show all targetsThe Makefile detects Go workspace mode (go env GOWORK) and skips go mod tidy when active so cross-module references resolve through go.work without forcing a release of cocoon-common.
| Project | Role |
|---|---|
| cocoon-common | CRD types, annotation contract, shared helpers, and the OCI registry client |
| cocoon-webhook | Admission webhook for sticky scheduling and CocoonSet validation |
| vk-cocoon | Virtual kubelet provider managing VM lifecycle |
| Back | FazBrowse Home | New Git URL |