{"id":36441041,"url":"https://github.com/iboware/matriarch","last_synced_at":"2026-01-11T21:57:54.307Z","repository":{"id":57705194,"uuid":"275724989","full_name":"iboware/matriarch","owner":"iboware","description":"A CLI utility and a Kubernetes Operator to Deploy High Available and Scalable PostgreSQL Clusters","archived":false,"fork":false,"pushed_at":"2023-03-06T23:53:42.000Z","size":63279,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-27T04:30:17.949Z","etag":null,"topics":["automation","cli","cluster","high-available","kubernetes-operator","postgresql","scalable","scalable-postgresql-clusters"],"latest_commit_sha":null,"homepage":"http://matriarch.iboware.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iboware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-29T03:52:49.000Z","updated_at":"2023-11-06T06:51:23.000Z","dependencies_parsed_at":"2024-06-19T11:15:14.834Z","dependency_job_id":"7fc8d272-502d-4e9c-a8e4-3272c633c7dd","html_url":"https://github.com/iboware/matriarch","commit_stats":{"total_commits":56,"total_committers":1,"mean_commits":56.0,"dds":0.0,"last_synced_commit":"11316e803410e47a416b52bee284a11df8476aca"},"previous_names":["iboware/postgresql-operator","iboware/postgres-operator"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/iboware/matriarch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iboware%2Fmatriarch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iboware%2Fmatriarch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iboware%2Fmatriarch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iboware%2Fmatriarch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iboware","download_url":"https://codeload.github.com/iboware/matriarch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iboware%2Fmatriarch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28324623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T18:42:50.174Z","status":"ssl_error","status_checked_at":"2026-01-11T18:39:13.842Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cli","cluster","high-available","kubernetes-operator","postgresql","scalable","scalable-postgresql-clusters"],"created_at":"2026-01-11T21:57:53.714Z","updated_at":"2026-01-11T21:57:54.300Z","avatar_url":"https://github.com/iboware.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"- [Introduction](#introduction)\n- [How to Install](#how-to-install)\n  - [Prerequisites](#prerequisites)\n  - [Steps](#steps)\n- [How to Use](#how-to-use)\n  - [Matriarch CLI](#matriarch-cli)\n  - [Manualy via kubectl](#manualy-via-kubectl)\n- [How to Build \u0026 Develop the Operator](#how-to-build--develop-the-operator)\n  - [Prerequisites](#prerequisites-1)\n  - [Steps for Operator](#steps-for-operator)\n  - [Steps for Matriarch CLI](#steps-for-matriarch-cli)\n- [How to Uninstall](#how-to-uninstall)\n\n# Introduction\n![logo](https://github.com/iboware/matriarch/raw/master/assets/matriarch128.png \"\")\n\nMatriarch is a CLI utility and a Kubernetes Operator to Deploy High Available and Scalable PostgreSQL Clusters\n\nThe PostgreSQL logo elephant is named \"Slonik\". The elephant herd is led by the oldest and the largest female cow known as the **matriarch**. This was the inspiration for our projects name.\n\n***Important: This is a work in progress, not suitable for Production use!***\n\nMatriarch currently can create and manage **simple** High Available and Scalable Clusters of PostgreSQL based on [bitnami/bitnami-docker-postgresql-repmgr](http://github.com//bitnami/bitnami-docker-postgresql-repmgr) image via Matriarch CLI utility. \n\n# How to Install\n## Prerequisites \n* Access to a Kubernetes v1.11.3+ cluster\n* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) version v1.11.3+\n* Linux (Currently only tested under Linux)\n## Steps\n1. Download [**matriarch**](https://github.com/iboware/matriarch/releases/download/v0.4.0/matriarch)\n2. Put it under any binary path. (eg. /usr/local/bin)\n4. Deploy operator via `matriarch init` to the active cluster in your `kubeconfig` file.\n3. Start creating and managing PostgreSQL clusters.\n\n**Note**: Matriarch currently uses kubectl config to identify the Kubernetes cluster(s). Kubernetes cluster(s) used should be defined in kubectl config file. To learn how to configure kubectl check [here](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/).\n\n# How to Use\n## Matriarch CLI\n\nInit and Create operations will be demonstrated in the video.\n\n[![asciicast](https://asciinema.org/a/351880.svg)](https://asciinema.org/a/351880)\n\n## Manualy via kubectl\n**Example Custom Resource to create a cluster**\n\n*YAML:*\n```yaml\napiVersion: database.iboware.com/v1alpha1\nkind: PostgreSQL\nmetadata:\n  name: mycluster\nspec:\n  disksize: 8Gi\n  replicas: 3\n  pgpool: false\n  postgrespassword: verysecurepassword\n  repmgrpassword: verysecurepassword\n  pgpoolpassword: verysecurepassword\n  namespace: mynamespace\n```\n*JSON:*\n```json\n{\n  \"apiVersion\": \"database.iboware.com/v1alpha1\",\n  \"kind\": \"PostgreSQL\",\n  \"metadata\": {\n    \"name\": \"mycluster\"\n  },\n  \"spec\": {\n    \"disksize\": \"8Gi\",\n    \"replicas\": 3,\n    \"pgpool\": false,\n    \"postgrespassword\": \"verysecurepassword\",\n    \"repmgrpassword\": \"verysecurepassword\",\n    \"pgpoolpassword\": \"verysecurepassword\",\n    \"namespace\": \"mynamespace\"\n  }\n}\n```\n\n# How to Build \u0026 Develop the Operator\n## Prerequisites \n* git\n* go version v1.13+.\n* docker version 17.03+.\n* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) version v1.11.3+\n* Access to a Kubernetes v1.11.3+ cluster\n* Install [operator-sdk](https://sdk.operatorframework.io/docs/installation/install-operator-sdk/#install-from-github-release) and its prequisites.\n## Steps for Operator\n1. Clone the repository to your local path `$ git clone https://github.com/iboware/matriarch.git`\n2. Install CRD to Kubernetes Cluster. `$ make install`\n3. Run operator locally without deploying to cluster. `$ make run ENABLE_WEBHOOKS=false`\n   \nFor more advanced scenarios check [Operator SDK](https://sdk.operatorframework.io/docs/building-operators/golang/tutorial/#build-and-run-the-operator) documentations.\n\n## Steps for Matriarch CLI\n1. Change directory to matriarch `$ cd matriarch`\n2. Build the source code with go. `$ go build -o ./bin`\n3. Run the binary `$ ./bin/matriarch`\n\n\nWe recommend using [Visual Studio Code](https://code.visualstudio.com/) to test and debug both projects. We also provide launch configuration files under **vscode** folder. Copy the launch.json file under **.vscode** folder in the project, before opening the folder with Visual Studio Code.\n\n\n# How to Uninstall\nSimply remove the CRD from the kubernetes cluster via Kubectl.\n\n```bash\n$ kubectl delete -f https://github.com/iboware/matriarch/releases/download/v0.4.0/postgresql-operator.crd.yaml\n```\n**Important**: It will also **remove** all deployed PostgreSQL clusters! This behavior will be changed in the future releases.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiboware%2Fmatriarch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiboware%2Fmatriarch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiboware%2Fmatriarch/lists"}