use capital letter for names + fix typos
This commit is contained in:
parent
0604b5d9c1
commit
4862e17b7d
|
|
@ -4,15 +4,19 @@ Wanna contribute to the Postgres Operator? Yay - here is how!
|
|||
|
||||
## Reporting issues
|
||||
|
||||
If you have a question about patroni or have a problem using it, please read the`README` before filing an issue.
|
||||
Also double check with the current issues on our [Issues Tracker](https://github.com/zalando/postgres-operator/issues).
|
||||
Before filing an issue, if you have a question about Postgres Operator or have
|
||||
a problem using it, please read the [concepts](docs/index.md) page or use the
|
||||
different guides that we provide for [users](docs/user.md),
|
||||
[developers](docs/developer.md) or [admins](docs/administrator). Also double
|
||||
check with the current issues on our [Issues Tracker](https://github.com/zalando/postgres-operator/issues).
|
||||
|
||||
## Contributing a pull request
|
||||
|
||||
1. Submit a comment to the relevant issue or create a new issue describing your proposed change.
|
||||
1. Do a fork, develop and test your code changes.
|
||||
1. Include documentation
|
||||
1. Submit a pull request.
|
||||
1. Submit a comment to the relevant issue or create a new issue describing your
|
||||
proposed change.
|
||||
2. Do a fork, develop and test your code changes.
|
||||
3. Include documentation
|
||||
4. Submit a pull request.
|
||||
|
||||
You'll get feedback about your pull request as soon as possible.
|
||||
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ localhost:8080 by doing:
|
|||
|
||||
$ kubectl --context minikube port-forward $(kubectl --context minikube get pod -l name=postgres-operator -o jsonpath={.items..metadata.name}) 8080:8080
|
||||
|
||||
The inner 'query' gets the name of the postgres operator pod, and the outer
|
||||
The inner 'query' gets the name of the Postgres Operator pod, and the outer
|
||||
enables port forwarding. Afterwards, you can access the operator API with:
|
||||
|
||||
```
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ manages PostgreSQL clusters on Kubernetes (K8s):
|
|||
|
||||
### Scope
|
||||
|
||||
The scope of the postgres operator is on provisioning, modifying configuration
|
||||
The scope of the Postgres Operator is on provisioning, modifying configuration
|
||||
and cleaning up Postgres clusters that use Patroni, basically to make it easy
|
||||
and convenient to run Patroni based clusters on K8s. The provisioning
|
||||
and modifying includes K8s resources on one side but also e.g. database
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Cluster manifest reference
|
||||
|
||||
Individual postgres clusters are described by the Kubernetes *cluster manifest*
|
||||
that has the structure defined by the `postgres CRD` (custom resource
|
||||
Individual Postgres clusters are described by the Kubernetes *cluster manifest*
|
||||
that has the structure defined by the `postgresql` CRD (custom resource
|
||||
definition). The following section describes the structure of the manifest and
|
||||
the purpose of individual keys. You can take a look at the examples of the
|
||||
[minimal](https://github.com/zalando/postgres-operator/blob/master/manifests/minimal-postgres-manifest.yaml)
|
||||
|
|
@ -21,7 +21,7 @@ applied.
|
|||
|
||||
## Manifest structure
|
||||
|
||||
A postgres manifest is a `YAML` document. On the top level both individual
|
||||
A Postgres manifest is a `YAML` document. On the top level both individual
|
||||
parameters and parameter groups can be defined. Parameter names are written
|
||||
in camelCase.
|
||||
|
||||
|
|
@ -66,21 +66,21 @@ These parameters are grouped directly under the `spec` key in the manifest.
|
|||
It should be a [Spilo](https://github.com/zalando/spilo) image. Optional.
|
||||
|
||||
* **spiloFSGroup**
|
||||
the Persistent Volumes for the spilo pods in the StatefulSet will be owned and
|
||||
the Persistent Volumes for the Spilo pods in the StatefulSet will be owned and
|
||||
writable by the group ID specified. This will override the **spilo_fsgroup**
|
||||
operator parameter. This is required to run Spilo as a non-root process, but
|
||||
requires a custom spilo image. Note the FSGroup of a Pod cannot be changed
|
||||
requires a custom Spilo image. Note the FSGroup of a Pod cannot be changed
|
||||
without recreating a new Pod. Optional.
|
||||
|
||||
* **enableMasterLoadBalancer**
|
||||
boolean flag to override the operator defaults (set by the
|
||||
`enable_master_load_balancer` parameter) to define whether to enable the load
|
||||
balancer pointing to the postgres primary. Optional.
|
||||
balancer pointing to the Postgres primary. Optional.
|
||||
|
||||
* **enableReplicaLoadBalancer**
|
||||
boolean flag to override the operator defaults (set by the
|
||||
`enable_replica_load_balancer` parameter) to define whether to enable the
|
||||
load balancer pointing to the postgres standby instances. Optional.
|
||||
load balancer pointing to the Postgres standby instances. Optional.
|
||||
|
||||
* **allowedSourceRanges**
|
||||
when one or more load balancers are enabled for the cluster, this parameter
|
||||
|
|
@ -145,20 +145,20 @@ Those parameters are grouped under the `postgresql` top-level key, which is
|
|||
required in the manifest.
|
||||
|
||||
* **version**
|
||||
the postgres major version of the cluster. Looks at the [Spilo
|
||||
the Postgres major version of the cluster. Looks at the [Spilo
|
||||
project](https://github.com/zalando/spilo/releases) for the list of supported
|
||||
versions. Changing the cluster version once the cluster has been bootstrapped
|
||||
is not supported. Required field.
|
||||
|
||||
* **parameters**
|
||||
a dictionary of postgres parameter names and values to apply to the resulting
|
||||
a dictionary of Postgres parameter names and values to apply to the resulting
|
||||
cluster. Optional (Spilo automatically sets reasonable defaults for parameters
|
||||
like work_mem or max_connections).
|
||||
|
||||
|
||||
## Patroni parameters
|
||||
|
||||
Those parameters are grouped under the `patroni` top-level key. See the [patroni
|
||||
Those parameters are grouped under the `patroni` top-level key. See the [Patroni
|
||||
documentation](https://patroni.readthedocs.io/en/latest/SETTINGS.html) for the
|
||||
explanation of `ttl` and `loop_wait` parameters.
|
||||
|
||||
|
|
@ -180,25 +180,25 @@ explanation of `ttl` and `loop_wait` parameters.
|
|||
authentication. Optional.
|
||||
|
||||
* **ttl**
|
||||
patroni `ttl` parameter value, optional. The default is set by the Spilo
|
||||
Patroni `ttl` parameter value, optional. The default is set by the Spilo
|
||||
docker image. Optional.
|
||||
|
||||
* **loop_wait**
|
||||
patroni `loop_wait` parameter value, optional. The default is set by the
|
||||
Patroni `loop_wait` parameter value, optional. The default is set by the
|
||||
Spilo docker image. Optional.
|
||||
|
||||
* **retry_timeout**
|
||||
patroni `retry_timeout` parameter value, optional. The default is set by the
|
||||
Patroni `retry_timeout` parameter value, optional. The default is set by the
|
||||
Spilo docker image. Optional.
|
||||
|
||||
* **maximum_lag_on_failover**
|
||||
patroni `maximum_lag_on_failover` parameter value, optional. The default is
|
||||
Patroni `maximum_lag_on_failover` parameter value, optional. The default is
|
||||
set by the Spilo docker image. Optional.
|
||||
|
||||
* **slots**
|
||||
permanent replication slots that Patroni preserves after failover by
|
||||
re-creating them on the new primary immediately after doing a promote. Slots
|
||||
could be reconfigured with the help of `patronictl edit-config`. It is the
|
||||
could be reconfigured with the help of `Patronictl edit-config`. It is the
|
||||
responsibility of a user to avoid clashes in names between replication slots
|
||||
automatically created by Patroni for cluster members and permanent replication
|
||||
slots. Optional.
|
||||
|
|
@ -206,31 +206,31 @@ explanation of `ttl` and `loop_wait` parameters.
|
|||
## Postgres container resources
|
||||
|
||||
Those parameters define [CPU and memory requests and limits](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/)
|
||||
for the postgres container. They are grouped under the `resources` top-level
|
||||
for the Postgres container. They are grouped under the `resources` top-level
|
||||
key with subgroups `requests` and `limits`.
|
||||
|
||||
### Requests
|
||||
|
||||
CPU and memory requests for the postgres container.
|
||||
CPU and memory requests for the Postgres container.
|
||||
|
||||
* **cpu**
|
||||
CPU requests for the postgres container. Optional, overrides the
|
||||
CPU requests for the Postgres container. Optional, overrides the
|
||||
`default_cpu_requests` operator configuration parameter. Optional.
|
||||
|
||||
* **memory**
|
||||
memory requests for the postgres container. Optional, overrides the
|
||||
memory requests for the Postgres container. Optional, overrides the
|
||||
`default_memory_request` operator configuration parameter. Optional.
|
||||
|
||||
### Limits
|
||||
|
||||
CPU and memory limits for the postgres container.
|
||||
CPU and memory limits for the Postgres container.
|
||||
|
||||
* **cpu**
|
||||
CPU limits for the postgres container. Optional, overrides the
|
||||
CPU limits for the Postgres container. Optional, overrides the
|
||||
`default_cpu_limits` operator configuration parameter. Optional.
|
||||
|
||||
* **memory**
|
||||
memory limits for the postgres container. Optional, overrides the
|
||||
memory limits for the Postgres container. Optional, overrides the
|
||||
`default_memory_limits` operator configuration parameter. Optional.
|
||||
|
||||
## Parameters defining how to clone the cluster from another one
|
||||
|
|
@ -290,7 +290,7 @@ archive is supported.
|
|||
## EBS volume resizing
|
||||
|
||||
Those parameters are grouped under the `volume` top-level key and define the
|
||||
properties of the persistent storage that stores postgres data.
|
||||
properties of the persistent storage that stores Postgres data.
|
||||
|
||||
* **size**
|
||||
the size of the target EBS volume. Usual Kubernetes size modifiers, i.e. `Gi`
|
||||
|
|
@ -309,7 +309,7 @@ properties of the persistent storage that stores postgres data.
|
|||
|
||||
Those parameters are defined under the `sidecars` key. They consist of a list
|
||||
of dictionaries, each defining one sidecar (an extra container running
|
||||
along the main postgres container on the same pod). The following keys can be
|
||||
along the main Postgres container on the same pod). The following keys can be
|
||||
defined in the sidecar dictionary:
|
||||
|
||||
* **name**
|
||||
|
|
|
|||
|
|
@ -50,9 +50,9 @@ The following environment variables are accepted by the operator:
|
|||
`scalyr_api_key` operator parameter.
|
||||
|
||||
* **CRD_READY_WAIT_TIMEOUT**
|
||||
defines the timeout for the complete postgres CRD creation. When not set
|
||||
defines the timeout for the complete `postgresql` CRD creation. When not set
|
||||
default is 30s.
|
||||
|
||||
* **CRD_READY_WAIT_INTERVAL**
|
||||
defines the interval between consecutive attempts waiting for the postgres
|
||||
defines the interval between consecutive attempts waiting for the postgresql
|
||||
CRD to be created. The default is 5s.
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ Those are top-level keys, containing both leaf keys and groups.
|
|||
Kubernetes-native DCS).
|
||||
|
||||
* **docker_image**
|
||||
Spilo docker image for postgres instances. For production, don't rely on the
|
||||
Spilo docker image for Postgres instances. For production, don't rely on the
|
||||
default image, as it might be not the most up-to-date one. Instead, build
|
||||
your own Spilo image from the [github
|
||||
repository](https://github.com/zalando/spilo).
|
||||
|
|
@ -100,12 +100,12 @@ Those are top-level keys, containing both leaf keys and groups.
|
|||
create/update/delete/sync clusters concurrently. The default is `4`.
|
||||
|
||||
* **max_instances**
|
||||
operator will cap the number of instances in any managed postgres cluster up
|
||||
operator will cap the number of instances in any managed Postgres cluster up
|
||||
to the value of this parameter. When `-1` is specified, no limits are applied.
|
||||
The default is `-1`.
|
||||
|
||||
* **min_instances**
|
||||
operator will run at least the number of instances for any given postgres
|
||||
operator will run at least the number of instances for any given Postgres
|
||||
cluster equal to the value of this parameter. When `-1` is specified, no
|
||||
limits are applied. The default is `-1`.
|
||||
|
||||
|
|
@ -121,11 +121,11 @@ Parameters describing Postgres users. In a CRD-configuration, they are grouped
|
|||
under the `users` key.
|
||||
|
||||
* **super_username**
|
||||
postgres `superuser` name to be created by `initdb`. The default is
|
||||
Postgres `superuser` name to be created by `initdb`. The default is
|
||||
`postgres`.
|
||||
|
||||
* **replication_username**
|
||||
postgres username used for replication between instances. The default is
|
||||
Postgres username used for replication between instances. The default is
|
||||
`standby`.
|
||||
|
||||
## Kubernetes resources
|
||||
|
|
@ -150,7 +150,7 @@ configuration they are grouped under the `kubernetes` key.
|
|||
This definition must bind pod service account to a role with permission
|
||||
sufficient for the pods to start and for Patroni to access k8s endpoints;
|
||||
service account on its own lacks any such rights starting with k8s v1.8. If
|
||||
not excplicitly defined by the user, a simple definition that binds the
|
||||
not explicitly defined by the user, a simple definition that binds the
|
||||
account to the operator's own 'zalando-postgres-operator' cluster role will
|
||||
be used. The default is empty.
|
||||
|
||||
|
|
@ -159,7 +159,7 @@ configuration they are grouped under the `kubernetes` key.
|
|||
after this timeout. The default is `5m`.
|
||||
|
||||
* **watched_namespace**
|
||||
The operator watches for postgres objects in the given namespace. If not
|
||||
The operator watches for Postgres objects in the given namespace. If not
|
||||
specified, the value is taken from the operator namespace. A special `*`
|
||||
value makes it watch all namespaces. The default is empty (watch the operator
|
||||
pod namespace).
|
||||
|
|
@ -188,7 +188,7 @@ configuration they are grouped under the `kubernetes` key.
|
|||
* **cluster_domain**
|
||||
defines the default dns domain for the kubernetes cluster the operator is
|
||||
running in. The default is `cluster.local`. Used by the operator to connect
|
||||
to the postgres clusters after creation.
|
||||
to the Postgres clusters after creation.
|
||||
|
||||
* **oauth_token_secret_name**
|
||||
a name of the secret containing the `OAuth2` token to pass to the teams API.
|
||||
|
|
@ -208,9 +208,8 @@ configuration they are grouped under the `kubernetes` key.
|
|||
* **inherited_labels**
|
||||
list of labels that can be inherited from the cluster manifest, and added to
|
||||
each child objects (`StatefulSet`, `Pod`, `Service` and `Endpoints`) created
|
||||
by the opertor.
|
||||
Typical use case is to dynamically pass labels that are specific to a given
|
||||
postgres cluster, in order to implement `NetworkPolicy`.
|
||||
by the operator. Typical use case is to dynamically pass labels that are
|
||||
specific to a given Postgres cluster, in order to implement `NetworkPolicy`.
|
||||
The default is empty.
|
||||
|
||||
* **cluster_name_label**
|
||||
|
|
@ -234,7 +233,7 @@ configuration they are grouped under the `kubernetes` key.
|
|||
|
||||
* **pod_environment_configmap**
|
||||
a name of the ConfigMap with environment variables to populate on every pod.
|
||||
Right now this ConfigMap is searched in the namespace of the postgres cluster.
|
||||
Right now this ConfigMap is searched in the namespace of the Postgres cluster.
|
||||
All variables from that ConfigMap are injected to the pod's environment, on
|
||||
conflicts they are overridden by the environment variables generated by the
|
||||
operator. The default is empty.
|
||||
|
|
@ -245,9 +244,9 @@ configuration they are grouped under the `kubernetes` key.
|
|||
be defined in advance. Default is empty (use the default priority class).
|
||||
|
||||
* **spilo_fsgroup**
|
||||
the Persistent Volumes for the spilo pods in the StatefulSet will be owned and
|
||||
the Persistent Volumes for the Spilo pods in the StatefulSet will be owned and
|
||||
writable by the group ID specified. This is required to run Spilo as a
|
||||
non-root process, but requires a custom spilo image. Note the FSGroup of a Pod
|
||||
non-root process, but requires a custom Spilo image. Note the FSGroup of a Pod
|
||||
cannot be changed without recreating a new Pod.
|
||||
|
||||
* **spilo_privileged**
|
||||
|
|
@ -283,19 +282,19 @@ Those parameters are grouped under the `postgres_pod_resources` key in a
|
|||
CRD-based configuration.
|
||||
|
||||
* **default_cpu_request**
|
||||
CPU request value for the postgres containers, unless overridden by
|
||||
CPU request value for the Postgres containers, unless overridden by
|
||||
cluster-specific settings. The default is `100m`.
|
||||
|
||||
* **default_memory_request**
|
||||
memory request value for the postgres containers, unless overridden by
|
||||
memory request value for the Postgres containers, unless overridden by
|
||||
cluster-specific settings. The default is `100Mi`.
|
||||
|
||||
* **default_cpu_limit**
|
||||
CPU limits for the postgres containers, unless overridden by cluster-specific
|
||||
CPU limits for the Postgres containers, unless overridden by cluster-specific
|
||||
settings. The default is `3`.
|
||||
|
||||
* **default_memory_limit**
|
||||
memory limits for the postgres containers, unless overridden by cluster-specific
|
||||
memory limits for the Postgres containers, unless overridden by cluster-specific
|
||||
settings. The default is `1Gi`.
|
||||
|
||||
* **set_memory_request_to_limit**
|
||||
|
|
@ -336,11 +335,11 @@ CRD-based configuration.
|
|||
cluster or recreating pods. The default is `10m`.
|
||||
|
||||
* **ready_wait_interval**
|
||||
the interval between consecutive attempts waiting for the postgres CRD to be
|
||||
created. The default is `5s`.
|
||||
the interval between consecutive attempts waiting for the `postgresql` CRD to
|
||||
be created. The default is `5s`.
|
||||
|
||||
* **ready_wait_timeout**
|
||||
the timeout for the complete postgres CRD creation. The default is `30s`.
|
||||
the timeout for the complete `postgresql` CRD creation. The default is `30s`.
|
||||
|
||||
## Load balancer related options
|
||||
|
||||
|
|
@ -396,7 +395,7 @@ yet officially supported.
|
|||
Spilo are S3 and GCS. The default is empty.
|
||||
|
||||
* **log_s3_bucket**
|
||||
S3 bucket to use for shipping postgres daily logs. Works only with S3 on AWS.
|
||||
S3 bucket to use for shipping Postgres daily logs. Works only with S3 on AWS.
|
||||
The bucket has to be present and accessible by Postgres pods. The default is
|
||||
empty.
|
||||
|
||||
|
|
@ -447,7 +446,7 @@ Options to aid debugging of the operator itself. Grouped under the `debug` key.
|
|||
|
||||
* **enable_database_access**
|
||||
boolean parameter that toggles the functionality of the operator that require
|
||||
access to the postgres database, i.e. creating databases and users. The
|
||||
access to the Postgres database, i.e. creating databases and users. The
|
||||
default is `true`.
|
||||
|
||||
## Automatic creation of human users in the database
|
||||
|
|
@ -466,7 +465,7 @@ key.
|
|||
`https://teams.example.com/api/`.
|
||||
|
||||
* **team_api_role_configuration**
|
||||
postgres parameters to apply to each team member role. The default is
|
||||
Postgres parameters to apply to each team member role. The default is
|
||||
'*log_statement:all*'. It is possible to supply multiple options, separating
|
||||
them by commas. Options containing commas within the value are not supported,
|
||||
with the exception of the `search_path`. For instance:
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ Things to note:
|
|||
- An empty string is provided in `s3_wal_path` of the standby cluster will
|
||||
result in error and no statefulset will be created.
|
||||
- Only one pod can be deployed for stand-by cluster.
|
||||
- To manually promote the standby_cluster, use patronictl and remove config
|
||||
- To manually promote the standby_cluster, use `patronictl` and remove config
|
||||
entry.
|
||||
- There is no way to transform a non-standby cluster to become a standby cluster
|
||||
through operator. Hence, if a cluster is created without standby section in
|
||||
|
|
|
|||
Loading…
Reference in New Issue