{"id":18690454,"url":"https://github.com/kvaps/stolon-chart","last_synced_at":"2025-11-08T08:30:31.930Z","repository":{"id":39752460,"uuid":"290472181","full_name":"kvaps/stolon-chart","owner":"kvaps","description":"Stolon Helm Chart","archived":false,"fork":false,"pushed_at":"2023-03-22T12:15:53.000Z","size":77,"stargazers_count":8,"open_issues_count":6,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-28T02:31:04.217Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Mustache","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kvaps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-08-26T10:58:24.000Z","updated_at":"2022-11-08T22:33:18.000Z","dependencies_parsed_at":"2024-11-07T10:47:42.596Z","dependency_job_id":"24ba9f30-385a-4699-a65c-8eead1eb2512","html_url":"https://github.com/kvaps/stolon-chart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fstolon-chart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fstolon-chart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fstolon-chart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fstolon-chart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvaps","download_url":"https://codeload.github.com/kvaps/stolon-chart/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239550283,"owners_count":19657541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-07T10:47:38.066Z","updated_at":"2025-11-08T08:30:31.886Z","avatar_url":"https://github.com/kvaps.png","language":"Mustache","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stolon Helm Chart\n\n* Installs [Stolon](https://github.com/sorintlab/stolon) (HA PostgreSQL cluster)\n* Based on [lwolf/stolon-chart](https://github.com/lwolf/stolon-chart) and [stolon examples](https://github.com/sorintlab/stolon/tree/master/examples/kubernetes/statefulset)\n\n## TL;DR;\n\n```console\n$ helm install stable/stolon\n```\n\n## Installing the Chart\n\nTo install the chart with the release name `my-release`:\n\n```console\n$ helm install --name my-release stable/stolon\n```\n\n## Backend\n\nKubernetes is the default store backend. `consul`, `etcdv2` or `etcdv3` can also be used as the store backend.\n\n## Configuration\n\n| Parameter                               | Description                                    | Default                                                      |\n| --------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------ |\n| `clusterName`                           | `stolon` cluster name                          | `nil`                                                        |\n| `image.repository`                      | `stolon` image repository                      | `sorintlab/stolon`                                           |\n| `image.tag`                             | `stolon` image tag                             | `v0.13.0-pg10`                                               |\n| `image.pullPolicy`                      | `stolon` image pull policy                     | `IfNotPresent`                                               |\n| `image.pullSecrets`                     | `stolon` image pull secrets as an array        | `[]` (does not add image pull secrets to deployed pods)      |\n| `etcdImage.repository`                  | `etcd` image repository                        | `k8s.gcr.io/etcd-amd64`                                      |\n| `etcdImage.tag`                         | `etcd` image tag                               | `2.3.7`                                                      |\n| `etcdImage.pullPolicy`                  | `etcd` image pull policy                       | `IfNotPresent`                                               |\n| `debug`                                 | Debug mode                                     | `false`                                                      |\n| `shmVolume.enabled`                     | Enable emptyDir volume for /dev/shm  on keepers pods | `false`                                                 |\n| `persistence.enabled`                   | Use a PVC to persist data                      | `true`                                                       |\n| `persistence.storageClassName`          | Storage class name of backing PVC              | `\"\"`                                                         |\n| `persistence.accessModes`               | Persistent volumes access modes                | `[\"ReadWriteOnce\"]`                                          |\n| `persistence.size`                      | Size of data volume                            | `10Gi`                                                       |\n| `rbac.create`                           | Specifies if RBAC resources should be created  | `true`                                                       |\n| `serviceAccount.create`                 | Specifies if ServiceAccount should be created  | `true`                                                       |\n| `serviceAccount.name`                   | Name of the generated ServiceAccount           | Defaults to fullname template                                |\n| `superuserSecret.name`                  | Postgres superuser credential secret name      | `\"\"`                                                         |\n| `superuserSecret.usernameKey`           | Username key of Postgres superuser in secret   | `pg_su_username`                                             |\n| `superuserSecret.passwordKey`           | Password key of Postgres superuser in secret   | `pg_su_password`                                             |\n| `superuserUsername`                     | Postgres superuser username                    | `stolon`                                                     |\n| `superuserPasswordFile`                     | File where to read the Postgres superuser password                   |               |\n| `superuserPassword`                     | Postgres superuser password                    | (Required if `superuserSecret.name` and `superuserPasswordFile` are not set)              |\n| `replicationSecret.name`                | Postgres replication credential secret name    | `\"\"`                                                         |\n| `replicationSecret.usernameKey`         | Username key of Postgres replication in secret | `pg_repl_username`                                           |\n| `replicationSecret.passwordKey`         | Password key of Postgres replication in secret | `pg_repl_password`                                           |\n| `replicationUsername`                   | Replication username                           | `repluser`                                                   |\n| `replicationPasswordFile`                     | File where to read the replication password                   |               |\n| `replicationPassword`                   | Replication password                           | (Required if `replicationSecret.name` and `replicationPasswordFile` are not set)            |\n| `store.backend`                         | Store backend (kubernetes/consul/etcd)         | `kubernetes`                                                 |\n| `store.endpoints`                       | Store backend endpoints                        | `nil`                                                        |\n| `store.kubeResourceKind`                | Kubernetes resource kind (only for kubernetes) | `configmap`                                                  |\n| `pgParameters`                          | [`postgresql.conf`][pgconf] options used during cluster creation | `{}`                                       |\n| `ports`                                 | Ports to expose on pods                        | `{\"stolon\":{\"containerPort\": 5432},\"metrics\":{\"containerPort\": 8080}}`|\n| `serviceMonitor.enabled`                | Creates a Prometheus serviceMonitor and service object | `false`                                              |\n| `serviceMonitor.labels`                 | Overrides the default labels added by chart to the ServiceMonitor with labels specified. | `{}`               |\n| `serviceMonitor.namespace`              | Set to use a different value than the release namespace for deploying the ServiceMonitor object | `nil`       |\n| `serviceMonitor.interval`               | Set to use a different value than the default Prometheus scrape interval | `nil`                              |\n| `serviceMonitor.scrapeTimeout`          | Set to use a different value than the default Prometheus scrape timeout | `nil`                               |\n| `job.autoCreateCluster.enabled`         | Set to `false` to force-disable auto-cluster-creation which may clear pre-existing postgres db data | `true`  |\n| `job.autoCreateCluster.resources`       | Job autoCreaterCluster containers resources    | `{}`                                                         |\n| `job.autoCreateCluster.initContainers.resources` | Job autoCreaterCluster initContainers resources | `{}`                                               |\n| `job.initdbScripts.enabled`             | Set to `false` to force-disable initdb script execution | `true`                                              |\n| `job.initdbScripts.resources`           | Job initdbScripts containers resources         | `{}`                                                         |\n| `job.initdbScripts.initContainers.resources` | Job autoUpdateClusterSpec initContainers resources | `{}`                                                |\n| `job.autoUpdateClusterSpec.enabled`     | Set to `false` to force-disable auto-cluster-spec-update | `true`                                             |\n| `job.autoUpdateClusterSpec.resources`   | Job autoUpdateClusterSpec containers resources | `{}`                                                         |\n| `job.autoUpdateClusterSpec.initContainers.resources` | Job autoUpdateClusterSpec initContainers resources | `{}`                                        |\n| `job.annotations`                       | Annotations for Jobs, the value is evaluated as a template. | `{}`                                            |\n| `clusterSpec`                           | Stolon cluster spec [reference](https://github.com/sorintlab/stolon/blob/master/doc/cluster_spec.md) | `{}`   |\n| `tls.enabled`                           | Enable tls support to postgresql               | `false`                                                      |\n| `tls.rootCa`                            | Ca certificate                                 | `\"\"`                                                         |\n| `tls.serverCrt`                         | Server cerfificate                             | `\"\"`                                                         |\n| `tls.serverKey`                         | Server key                                     | `\"\"`                                                         |\n| `tls.existingSecret`                    | Existing secret with certificate content to stolon credentials | `\"\"`                                         |\n| `keeper.uid_prefix`                     | Keeper prefix name                             | `keeper`                                                     |\n| `keeper.replicaCount`                   | Number of keeper nodes                         | `2`                                                          |\n| `keeper.resources`                      | Keeper resource requests/limit                 | `{}`                                                         |\n| `keeper.priorityClassName`              | Keeper priorityClassName                       | `nil`                                                        |\n| `keeper.fsGroup`                        | Keeper securityContext fsGroup, do not set if pg9 or 10 | ``                                                  |\n| `keeper.nodeSelector`                   | Node labels for keeper pod assignment          | `{}`                                                         |\n| `keeper.affinity`                       | Affinity settings for keeper pod assignment    | `{}`                                                         |\n| `keeper.tolerations`                    | Toleration labels for keeper pod assignment    | `[]`                                                         |\n| `keeper.volumes`                        | Additional volumes                             | `[]`                                                         |\n| `keeper.volumeMounts`                   | Mount paths for `keeper.volumes`               | `[]`                                                         |\n| `keeper.hooks.failKeeper.enabled`       | Enable failkeeper pre-stop hook                | `false`                                                      |\n| `keeper.podDisruptionBudget.enabled`    | If true, create a pod disruption budget for keeper pods. | `false`                                            |\n| `keeper.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `\"\"`                                     |\n| `keeper.podDisruptionBudget.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `\"\"`                                   |\n| `keeper.extraEnv`                       | Extra [environment variables](https://github.com/sorintlab/stolon/blob/master/doc/commands_invocation.md#commands-invocation) for keeper | `[]` |\n| `proxy.replicaCount`                    | Number of proxy nodes                          | `2`                                                          |\n| `proxy.resources`                       | Proxy resource requests/limit                  | `{}`                                                         |\n| `proxy.priorityClassName`               | Proxy priorityClassName                        | `nil`                                                        |\n| `proxy.nodeSelector`                    | Node labels for proxy pod assignment           | `{}`                                                         |\n| `proxy.affinity`                        | Affinity settings for proxy pod assignment     | `{}`                                                         |\n| `proxy.tolerations`                     | Toleration labels for proxy pod assignment     | `[]`                                                         |\n| `proxy.podDisruptionBudget.enabled`     | If true, create a pod disruption budget for proxy pods. | `false`                                             |\n| `proxy.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `\"\"`                                      |\n| `proxy.podDisruptionBudget.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `\"\"`                                    |\n| `proxy.extraEnv`                        | Extra [environment variables](https://github.com/sorintlab/stolon/blob/master/doc/commands_invocation.md#commands-invocation) for proxy | `[]` |\n| `sentinel.replicaCount`                 | Number of sentinel nodes                       | `2`                                                          |\n| `sentinel.resources`                    | Sentinel resource requests/limit               | `{}`                                                         |\n| `sentinel.priorityClassName`            | Sentinel priorityClassName                     | `nil`                                                        |\n| `sentinel.nodeSelector`                 | Node labels for sentinel pod assignment        | `{}`                                                         |\n| `sentinel.affinity`                     | Affinity settings for sentinel pod assignment  | `{}`                                                         |\n| `sentinel.tolerations`                  | Toleration labels for sentinel pod assignment  | `[]`                                                         |\n| `sentinel.podDisruptionBudget.enabled`  | If true, create a pod disruption budget for sentinel pods. | `false`                                          |\n| `sentinel.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `\"\"`                                   |\n| `sentinel.podDisruptionBudget.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `\"\"`                                 |\n| `sentinel.extraEnv`                     | Extra [environment variables](https://github.com/sorintlab/stolon/blob/master/doc/commands_invocation.md#commands-invocation) for sentinel | `[]` |\n| `initdbScripts` | Dictionary of scripts. Executed after cluster startup | `nil`                                 |\n| `nodePostStartScript` | Dictionary of scripts. Executed after the node startup | `nil`                                 |\n\n\n[pgconf]: https://github.com/postgres/postgres/blob/master/src/backend/utils/misc/postgresql.conf.sample\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fstolon-chart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvaps%2Fstolon-chart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fstolon-chart/lists"}