Skip to content

Reference

Audience: Platform engineer, Tenant operator

Field-level reference for the GitHub Actions Gateway (GAG) custom resources, generated from the API source rather than written by hand.

Page What's in it
api.md Every field of every actions-gateway.com/v2 kind: type, description, default, and validation constraints.

For what the kinds are for — how an ActionsGateway, RunnerSet, RunnerTemplate, and EgressProxy compose into a working tenant — read design § API & data contracts and operations § Tenant onboarding first. The reference answers "what does this field do?", not "which objects do I need?".

Which API versions this covers

actions-gateway.com/v2 only: the General Availability (GA) version, the storage version from 1.10, and the one every new install should use.

The cluster serves four versions today, and the other three are removed in v2.0.0:

Version Status Where to go
actions-gateway.com/v2 Served, storage version, current api.md
actions-gateway.com/v2beta1 Served, removed in v2.0.0 Deprecations & the v2.0.0 removal
actions-gateway.com/v2alpha1 Deprecated, removed in v2.0.0 Deprecations & the v2.0.0 removal
actions-gateway.github.com/v1alpha1 Deprecated, removed in v2.0.0 Migrate v1 → v2

A version on its way out documented field by field beside the current one reads as a supported choice. v2beta1's shape is v2's apart from the deprecated CiliumFQDN/CalicoFQDN egressPolicyMode values, and v2alpha1's adds two RunnerSet fields the conversion webhook round-trips. Operators still on either deprecated version get their field docs from kubectl explain, which reads the schema the running cluster serves:

kubectl explain actionsgateway.spec --api-version=actions-gateway.com/v2alpha1

How it stays current

api.md is generated by crd-ref-docs from the Go doc comments and +kubebuilder validation markers in api/v2 — the same source controller-gen turns into the CustomResourceDefinition (CRD) schemas. It cannot describe a field the API does not have, and it cannot go stale silently: make check runs make api-reference-check, which regenerates the page and fails when the committed copy differs.

Fixing a wrong description means editing the Go doc comment, then:

make api-reference

Details, including which knobs the generation takes and when to bump the Kubernetes version its embedded-type links point at, are in code-generation.md § The generated API reference.