UNCLASSIFIED - NO CUI

Skip to content

SPIKE - CloudNativePG / Bitnami Postgres Replacement

Goal

This SPIKE is to investigate and confirm that the CloudNativePG operator can robustly manage multiple, independent PostgreSQL database clusters within a single Kubernetes environment. The goal is to simulate a common scenario where at least two different Big Bang packages, each requiring its own PostgreSQL database, are deployed concurrently. We must verify that the single operator can create, manage, and isolate these database instances without conflict.

Main Driver

The primary driver for this investigation is the strategic initiative to deprecate the Bitnami PostgreSQL Helm chart and its associated images across the platform. By proving CloudNativePG can serve as a multi-tenant DBaaS solution, we can confidently standardize on it for all PostgreSQL needs. This will simplify our technology stack, reduce maintenance overhead, and allow all applications to benefit from the advanced, cloud-native features of an operator-based solution (e.g., automated failover, backups, and day-2 operations).

Testing Plan & Success Criteria

The investigation will proceed by deploying multiple Big Bang packages that have been configured to use CloudNativePG for their database backend. The SPIKE is considered successful if all the following criteria are met:

  1. Environment Setup: A test cluster is bootstrapped with Big Bang and the CloudNativePG operator is running and healthy.

  2. Deploy First Package: A Big Bang package requiring a PostgreSQL database is deployed.

    • Verification: A Cluster custom resource (clusters.postgresql.cnpg.io) is created in the package's namespace, and its corresponding database pods are running and healthy.
  3. Deploy Second Package: A second, different Big Bang package requiring its own PostgreSQL database is deployed onto the same cluster.

    • Verification: A new and separate Cluster custom resource is created in the second package's namespace. Its database pods are created and run independently of the first package's database.
  4. Final System Validation:

    • Both deployed Big Bang packages become fully operational, indicating successful connections to their respective databases.
    • The CloudNativePG operator pod remains stable and its logs show no errors related to managing multiple, distinct Cluster resources.
    • There are no resource conflicts between the two database deployments (e.g., service names, PersistentVolumeClaims, etc.).
    • The findings, including configuration steps and verification commands, are documented to confirm this capability for future use.
Edited by Matt Vasquez