Skip to content

Platform Services

The platform layer deploys stateful middleware workloads inside the AKS cluster. These components provide search, caching, workflow orchestration, and relational storage that OSDU services consume via Kubernetes DNS.

Deployed via ECK (Elastic Cloud on Kubernetes) as a 3-node cluster with Kibana.

SettingValue
Nodes3 (one per availability zone)
StoragePersistent volumes via AKS default StorageClass
TLSInternal TLS enabled by ECK
AccessKubernetes DNS (elasticsearch-es-http.platform.svc)

OSDU search and indexer services connect to Elasticsearch for full-text indexing and query operations.

In-cluster Redis with 1 master and 2 replicas for caching. Deployed via Helm with Kustomize postrender for safeguards compliance.

SettingValue
Topology1 master + 2 replicas
TLSEnabled
AccessKubernetes DNS (redis-master.platform.svc)

OSDU services use Redis for caching partition information, entitlements, and schema data.

Deployed via CNPG (CloudNativePG) as a 3-instance HA cluster. Used exclusively by Apache Airflow for metadata storage.

SettingValue
Instances3 (HA with automatic failover)
PurposeAirflow metadata database
AccessKubernetes DNS (postgresql-rw.platform.svc)

Apache Airflow provides workflow orchestration for OSDU. Deployed via Helm with the Kubernetes executor.

SettingValue
ExecutorKubernetes (pods per task)
DatabaseCNPG PostgreSQL
DAG StorageAzure Storage (common account)

DAGs are versioned and synced from Azure Storage. The render-dags.ps1 script prepares DAG files, and download-dags.ps1 fetches community DAGs.

Services have explicit deployment ordering via Terraform depends_on:

Foundation (cert-manager, ECK, CNPG)
└── Platform Middleware
├── Elasticsearch (depends on ECK CRDs)
├── PostgreSQL (depends on CNPG CRDs)
├── Redis (standalone Helm)
└── Airflow (depends on PostgreSQL)
└── OSDU Services (depend on all middleware)

This ordering is enforced within a single Terraform state in software/spi-stack/.