Skip to content

Home of the application.giantswarm.io CRDs: App, AppCatalog, AppCatalogEntry, Catalog, Chart.

License

Notifications You must be signed in to change notification settings

giantswarm/apiextensions-application

Repository files navigation

CircleCI

apiextensions-application

This repository defines the Giant Swarm Kubernetes APIs in the application.giantswarm.io group including the following:

  • App
  • AppCatalog (deprecated in favor of Catalog)
  • AppCatalogEntry
  • Catalog
  • Chart

Examples CRs for these can be found in the docs/cr directory.

Note: These APIs were originally defined in giantswarm/apiextensions and were moved here to simplify dependency graphs.

Code Generation

Code generation is used to generate:

  • DeepCopy methods for each Go type to satisfy the runtime.Object interface (zz_generated.deepcopy.go).
  • CRDs for each API in YAML format to be applied to a Kubernetes cluster before creating CRs using that API (config/crd).

Regenerate these files using make generate. Other options can be viewed in Makefile.custom.mk.

Additionally, example CRs are generated from code in Go tests using go test ./... -update.

Release Process

After creating a release the following steps are needed.

Update apiextensions

Update the reference in the apiextensions then run make generate in apiextensions. opsct ensure crds uses the master branch of the crds-common chart.

Update docs

Update the reference in the docs config.

Sync CRDs

All CRDs are embedded in apptestctl and the Chart CRD is embedded in app-operator.

apptestctl

$ make sync-crds

app-operator

$ make sync-chart-crd