Giter VIP home page Giter VIP logo

ongres / stackgres Goto Github PK

View Code? Open in Web Editor NEW
846.0 14.0 50.0 50.27 MB

StackGres Operator, Full Stack PostgreSQL on Kubernetes // !! Mirror repository of https://gitlab.com/ongresinc/stackgres, only accept Merge Requests there.

Home Page: https://stackgres.io

License: GNU Affero General Public License v3.0

Shell 19.47% Java 51.71% HTML 0.01% JavaScript 3.73% CSS 1.12% PLpgSQL 1.49% Vue 22.30% Dockerfile 0.01% TSQL 0.02% Smarty 0.02% sed 0.01% jq 0.03% Makefile 0.06% Ruby 0.03%
postgres postgresql kubernetes kubernetes-operator java high-availability

stackgres's Introduction

StackGres

Enterprise Postgres made easy. On Kubernetes

StackGres

StackGres is a full-stack PostgreSQL distribution for Kubernetes, packed into an easy deployment unit. With a carefully selected and tuned set of surrounding PostgreSQL components.

An enterprise-grade PostgreSQL stack needs several other ecosystem components and significant tuning. It's not only PostgreSQL. It requires connection pooling, automatic failover and HA, monitoring, backups and DR, centralized logging… we have built them all: a Postgres Stack.

Postgres is not just the database. It is also all the ecosystem around it. If Postgres would be the Linux kernel, we need a PostgreSQL Distribution, surrounding PostgreSQL, to complement it with the components that are required for production deployment. This is what we call a PostgreSQL Stack. And the stack needs to be curated. There are often several software for the same functionality. And not all are of the same quality or maturity. There are many pros and cons, and they are often not easy to evaluate. It is better to have an opinionated selection of components, that can be packaged and configured to work together in a predictable and trusted way.

Getting Started

We recommend that you check our documentation and have a look at the Demo / Quickstart section to know how to start using StackGres.

Also, on our web https://stackgres.io/install/, you can get the one-line command to install StackGres.

Features

Community

Everybody is welcome in this open Community for StackGres, check out the different ways to collaborate:

  • Developer Documentation: If you are a Kubernetes Administrator or a Java Developer, you might want to contribute back to StackGres, either by testing it, developing Kubernetes code (Helm, architecture) or Java’s core operator.
  • Public dashboards: If you want to see what’s coming down the road, check our issues. They are open so you can create issues yourself or comment on open issues. We welcome feedback, ideas and collaborations!
  • Join the Slack & Discord Community becoming an advocate, user, tester or contributor of StackGres.

Code of Conduct

To ensure a more open and welcoming community, StackGres adheres to a Code of Conduct, and everyone involved in the projects, issues, chat rooms, and any other official communication channel, is expected to follow it.

Contributor Covenant

About the Operator

This repository holds one of the major components around StackGres and is the StackGres Operator build around Kubernetes. An Operator is a method of packaging, deploying and managing a Kubernetes application. Some applications, such as databases, required more hand-holding, and a cloud-native Postgres requires an operator to provide additional knowledge of how to maintain state and integrate all the components.

This operator is built in pure-Java and uses the Quarkus framework a Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot, crafted from the best of breed Java libraries and standards.

The container image of StackGres is built on Red Hat Universal Base Image and compiled as a native binary with GraalVM allowing amazingly fast boot time and incredibly low RSS memory.


FAQ

Is StackGres a modified version of Postgres?

No. StackGres contains PostgreSQL, plus several other components (such as connection pool or automatic high availability software) from the PostgreSQL ecosystem. All of them are vanilla versions, as found in their respective open source repositories, including PostgreSQL. Any application that runs against a PostgreSQL database should work as-is.

How is StackGres software licensed?

StackGres source code is licensed under the OSI-approved open source license GNU Affero General Public License version 3 (AGPLv3). All the source code is available on this repository.

Is there a StackGres commercial license that is “GPL-free”?

Yes. Contact us if you want a trial or commercial license that does not contain the GPL clauses. Will you ever switch from an open-source license to a source-available one? Our promise is that no, this won’t happen. We respect others who switch to or are directly built as source-available software, but we don’t follow this approach. We love the concept of GitLab’s stewardship, and in the same spirit, we promise here that StackGres will always be open source software.

What PostgreSQL versions are supported?

As of now, PostgreSQL major version 12 and 13. As a general rule, StackGres will support the last 2 Postgres version.

Where does it run?

StackGres has been designed to run on any Kubernetes-certified platform. Whether is a Kubernetes-as-a-Service offered by a cloud provider or a distribution running on-premise, StackGres should run as-is.

How is HA implemented?

High Availability and automatic failover are based on Patroni, a well-reputed and trusted software for PostgreSQL. No external DCS (Distributed Consistent Storage) is required, as it relies on K8s APIs for this (which in turns reach etcd).

Why is used UBI as the base image for StackGres?

Red Hat Universal Base Images (UBI) are OCI-compliant container base operating system images with complementary runtime languages and packages that are freely redistributable. UBI lets developers create the image once and deploy anywhere using enterprise-grade packages. For more information read the official UBI-FAQ.


   _____ _             _     _____
  / ____| |           | |   / ____|
 | (___ | |_ __ _  ___| | _| |  __ _ __ ___  ___
  \___ \| __/ _` |/ __| |/ / | |_ | '__/ _ \/ __|
  ____) | || (_| | (__|   <| |__| | | |  __/\__ \
 |_____/ \__\__,_|\___|_|\_\\_____|_|  \___||___/
                                  by OnGres, Inc.

stackgres's People

Contributors

3manuek avatar ahachete avatar alvaromlg avatar bobymcbobs avatar christopedro avatar fabriziomello avatar fcsantiago avatar gelias avatar jfinotto avatar jorsol avatar kadaffy avatar lgarciaog avatar olesyaog avatar sancfc avatar sdaschner avatar sebastianwebber avatar teoincontatto avatar wearesoulful avatar xaviersierra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.