• Stars
    star
    326
  • Rank 129,064 (Top 3 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated 16 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Percona Operator for MongoDB

Percona Operator for MongoDB

Percona Kubernetes Operators

License Docker Pulls Docker Image Size (latest by date) GitHub tag (latest by date) GitHub go.mod Go version Go Report Card

Percona Server for MongoDB (PSMDB) is an open-source enterprise MongoDB solution that helps you to ensure data availability for your applications while improving security and simplifying the development of new applications in the most demanding public, private, and hybrid cloud environments.

Based on our best practices for deployment and configuration, Percona Operator for MongoDB contains everything you need to quickly and consistently deploy and scale Percona Server for MongoDB instances into a Kubernetes cluster on-premises or in the cloud. It provides the following capabilities:

  • Easy deployment with no single point of failure
  • Sharding support
  • Scheduled and manual backups
  • Integrated monitoring with Percona Monitoring and Management
  • Smart Update to keep your database software up to date automatically
  • Automated Password Rotation – use the standard Kubernetes API to enforce password rotation policies for system user
  • Private container image registries

Architecture

Percona Operators are based on the Operator SDK and leverage Kubernetes primitives to follow best CNCF practices.

Please read more about architecture and design decisions here.

Quickstart installation

Helm

Install the Operator:

helm install my-op percona/psmdb-operator

Install Percona Server for MongoDB:

helm install my-db percona/psmdb-db

See more details in:

kubectl

It usually takes two steps to deploy Percona Server for MongoDB on Kubernetes:

Deploy the operator from deploy/bundle.yaml:

kubectl apply --server-side -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/main/deploy/bundle.yaml

Deploy the database cluster itself from `deploy/cr.yaml

kubectl apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/main/deploy/cr-minimal.yaml

See full documentation with examples and various advanced cases on percona.com.

Contributing

Percona welcomes and encourages community contributions to help improve Percona Kubernetes Operator for Percona Server for MongoDB.

See the Contribution Guide and Building and Testing Guide for more information.

Join Percona Kubernetes Squad!

                    %                        _____                
                   %%%                      |  __ \                                          
                 ###%%%%%%%%%%%%*           | |__) |__ _ __ ___ ___  _ __   __ _             
                ###  ##%%      %%%%         |  ___/ _ \ '__/ __/ _ \| '_ \ / _` |            
              ####     ##%       %%%%       | |  |  __/ | | (_| (_) | | | | (_| |            
             ###        ####      %%%       |_|   \___|_|  \___\___/|_| |_|\__,_|           
           ,((###         ###     %%%        _      _          _____                       _
          (((( (###        ####  %%%%       | |   / _ \       / ____|                     | | 
         (((     ((#         ######         | | _| (_) |___  | (___   __ _ _   _  __ _  __| | 
       ((((       (((#        ####          | |/ /> _ </ __|  \___ \ / _` | | | |/ _` |/ _` |
      /((          ,(((        *###         |   <| (_) \__ \  ____) | (_| | |_| | (_| | (_| |
    ////             (((         ####       |_|\_\\___/|___/ |_____/ \__, |\__,_|\__,_|\__,_|
   ///                ((((        ####                                  | |                  
 /////////////(((((((((((((((((########                                 |_|   Join @ percona.com/k8s   

You can get early access to new product features, invite-only ”ask me anything” sessions with Percona Kubernetes experts, and monthly swag raffles. Interested? Fill in the form at percona.com/k8s.

Roadmap

We have an experimental public roadmap which can be found here. Please feel free to contribute and propose new features by following the roadmap guidelines.

Submitting Bug Reports

If you find a bug in Percona Docker Images or in one of the related projects, please submit a report to that project's JIRA issue tracker. Learn more about submitting bugs, new features ideas and improvements in the Contribution Guide.

More Repositories

1

grafana-dashboards

PMM dashboards for database monitoring
JavaScript
2,656
star
2

percona-xtrabackup

Open source hot backup tool for InnoDB and XtraDB databases
C++
1,159
star
3

mongodb_exporter

A Prometheus exporter for MongoDB including sharding, replication and storage engines
Go
1,146
star
4

percona-server

Percona Server
C++
1,127
star
5

percona-toolkit

Percona Toolkit: a collection of advanced open source command-line tools.
Perl
878
star
6

tokudb-engine

Percona TokuDB is a high-performance, write optimized, compressing, transactional storage engine for Percona Server. Issue tracker: https://tokutek.atlassian.net/browse/DB/ Wiki: https://github.com/Percona/tokudb-engine/wiki Downloads:
C++
649
star
7

pmm

Percona Monitoring and Management: an open source database monitoring, observability and management tool
Go
587
star
8

PerconaFT

PerconaFT is a high-performance, transactional key-value store
C++
553
star
9

percona-xtradb-cluster-operator

Percona Operator for MySQL based on Percona XtraDB Cluster
Go
520
star
10

pg_stat_monitor

Query Performance Monitoring Tool for PostgreSQL
Perl
454
star
11

percona-xtradb-cluster

A High Scalability Solution for MySQL Clustering and High Availability
C++
340
star
12

percona-docker

Collection of Dockerfiles for Percona software. See individual directories for more details.
Shell
295
star
13

percona-postgresql-operator

Percona Operator for PostgreSQL
Go
272
star
14

percona-backup-mongodb

Percona Backup for MongoDB
Go
265
star
15

go-mysql

Go packages for MySQL
Go
231
star
16

pmm-server

PMM Server
186
star
17

proxysql-admin-tool

ProxySQL Admin
Shell
143
star
18

percona-server-mysql-operator

Percona Operator for MySQL
Go
136
star
19

percona-monitoring-plugins

Percona Monitoring Plugins
PHP
134
star
20

percona-helm-charts

Collection of Helm charts for Percona Kubernetes Operators.
Mustache
118
star
21

pg_tde

Transparent Data Encryption for PostgreSQL
C
112
star
22

proxysql_exporter

Prometheus exporter for ProxySQL performance data.
Go
105
star
23

everest

Percona Everest is a cloud-native database platform to deploy and manage enterprise-grade PostgreSQL, MongoDB and MySQL database clusters.
TypeScript
100
star
24

xtradb-cluster-tutorial

PXC Tutorial (Deprecated)
Ruby
77
star
25

pmm-client

PMM Client for 1.x
Go
65
star
26

pmm-doc

Percona Monitoring and Management (PMM) Technical Documentation
HTML
41
star
27

Percona-TokuBackup

C++
39
star
28

pmm-managed

pmm-managed manages configuration of PMM server components and exposes API for that.
Go
36
star
29

tokudb-backup-plugin

Percona TokuBackup -- moved to Percona Server, but this is kept for the commit history
C++
36
star
30

pmm-agent

pmm-agent for PMM 2.x.
Go
35
star
31

everest-operator

Percona Everest Operator
Go
30
star
32

orchestrator

Go
30
star
33

awesome-pmm

A curated list of awesome Percona Monitoring and Management (PMM) free and opensource software, libraries and resources.
29
star
34

jemalloc

C
26
star
35

everest-doc

Everest Doc
HTML
25
star
36

community

Percona Community repository. Join us on Percona.community and the Percona Forums at forums.percona.com.
HTML
23
star
37

qan-agent

Query Analytics Agent for PMM
Go
22
star
38

promconfig

Go package for Prometheus configuration file parsing and generation without dependencies.
Go
22
star
39

sysbench-scripts

Lua
21
star
40

support-snippets

Snippets Collections from support
Shell
20
star
41

psmdb-docs

Percona Server for MongoDB documentation
HTML
20
star
42

grafana-app

Percona app for Grafana
JavaScript
19
star
43

percona-everest-backend

Go
17
star
44

psmysql-docs

Percona Server for MySQL
HTML
17
star
45

qan-api

Query Analytics API for PMM 1.x
Go
16
star
46

pxc_scheduler_handler

Go
14
star
47

innodb-data-recovery-tool-docs

Documentation for innodb-data-recovery-tool
Python
13
star
48

training

(Deprecated) Repository for publicly available training resources. Please access the public materials using our website.
13
star
49

qan-app

Query Analytics Web App for PMM
TypeScript
12
star
50

mongodb-orchestration-tools

Golang tools for MongoDB container orchestration
Go
12
star
51

percona-repositories

RPM and DEB files for Percona repositories
Shell
11
star
52

pmm-admin

pmm-admin for PMM 2.x.
Go
11
star
53

go-pool

A simple, persistent resource pool
Go
11
star
54

pxc-docs

Percona XtraDB Cluster
HTML
11
star
55

postgresql-docs

Percona Distribution for PostgreSQL
HTML
11
star
56

qan-api2

qan-api for PMM 2.x.
Go
11
star
57

pxb-docs

Percona XtraBackup for MySQL
HTML
10
star
58

pmm-qa

PMM Quality Assurance
Shell
10
star
59

pmgo

Interfaces for mgo's structures
Go
10
star
60

backup-community

C
10
star
61

pmm-infra

Infrastructure as code for PMM (build and demo)
HCL
10
star
62

roadmap

Public Percona Roadmaps
10
star
63

k8spsmdb-docs

Percona Operator for MongoDB Documentation
HTML
9
star
64

proxysql-packaging

packaging for proxysql
Shell
8
star
65

openstack_ansible

Python
8
star
66

percona-everest-frontend

TypeScript
8
star
67

dbaas-operator

k8s Operator for PMM DBaaS
Go
7
star
68

postgres-packaging

Shell
6
star
69

k8spxc-docs

Documentation for Percona Operator for MySQL based on Percona XtraDB Cluster
HTML
6
star
70

percona-everest-cli

Go
6
star
71

tokudb-percona-server-5.6

TokuDB tests for Percona Server 5.6
Shell
6
star
72

pbm-docs

HTML
6
star
73

documentation

Percona documentation repository
Python
6
star
74

ab

Benchmark tools
Shell
5
star
75

tex-templates

Tex templates for presentation slides and more
TeX
5
star
76

pgsm-docs

pg_stat_monitor for PostgreSQL
HTML
5
star
77

k8spg-docs

Percona Operator for PostgreSQL Documentation
HTML
5
star
78

tokudb-docs

Percona TokuDB documentation
Python
5
star
79

pdmysql-docs

Percona Distribution for MySQL documentation
HTML
5
star
80

exporter_shared

Shared code for Percona Prometheus exporters
Go
4
star
81

pmm-dump

Export metrics or QAN data from or import them to PMM
Go
4
star
82

pmm-demo

Benchmark and sysload generators for pmmdemo.percona.com.
Shell
4
star
83

distmongo-docs

CSS
4
star
84

training-aws

PHP
4
star
85

dbaas-api

Makefile
4
star
86

proxysql-admin-tool-doc

HTML
3
star
87

replication-manager

Shell
3
star
88

debian-percona-xtradb-cluster-5.6

Repo for debian/ubuntu inclusion
C++
3
star
89

training-mymovies

Percona's My-Movies and Scoreboard application for use in Percona training classrooms.
PHP
3
star
90

jenkins-docker-images

Shell
3
star
91

pmm-update

PMM Update is a tool for updating packages and OS configuration for Percona Monitoring and Management Server.
Go
3
star
92

pmm-ui-tests

PMM UI end-to-end tests
JavaScript
3
star
93

sysbench-packaging

Packaging scripts for sysbench
Shell
3
star
94

saas

Platform (SaaS) public API definitions
Go
3
star
95

debian-percona-server-5.6

Repo for debian/ubuntu inclusion
C++
3
star
96

pid-watchdog

pid-watchdog is a free open source utility for managing and monitoring processes on a UNIX system. pid-watchdog conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. Golang analog of http://mmonit.com/monit/ proccess scheduler. Can be used as PID 1 in docker.
Shell
3
star
97

tokumx-docs

Percona TokuMX documentation
Python
3
star
98

repo-config-docs

HTML
3
star
99

cloud-tools

PCT documentation
2
star
100

everest-catalog

Go
2
star