Draft: OAK: add GitLab Relay as a component
Adds GitLab Relay (formerly KAS) as an OAK component: oak['components']['relay'] attributes and gitlab.rb.template docs, Oak::Relay.parse_variables (URL derivation, the guard against the bundled gitlab-kas, component databases, Redis and PostgreSQL exposure), an nginx vhost, a generated Helm values file whose header is the kubectl runbook, the secret and connection files under secrets_dir with pruning, and a BATS smoke test. The first two commits are cherry-picks of Jason Plum's OAK refactors from !9694 (merged) and !9696 (closed) and carry no Refs trailer.
MRs of this work:
- Draft: Add a Relay container image with the GLAZ engine linked in (gitlab-org/cluster-integration/gitlab-agent!4313 (merged))
- Draft: Add a Fairway-generated Helm chart for Relay (gitlab-org/cluster-integration/gitlab-agent!4315 (closed))
- Draft: Add a Relay fragment with AutoFlow on CNPG (gitlab-caproni!108 (closed))
- Draft: Add identified PostgreSQL databases, roles, and TLS to gitlab.infrastructure.v1 (protos!38 (closed))
- Draft: Mount several PostgreSQL databases, roles, and TLS Secrets from the infrastructure contract (gitlab-com/gl-infra/platform/runway/fairway!217)
- Draft: v2/postgres: select databases and roles from the infrastructure contract (labkit!666 (closed))
- Draft: Read autocore's databases from the Theseus infrastructure contract (gitlab-org/cluster-integration/gitlab-agent!4317)
- Draft: Declare several CloudSQL databases on a deployment and render them through one proxy sidecar (gitlab-com/gl-infra/platform/runway/runwayctl!1958)
- Draft: Switch the Relay chart to the infrastructure contract (gitlab-org/cluster-integration/gitlab-agent!4318)
- Draft: OAK: add GitLab Relay as a component (!9742 (closed))
- Draft: Document running Relay through OAK on a Linux package (gitlab-org/cluster-integration/gitlab-agent!4319)