Commit Graph

92 Commits

Author SHA1 Message Date
Oleksii Kliukin 5d02c57e04 Docs/reference (#323)
Document operator command-line options and environment variables.
2018-06-12 19:12:11 +02:00
Dmitry Dolgov 6ee0349536
Merge pull request #309 from zalando-incubator/feature/split-documentation
Split already existing documentation into parts
2018-06-01 15:49:21 +02:00
erthalion f356225c04 Change to user/admin/developer 2018-06-01 11:32:50 +02:00
erthalion 86f87ac31e Add links to subdocuments 2018-05-31 14:03:01 +02:00
erthalion 749085b29a Split already existing documentation into parts
To improve the documentation we need to split it into smaller parts:

* quickstart (in the readme)
* general concepts
* tutorials
* how to
* references

And then add the missing information. So far I just split the existing
documentation and left references almost empty. I assume that references
may duplicate the rest of the documentation in a way that the doc will
have references to this section, that contains all the formal details.
2018-05-31 11:23:29 +02:00
zerg-junior 9c86f8bd96
Fix conf for minikube (#301)
* Bump up a Spilo version to use Patroni >= v1.4.4 ; this fixes issues with k8s 1.10 API changes

* Bump up an operator version to use the new 'etcd_host' default value

* Re-use 'zalando-postgres-operator' as a pod service account and add extra RBAC permissions to make it work

* Document in quickstart connecting to Postgres via psql
2018-05-25 12:25:42 +02:00
zerg-junior eb98b5ec6c
Merge pull request #289 from zalando-incubator/quick-start-doc
Create Quickstart section for the docs
2018-05-17 16:45:42 +02:00
Sergey Dudoladov d6438bf54b Insert line breaks in Introduction 2018-05-17 16:10:02 +02:00
Sergey Dudoladov 8b4dc02b2b Remove further mentions of service account 2018-05-17 15:51:29 +02:00
Sergey Dudoladov cbbbd69157 Respond to review 2018-05-17 15:46:21 +02:00
Sergey Dudoladov 83a26fb78b Rename RBAC file 2018-05-17 12:05:31 +02:00
Sergey Dudoladov 08919fed57 Fix links and typos 2018-05-17 10:56:54 +02:00
Sergey Dudoladov bfc1950df8 Shorten the introduction 2018-05-16 17:25:03 +02:00
Sergey Dudoladov 631748cd59 Simplify layout 2018-05-16 16:10:49 +02:00
Sergey Dudoladov b067ec788a Minor edits 2018-05-16 16:01:16 +02:00
Sergey Dudoladov a926515530 Employ RBAC when run on minikube 2018-05-16 15:28:45 +02:00
Sergey Dudoladov ca8542185a Add RBAC to Quickstart guide 2018-05-16 11:01:16 +02:00
Sergey Dudoladov 9575c9d35e Create Quickstart section for the docs 2018-05-15 17:39:47 +02:00
Oleksii Kliukin 987b43456b
Deprecate old LB options, fix endpoint sync. (#287)
* Depreate old LB options, fix endpoint sync.

- deprecate useLoadBalancer, replicaLoadBalancer from the manifest
  and enable_load_balancer from the operator configuration. The old
  operator configuration options become no-op with this commit. For
  the old manifest options, `useLoadBalancer` and `replicaLoadBalancer`
  are still consulted,  but only in the absense of the new ones
  (enableMasterLoadBalancer and enableReplicaLoadBalancer).

- Make sure the endpoint being created during the sync receives proper
  addresses subset. This is more critical for the replicas, as for the
  masters Patroni will normally re-create the endpoint before the
  operator.

- Avoid creating the replica endpoint, since it will be created automatically
  by the corresponding service.
- Update the README and unit tests.

Code review by @mgomezch and @zerg-junior
2018-05-15 15:19:18 +02:00
Oleksii Kliukin 288242d021
Change rolling upgrades to rolling updates.
Terminology change.
2018-05-08 15:45:01 +02:00
Jan M 2bb3bdeeb4 Slimming out README and config map, targeting easy first time deployers to minicube. 2018-05-04 12:20:54 +02:00
Sergey Dudoladov a88416e6ea Include default service account for pods into README.md 2018-04-23 14:28:00 +02:00
Sergey Dudoladov 2f3d63a663 Document desired behaviour 2018-04-19 16:11:34 +02:00
Oleksii Kliukin c44cd9e4e6
Define the operator RBAC (#234)
Note that the account here is named zalando-postgres-operator and not
the 'operator' default that is created in the serviceaccount.yaml and
also used by the operator configmap to create new postgres clusters.

This is done intentionally, as to avoid breaking those setups that
already work. Ideally, the operator should be run under the
zalando-postgres-operator service account. However, the service account
used to run Postgres clusters does not require all those privileges and
is described at
https://github.com/zalando/patroni/blob/master/kubernetes/patroni_k8s.yaml

The service account defined here acquires some privileges not really
used by the operator (i.e. we only need list and watch on configmaps),
this is also done intentionally to avoid breaking things if someone
decides to configure the same service account in the operator's
configmap to run postgres clusters.

Documentation and further testing by @zerg-junior
2018-04-05 11:24:24 +02:00
Oleksii Kliukin 26db91c53e
Improve infrastructure role definitions (#208)
Enhance definitions of infrastructure roles by allowing membership in multiple roles, role options and per-role configuration to be specified in the infrastructure role configmap, which must have the same name as the infrastructure role secret. See manifests/infrastructure-roles-configmap.yaml for the examples and updated README for the description of different types of database roles supposed by the operator and their purposes.

Change the logic of merging infrastructure roles with the manifest roles when they have the same name, to return the infrastructure role unchanged instead of merging. Previously, we used to propagate flags from the manifest role to the resulting infrastructure one, as there were no way to define flags for the infrastructure role; however, this is not the case anymore.

Code review and tests by @erthalion
2018-04-04 17:21:36 +02:00
zerg-junior ff5793b584
Merge pull request #258 from zalando-incubator/always-create-replica-service
[WIP] Always create replica service
2018-03-29 14:42:26 +02:00
Sergey Dudoladov a8862aeee1 Enable backward compatibility for enable_load_balancer setting from operator configmap 2018-03-19 17:19:50 +01:00
Sergey Dudoladov 386d7b6bdb Implement backward compatibility with older load balancer settings 2018-03-16 13:27:38 +01:00
Sergey Dudoladov 27837e5672 Document usage of load balancers 2018-03-14 13:09:16 +01:00
Jan M 4f782314aa Add scope section to readme. 2018-03-12 17:34:15 +01:00
zerg-junior 2782e948e1
Update README.md 2018-02-22 12:17:04 +01:00
Sergey Dudoladov 50331bc50a Document behavior in the case of unaccessible namespaces 2018-02-22 11:31:08 +01:00
Sergey Dudoladov c47abed6ba Document usage of multiple namespaces 2018-02-20 14:51:18 +01:00
Sergey Dudoladov 0a9e6bd8d2 Clarify when a separate account for database pods may be needed 2018-02-15 16:40:07 +01:00
Sergey Dudoladov 44a2812f5a Update docs to clarify different service accounts 2018-02-15 15:48:35 +01:00
Sergey Dudoladov fab1e34182 Respond to code review comments 2018-02-15 10:43:06 +01:00
Sergey Dudoladov d5d15b7546 Look for secrets in the deployed namespace 2018-02-14 15:37:30 +01:00
Dmitry Dolgov 08e3d925e6
Merge pull request #227 from zalando-incubator/feature/unit-tests-doc
Add section about unit tests
2018-02-09 14:05:20 +01:00
Dmitrii Dolgov 36b363b3ce Don't forget about fish vs bash differences 2018-02-09 13:00:35 +01:00
Dmitrii Dolgov fa44674243 Add $ sign 2018-02-09 11:38:04 +01:00
zerg-junior d5af441fd9
Create separate Talks section in the README
Also adds a FOSDEM 2018 talk on the operator
2018-02-09 11:27:25 +01:00
Dmitrii Dolgov 305b77be90 Add section about unit tests 2018-02-09 11:26:37 +01:00
Dmitrii Dolgov 4e629ef7ca Update section to be more specific 2018-02-01 17:59:05 +01:00
Dmitrii Dolgov 53014ca28b Add a section about debugger
So far only delve is described in details
2018-02-01 17:21:37 +01:00
Oleksii Kliukin b90a36c909
Set node_readiness_label default to an empty value. (#204)
Previously, it was set to the lifecycle-status:ready, breaking a
lot of minikube deployments. Also it was not possible befor to run
with this label set to an empty value.

Document the effect of the label in the new section of the
documentation.
2018-01-16 15:43:03 +01:00
Jan Mussler 56359d23c9
Update README.md (#201) 2018-01-10 18:27:32 +01:00
Oleksii Kliukin 80d55c1072 Mention the talk by Josh Berkus and the blog post by Jan Mußler. 2017-12-18 16:25:50 +01:00
Jan Mussler 04024f91e4 Update README.md
Removed a bit about the staging only use case and describe our setup.
2017-12-17 16:19:22 +01:00
Oleksii Kliukin bf80f5225e
Introduce higher and lower bounds for the number of instances (#178)
* Introduce higher and lower bounds for the number of instances

Reduce the number of instances to the min_instances if it is lower and
to the max_instances if it is higher. -1 for either of those means there
is no lower or upper bound.

In addition, terminate the operator when there is a nonsense in the
configuration (i.e. max_instances < min_instances).

Reviewed by Jan Mußler and Sergey Dudoladov.
2017-12-15 16:02:50 +01:00
Oleksii Kliukin 0e255f82c6 Provide more information about variable conflicts.
They are mentioned in the documentation and the operator will emit a
warning each time the variable from the pod environment configmap is
ignored because the same variable is defined by the operator.

Some minor changes in the variable names to make the code more readable.

Per review from Sergey Dudoladov.
2017-12-14 14:39:33 +01:00