BlanketOps Environments API defines the canonical Kubernetes API contracts
for BlanketOps Environments.
This repository contains versioned Custom Resource Definitions (CRDs) and their corresponding Go types. It is the source of truth for all environment, build, event, and source APIs used by BlanketOps components.
This repository is currently private (expected for a week or two). Until
it's public, go get/go mod download needs to skip the public module proxy
and checksum database for this path, and authenticate via git:
export GOPRIVATE=github.com/blanketops/*
git config --global url."git@github.com:".insteadOf "https://github.com/"Requires an SSH key registered with GitHub and access to the blanketops
org. Drop both once the repo goes public.
This repository:
- defines Kubernetes API schemas
- owns CRD generation
- provides Go types for consumers
- enforces semantic versioning of contracts
It is a contract repository, not a runtime.
This repository does not:
- run controllers
- build container images
- deploy to clusters
- define RBAC, managers, or webhooks
- contain reconciliation logic
Those concerns live in downstream projects.
Currently supported API groups:
environments.blanketops.dev/v1alpha1events.blanketops.dev/v1alpha1networks.blanketops.dev/v1alpha1sources.blanketops.dev/v1alpha1
All APIs are currently alpha and may change in backward-incompatible ways until stabilized.
This repository follows semantic versioning at the contract level.
v1alpha1— experimental, breaking changes allowedv1beta1— feature complete, limited breaking changesv1— stable, backward-compatible
Once an API version is stabilized, it is append-only.
Breaking changes require a new API version.
CRDs and deepcopy code are generated using controller-gen, invoked via
mage targets (this repo has no Makefile).
To generate all artifacts:
mage generate
mage manifests