Skip to main content

Admin Domain

The Admin domain manages the foundational infrastructure of the Control Plane — environments, zones, and remote organizations (planned feature). These resources define where applications are deployed and how different cloud environments are connected.

This domain is typically managed by platform administrators, not application teams.

Custom Resources

Environment

Environment is the Schema for the environments API

Group: admin.cp.ei.telekom.de · Version: v1 · Scope: Namespaced

EnvironmentSpec

Appears in: Environment

EnvironmentSpec defines the desired state of Environment

FieldTypeDefaultValidation
realmNamestringOptional, maxLength: 63, pattern: ^[a-z0-9]+(-[a-z0-9]+)*$

EnvironmentStatus

Appears in: Environment

EnvironmentStatus defines the observed state of Environment

FieldTypeDefaultValidation
conditionsCondition[]Optional

Condition

Appears in: EnvironmentStatus, RemoteOrganizationStatus, ZoneStatus

FieldTypeDefaultValidation
lastTransitionTimestringRequired, Format: date-time
messagestringRequired, maxLength: 32768
observedGenerationintegerOptional, Format: int64, minimum: 0
reasonstringRequired, minLength: 1, maxLength: 1024, pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
statusstringRequired, Enum: True \| False \| Unknown
typestringRequired, maxLength: 316, pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$

RemoteOrganization

RemoteOrganization is the Schema for the remoteorganizations API

Group: admin.cp.ei.telekom.de · Version: v1 · Scope: Namespaced

RemoteOrganizationSpec

Appears in: RemoteOrganization

RemoteOrganizationSpec defines the desired state of RemoteOrganization

FieldTypeDefaultValidation
clientIdstringRequired
clientSecretstringRequired
idstringRequired
issuerUrlstringRequired
urlstringRequired
zoneObjectRefRequired

ObjectRef

Appears in: RemoteOrganizationSpec, ZoneStatus

ObjectRef is a reference to a Kubernetes object It is similar to types.NamespacedName but has the required json tags for serialization

FieldTypeDefaultValidation
namestringRequired
namespacestringRequired
uidstringOptional

RemoteOrganizationStatus

Appears in: RemoteOrganization

RemoteOrganizationStatus defines the observed state of RemoteOrganization

FieldTypeDefaultValidation
conditionsCondition[]Optional
namespacestringRequired

Zone

Zone is the Schema for the zones API Group is the Schema for the groups API.

Group: admin.cp.ei.telekom.de · Version: v1 · Scope: Namespaced

ZoneSpec

Appears in: Zone

ZoneSpec defines the desired state of Zone

FieldTypeDefaultValidation
aiGatewayAiGatewayOptional
externalIdPoliciesExternalIdPolicy[]Optional, maxItems: 16
gatewayAiGatewayRequired
identityProviderIdentityProviderRequired
managedRoutesManagedRoutesConfigOptional
permissionsPermissionsOptional
redisRedisOptional
visibilitystringRequired, Enum: World \| Enterprise

AiGateway

Appears in: ZoneSpec

AiGateway configures a dedicated AI Gateway for this zone. When present, the zone supports MCP exposures routed through a separate gateway with streaming support (buffering disabled).

FieldTypeDefaultValidation
adminAdminRequired
presetsPresets[]Required, minItems: 1, maxItems: 5

Admin

Appears in: AiGateway

Admin contains the admin credentials for the AI Gateway.

FieldTypeDefaultValidation
clientIdstringOptional
clientSecretstringOptional
urlstringRequired, Format: uri

Presets

Appears in: AiGateway

Presets defines a list of gateway configuration presets for the AI Gateway. Same structure as the regular gateway presets, allowing feature-based preset selection.

FieldTypeDefaultValidation
defaultbooleanfalseRequired
featuresFeatures[]Optional
namestringRequired, pattern: ^[aA-zZ0-9]+(-?[aA-zZ0-9]+)*$
urlsUrls[]Required, minItems: 1, maxItems: 5

Features

Appears in: Presets, ZoneStatus

Features is a list of features that are enabled on this Preset. This can be used to enable certain features on the zone when this preset is applied.

FieldTypeDefaultValidation
enabledbooleanRequired
namestringRequired

Urls

Appears in: Presets

Urls defines a list of URLs (hostname + base path) that should be exposed by the gateway for this zone. At least one URL is required.

FieldTypeDefaultValidation
basePathstringRequired, pattern: ^/.*$
hiddenbooleanRequired
hostnamestringRequired, maxLength: 253
portintegerOptional, Format: int32, minimum: 1, maximum: 65535
schemestringhttpsOptional, Enum: http \| https

ExternalIdPolicy

Appears in: ZoneSpec

ExternalIdPolicies configures, per identifier scheme, the format and presence requirements for externalIds on Rovers and Applications bound to this zone. Empty means no enforcement for any scheme.

FieldTypeDefaultValidation
patternstringRequired, minLength: 1
requiredbooleanfalseRequired
schemestringRequired, minLength: 1, maxLength: 32, pattern: ^[a-z][a-z0-9]*$

IdentityProvider

Appears in: ZoneSpec

FieldTypeDefaultValidation
adminZoneAdminRequired
secretRotationSecretRotationOptional
urlstringRequired, Format: uri

ZoneAdmin

Appears in: IdentityProvider

FieldTypeDefaultValidation
clientIdstringRequired
passwordstringRequired
urlstringOptional, Format: uri
userNamestringRequired

SecretRotation

Appears in: IdentityProvider

SecretRotation contains the config for rotating secrets related to the default identity provider realm of this zone. If not set, secret rotation will be disabled.

FieldTypeDefaultValidation
enabledbooleanRequired
expirationPeriodstringRequired
gracePeriodstringRequired
notificationThresholdsNotificationThresholds[]Required, minItems: 1

NotificationThresholds

Appears in: SecretRotation

NotificationThresholds defines the schedule of reminder notifications before secret expiry. Each entry triggers a notification when the remaining time-to-expiry crosses that threshold. Only the tightest (smallest) matching threshold is evaluated per reconciliation cycle to avoid spamming. Example: [{before: "720h"}, {before: "168h", repeat: "24h"}] → single reminder at 30 days, then daily reminders starting at 7 days.

FieldTypeDefaultValidation
beforestringRequired
repeatstringOptional

ManagedRoutesConfig

Appears in: ZoneSpec

ManagedRoutesConfig defines the configuration for managed routes in a zone. Managed routes are automatically created and managed by the system based on this configuration.

FieldTypeDefaultValidation
routesRoutes[]Optional

Routes

Appears in: ManagedRoutesConfig

Routes is the list of routes to be created for this zone. It may be used to create additional routes that are required for operating the zone

FieldTypeDefaultValidation
namestringRequired, pattern: ^[a-z0-9]+(-?[a-z0-9]+)*$
pathstringRequired, pattern: ^/.*$
typestringRequired, Enum: TeamAPI \| Proxy
urlstringRequired, Format: uri

Permissions

Appears in: ZoneSpec

Permissions configuration for permission service integration

FieldTypeDefaultValidation
apiBasePathstringRequired, pattern: ^/.*
consoleUrlstringOptional, Format: uri

Redis

Appears in: ZoneSpec

FieldTypeDefaultValidation
enableTLSbooleanOptional
hoststringRequired
passwordstringOptional
portinteger6379Optional, minimum: 1, maximum: 65535

ZoneStatus

Appears in: Zone

ZoneStatus defines the observed state of Zone

FieldTypeDefaultValidation
aiGatewayObjectRefOptional
conditionsCondition[]Optional
featuresFeatures[]Optional
gatewayObjectRefOptional
gatewayAdminClientObjectRefOptional
gatewayConsumerObjectRefOptional
identityProviderObjectRefOptional
identityRealmObjectRefOptional
internalIdentityRealmObjectRefOptional
linksLinksOptional
managedRoutesObjectRef[]Optional
namespacestringOptional
realmNamestringOptional
teamApiIdentityRealmObjectRefOptional

Appears in: ZoneStatus

FieldTypeDefaultValidation
gatewayIssuerstringRequired, Format: uri
gatewayLmsIssuerstringOptional, Format: uri
gatewayUrlstringRequired, Format: uri
internalIssuerstringOptional, Format: uri
permissionsUrlstringOptional, Format: uri
teamApiIssuerstringOptional, Format: uri

Zone Provisioning

When a Zone is reconciled, the Admin operator bootstraps everything the zone needs to operate — so administrators no longer have to create these building blocks by hand. This includes the identity realms and the gateway admin client described below.

Identity realms and the rover client

Each zone gets two identity realms in its identity provider:

  • A default identity realm (named after the environment) — used for normal API consumers and providers. It carries the zone's token claims (originZone, originStargate, clientId).
  • An internal rover realm — used only for admin-config clients that the platform itself needs.

Inside the internal realm, the operator creates the rover client — the OAuth2 client the Gateway operator uses to authenticate against the gateway's admin API (its issuer is …/auth/realms/rover).

Both the realm and the client are created on every zone reconciliation — they are not optional and there is no flag to disable them. The only related input is gateway.admin.clientSecret: if you leave it empty the secret is generated for you (see Secret onboarding); if you supply one it becomes the rover client's secret.

Previously a manual step

The rover realm and rover client used to be created by hand during zone setup. The Zone handler now provisions both automatically on every reconcile.

Secret onboarding (defaulting webhook)

A Zone defaulting webhook processes a zone's sensitive fields before the resource is stored — the IDP admin password, the Redis password, and the gateway admin client secret.

  • When Secret-Manager is enabled, the webhook uploads each value to Secret-Manager under a zones/<zone>/admin/... path and replaces the clear-text value in the Zone with a secret reference.
  • When Secret-Manager is disabled, the same secrets are generated inline and kept on the resource.

Either way, you can leave a secret field empty to have one generated for you, or set it to the rotate keyword to force a new value. On updates, omitting a secret preserves the existing one, so re-applying a Zone never regenerates secrets by accident.

See Secret Manager Domain for how references are stored and resolved, and Admin Journey: Environments & Zones for the operator-facing guide.

Domain Interactions

  • Gateway domain — Zones define which gateway instance is used. The Gateway operator reads the zone's gateway configuration (presets, URLs, features) when provisioning routes. Managed routes (TeamAPI and Proxy) are created directly by the zone handler.
  • Identity domain — Zones define which identity provider is used. The Identity operator reads the zone's IDP configuration when provisioning clients and realms. The zone handler creates a default identity realm with token claims (originZone, originStargate, clientId) and the internal rover realm (with the rover gateway admin client) for admin-config clients.
  • Organization domain — Teams are created within environments. Zones determine where team resources are provisioned. If a zone has TeamAPI-type managed routes, a team-api identity realm is created for team-facing APIs.
  • Event domain — EventConfig resources reference zones for event routing and meshing.
  • Secret Manager domain — The Zone defaulting webhook onboards zone secrets (IDP admin password, Redis password, gateway admin client secret) and stores references instead of clear-text values.