Skip to main content

Organization Domain

The Organization domain manages teams and groups within the Control Plane. It is responsible for onboarding teams and automatically provisioning the resources they need to start working with the platform.

Custom Resources

Group

Group is the Schema for the groups API.

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

GroupSpec

Appears in: Group

GroupSpec defines the desired state of Group.

FieldTypeDefaultValidation
descriptionstringRequired, minLength: 1
displayNamestringRequired, minLength: 1

GroupStatus

Appears in: Group

GroupStatus defines the observed state of Group.

FieldTypeDefaultValidation
conditionsCondition[]Optional

Condition

Appears in: GroupStatus, TeamStatus

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])$

Team

Team is the Schema for the teams API.

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

TeamSpec

Appears in: Team

TeamSpec defines the desired state of Team.

FieldTypeDefaultValidation
categorystringCustomerRequired, Enum: Customer \| Infrastructure
emailstringRequired, Format: email, minLength: 1
groupstringRequired, minLength: 1, pattern: ^[a-z0-9]+(-?[a-z0-9]+)*$
membersMembers[]Required, minItems: 1
namestringRequired, minLength: 1, pattern: ^[a-z0-9]+(-?[a-z0-9]+)*$
secretstringOptional
teamTokenstringOptional

Members

Appears in: TeamSpec

Members is the members of the team

FieldTypeDefaultValidation
emailstringRequired, Format: email, minLength: 1
namestringRequired, minLength: 1

TeamStatus

Appears in: Team

TeamStatus defines the observed state of Team.

FieldTypeDefaultValidation
conditionsCondition[]Optional
gatewayConsumerRefObjectRefOptional
identityClientRefObjectRefOptional
namespacestringRequired
notificationChannelRefObjectRefOptional
notificationsRefmap<string, object>Optional
teamTokenstringOptional

ObjectRef

Appears in: TeamStatus

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

Auto-Provisioning

When a Team is created, the Organization operator automatically provisions:

  • A dedicated namespace{environment}--{group}--{team}
  • An Identity Client — for authenticating with the platform
  • A Gateway Consumer — for accessing APIs through the gateway
  • A Notification Channel — for receiving platform notifications
  • A Team Token — for CLI authentication with Rover-CTL

Domain Interactions

  • Identity domain — Creates identity clients for each team.
  • Gateway domain — Creates gateway consumers for each team.
  • Notification domain — Creates notification channels and sends lifecycle notifications (onboarding, token rotation, member changes).
  • Secret Manager — Handles credential storage and rotation for team tokens.