Skip to main content

Data Services Naming Standards

Purpose: For contributors, provides naming conventions for data services products, platforms, artifacts, and APIs.

Overview

These naming standards apply to all data services in the openCenter portfolio. They are derived from ADR-004 and ensure consistency across documentation, GitOps manifests, CLI output, and customer-facing materials.

Product Names

Use the full product name in documentation, sales materials, and customer-facing UI. Do not abbreviate.

ProductCorrect NameIncorrect
Managed KafkaopenCenter Managed KafkaOC Kafka, Managed Kafka (without prefix), Strimzi Kafka
Managed PostgreSQLopenCenter Managed PostgreSQLOC Postgres, Managed PG, PostgreSQL Service

When referring to the product after first use in a document, "Managed Kafka" or "Managed PostgreSQL" is acceptable as a short form. Do not use "Kafka" alone when referring to the openCenter service — it is ambiguous with upstream Apache Kafka.

Blueprint Names

Blueprints are versioned deployment specifications. Use kebab-case for blueprint identifiers.

PatternExample
managed-<service>-v<major>managed-kafka-v1
managed-<service>-v<major>managed-postgresql-v1

Blueprint names appear in:

  • GitOps repository paths
  • FluxCD Kustomization names
  • CLI output (opencenter cluster commands)
  • Release tags

Namespace Pattern

Data services use the data-<service> namespace pattern:

ServiceNamespace
Kafkadata-kafka
PostgreSQLdata-postgresql
Schema Registrydata-schema-registry

The namespace is created by the service blueprint and should not be shared with other workloads. One namespace per service instance.

CRD Naming

CRD names follow the upstream operator conventions. Do not rename or alias them.

OperatorCRDs
StrimziKafka, KafkaTopic, KafkaUser, KafkaConnect, KafkaMirrorMaker2
postgres-operatorpostgresql, postgresqlbackup (operator-specific — confirm with selected operator)

When referencing CRDs in documentation, use the exact API kind (e.g., KafkaTopic, not "Kafka Topic" or "kafka topic").

Kubernetes Resource Names

Resource TypePatternExample
Kafka cluster CR<environment>production, staging
KafkaTopic<domain>-<entity> or <team>-<entity>orders, payments-events
KafkaUser<app>-<role>billing-producer, analytics-consumer
ServiceMonitorkafka-brokerskafka-brokers
ConfigMap (metrics)kafka-metricskafka-metrics
Secret (client certs)Auto-generated by Strimzi, matches KafkaUser namebilling-producer

GitOps Repository Paths

Data service manifests live under the managed-services/ directory in customer overlays:

applications/overlays/<cluster>/
├── managed-services/
│ ├── kafka/
│ │ ├── kustomization.yaml
│ │ ├── kafka-cluster.yaml
│ │ ├── kafka-metrics-config.yaml
│ │ └── topics/
│ │ ├── orders.yaml
│ │ └── events.yaml
│ └── postgresql/
│ ├── kustomization.yaml
│ └── postgresql-cluster.yaml

FluxCD Resource Names

ResourcePatternExample
GitRepository (operator source)opencenter-<service>-operatoropencenter-strimzi-operator
Kustomization (operator)<service>-operatorstrimzi-operator
Kustomization (service)managed-<service>managed-kafka

Helm Release Names

When data services use Helm charts (e.g., the Strimzi operator chart):

ReleaseNamespaceChart
strimzi-operatordata-kafkastrimzi/strimzi-kafka-operator

Docker Image Tags

Images are pinned to specific versions and mirrored through Harbor. Do not use latest or mutable tags.

ImageTag PatternExample
Strimzi operator<strimzi-version>quay.io/strimzi/operator:0.40.0
Kafka broker<strimzi-version>-kafka-<kafka-version>quay.io/strimzi/kafka:0.40.0-kafka-3.7.0

In air-gap environments, these images are available from the Harbor mirror at <harbor-host>/strimzi/operator:0.40.0.

Documentation References

When linking between data services docs, use relative paths:

See [Deploying Kafka](./kafka-deploy.md) for provisioning steps.

When referencing ADR-004 from documentation:

This follows the blueprint model defined in ADR-004.