-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Sandbox] CloudNativePG #128
Comments
Chiming in from https://tembo.io. We use CloudNativePG under the hood in our platform, and it's been excellent to work with. We're a small team, and we've been able to get a lot of value out of it. Working with @gbartolini and the team has been smooth, and they're always quick to respond to any questions we have. We feel the admission of CNPG into the CNCF Sandbox will help fuel the growth of the project and the surrounding community. We're excited to see where it goes from here! |
Chiming in from IBM. We use CloudNativePG as the embedded Postgres datastore for the wide portfolio of the IBM products running on Kubernetes/OpenShift platform across hybrid environments (customer-managed and running on Cloud). Working with the community, we appreciate CloudNativePG for its robustness and resiliency, delivering the value to the customers running Postgres database in thousands on Kubernetes clusters. The community is energetic, always helpful and always looking for the best way how to do things in the Kubernetes native way: @gbartolini @sxd @leonardoce and other fantastic community builders are great experts leading the efforts of making Postgres the first class citizen in the Kubernetes ecosystem. Admission of CNPG into CNCF Sandbox would elevate this community to the next level. Happy to be part of this journey. |
CloudNativePG team gave a presentation to TAG Storage on 9/25/2024. Here's the recording: https://www.youtube.com/watch?v=Nsu5Em8Ig88. cc @chira001 @raffaelespazzoli |
Managing a Kubernetes cluster is difficult, but managing databases in Kubernetes can be even more challenging. CloudNativePG makes this easier with features like direct management of PVCs instead of StatefulSets, online resizing, and volume snapshot backup and recovery. It also supports PostgreSQL management across different regions. As a DBA, I am pleased to use CloudNativePG thanks to these features. |
I discovered CloudNativePG in late 2021, which was called CNP back then, while searching for a database solution that would satisfy our devops team needs. In 2023 I met the team at Kubecon EU and asked how to support them? They told me, even if you are not a programmer yourself, use the operator, raise issues and don't be afraid to submit a PR if you find something e.g. in the documentation. I believe that accepting the CNCF Sandbox application will boost CloudNativePG adoption and CloudNativePG will help even more people like me to start an amazing journey. |
At Enix.io, we are absolutely in love with CloudnativePG! |
Thanks to cloudnative-pg, we have modernized our database hosting stack at Mirakl Kubernetes has been used for 7+ years for stateless applications. We were looking for a new hosting solution for PostgreSQL databases.
The project went fast
On the last months, several releases of The configuration of the
This project has very interesting features and it could be nice to add this operator in the CNCF ecosystem. |
Direct link to sandbox board |
Application contact emails
[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
Project Summary
CloudNativePG is a Kubernetes native database platform for PostgreSQL
Project Description
CloudNativePG is a comprehensive platform designed to streamline the management of PostgreSQL databases within cloud-native environments based on Kubernetes. The main component is the CloudNativePG operator. CloudNativePG automates the entire lifecycle of PostgreSQL clusters—from deployment to maintenance—while ensuring high availability, disaster recovery, and self-healing capabilities. Built with a "security-by-default" mindset, it integrates advanced security measures, along with robust observability features like Prometheus metrics and Grafana dashboards for monitoring.
By adhering to Infrastructure as Code (IaC) principles, CloudNativePG enables users to define and manage PostgreSQL clusters through declarative configuration, simplifying complex tasks like automated failover, scaling, and backups. The CloudNativePG operator leverages Kubernetes-native resources, such as volume snapshots, to ensure consistent and reliable database operations.
CloudNativePG also extends its functionality with additional components, including kubectl plugins, Helm charts, and OLM bundles, ensuring seamless integration into existing cloud-native workflows. Furthermore, its extensibility framework (CNPG-I) supports third-party plugins, enabling users to adapt the platform to specific needs. CloudNativePG meets the growing demand for scalable, secure, and highly available database solutions in modern cloud environments, serving the basis for AI, ML and Analytics applications.
Org repo URL (provide if all repos under the org are in scope of the application)
https://github.com/cloudnative-pg
Project repo URL in scope of application
https://github.com/cloudnative-pg/cloudnative-pg
Additional repos in scope of the application
Website URL
https://cloudnative-pg.io/
Roadmap
https://github.com/orgs/cloudnative-pg/projects/1
Roadmap context
We currently maintain a concise list of features for implementation, preferring a just-in-time approach to selecting tasks for upcoming releases. This method allows us to adapt dynamically, choosing features based on community feedback and conversations with customers of our primary sponsoring organization.
Contributing Guide
https://github.com/cloudnative-pg/cloudnative-pg/blob/main/CONTRIBUTING.md
Code of Conduct (CoC)
https://github.com/cloudnative-pg/cloudnative-pg/blob/main/CODE_OF_CONDUCT.md
Adopters
https://github.com/cloudnative-pg/cloudnative-pg/blob/main/ADOPTERS.md
Contributing or Sponsoring Org
https://www.enterprisedb.com/
Maintainers file
https://github.com/cloudnative-pg/governance/blob/main/MAINTAINERS.md
IP Policy
Trademark and accounts
Why CNCF?
We believe that contributing our project to the CNCF will allow it to benefit from the CNCF’s extensive community support and expertise, especially in the realm of cloud-native technologies. The CNCF community offers diverse perspectives and a strong ecosystem of contributors that will help push Postgres' capabilities in cloud-native environments. This collaboration will enable Postgres to evolve further and excel in scenarios where Kubernetes and cloud-native deployments are integral, broadening its use cases in modern architectures.
The CNCF provides a powerful framework of open governance, and our project’s core values align with them. By integrating with CNCF, the CloudNativePG community will gain guidance and support in expanding our contributor base and ensuring long-term sustainability. CNCF’s model ensures that projects remain fully open-source, keeping the freedom and accessibility principles intact for users worldwide. Being part of CNCF guarantees that our project will be free and available to anyone, built on a stack composed of Kubernetes, Postgres, and CloudNativePG, fostering worldwide innovation.
We chose the CNCF because it provides not only an infrastructure for open governance but also a strong ecosystem of interconnected projects and working groups (SIGs and TAGs) within Kubernetes. The ability to collaborate with other CNCF projects, such as Prometheus, Fluent Bit/Fluentd, Helm, Open Policy Agent, and cert-manager, will help improve the overall user experience of running Postgres in cloud-native environments. Furthermore, given the criticality of storage in database systems, we are keen to improve Kubernetes storage and cooperate with CNCF storage-related projects such as Longhorn, Rook, and OpenEBS (currently archived). This synergy will strengthen both our project and the broader CNCF ecosystem by driving innovation in database management in Kubernetes-based deployments.
Benefit to the Landscape
CloudNativePG will bring a native, Kubernetes-friendly approach to managing PostgreSQL databases in cloud-native environments, which fills a critical gap in the CNCF ecosystem. PostgreSQL is one of the most widely used open-source relational databases, and CloudNativePG offers seamless integration with Kubernetes to manage its lifecycle, including high availability, disaster recovery, and backup/restore functionalities. By adding CloudNativePG to the CNCF landscape, the project addresses a growing need for database solutions that natively support cloud-native principles like declarative configuration, scalability, and automation.
CloudNativePG’s differentiating factor is its Kubernetes-native architecture, designed from the ground up for cloud-native PostgreSQL workloads. Unlike other database management tools, CloudNativePG is fully integrated with Kubernetes' operator pattern, leveraging its APIs and controllers for managing Postgres clusters in a reliable, automated, and self-healing manner. This approach significantly reduces operational complexity for running Postgres in Kubernetes, aligning with CNCF’s mission to simplify and promote cloud-native applications.
In terms of enhancements, CloudNativePG strengthens the CNCF landscape by integrating with existing CNCF projects like Prometheus for monitoring, cert-manager for managing certificates, and Kubernetes-native storage solutions such as Rook, Longhorn and OpenEBS (currently archived). This enhances the overall cloud-native ecosystem by offering a cohesive, unified solution for running PostgreSQL in Kubernetes, particularly in enterprise and large-scale production environments.
Cloud Native 'Fit'
CloudNativePG extends the Kubernetes API using custom resource definitions (CRDs) in an operator pattern. The
Cluster
CRD is key, managing highly available PostgreSQL clusters with scalability, self-healing, and automated failover features. It integrates seamlessly with standard Kubernetes resources (pods, services, persistent volume claims, etc.), promoting Kubernetes-native database management.The project emphasizes declarative configuration, enabling users to manage PostgreSQL clusters as code through YAML manifests, Helm charts, or OLM bundles. This approach streamlines deployment and ensures consistent lifecycle management across environments, embodying the Infrastructure as Code (IaC) principle.
CloudNativePG also prioritizes observability, offering a customizable Prometheus exporter and exporting logs in JSON format. This allows integration with CNCF monitoring, alerting, and logging tools, providing real-time insights crucial for maintaining high availability in cloud-native environments.
Security is integral, following a "security by default" approach. It enforces best practices, including secure container policies and restricted PostgreSQL access, ensuring compliance in multi-cloud or hybrid setups.
Overall, CloudNativePG fits into the cloud-native landscape by providing a Kubernetes-native solution for PostgreSQL, emphasizing automation, observability, security, and declarative infrastructure.
Cloud Native 'Integration'
CloudNativePG depends:
CloudNativePG possibly integrates with:
Cloud Native Overlap
Currently, there is no overlap, as no CNCF project specifically manages PostgreSQL databases.
Similar projects
Vitess
Landscape
https://landscape.cncf.io/?item=app-definition-and-development--database--cloudnativepg
Business Product or Service to Project separation
This has already been addressed. EDB has donated the intellectual property (IP) to "The CloudNativePG Authors," and the project is licensed under Apache 2.0. Additionally, to avoid any potential trademark issues with the CNCF, the name "PostgreSQL" (a trademark of the PostgreSQL Community Association of Canada) has been removed from the project’s original name, which was initially "Cloud Native PostgreSQL."
Project presentations
Project champions
CNCF TAG Storage
Additional information
Running PostgreSQL in Kubernetes with CloudNativePG also contributes to the PostgreSQL project's growth and development. CloudNativePG enables seamless testing and integration of PostgreSQL's latest source code within Kubernetes, providing PostgreSQL developers with an efficient environment to test patches and new features. The project has already helped introduce a few patches and bug fixes to PostgreSQL, and the community actively supports DBAs looking to transition PostgreSQL deployments to Kubernetes.
The text was updated successfully, but these errors were encountered: