Commit Graph

311 Commits

Author SHA1 Message Date
Felix Kunde e51d968151 remove TestSetStatus for now 2019-05-06 17:12:42 +02:00
Felix Kunde db28339ad3 marshal with struct 2019-05-02 17:02:33 +02:00
Felix Kunde 2784493665 going back to marshal a string to statisfy patch body 2019-05-02 14:16:06 +02:00
Felix Kunde 11b4b39697 add debug message for setStatus 2019-05-02 12:15:50 +02:00
Felix Kunde 3e4a9d597d temporarily disable TestSetStatus 2019-05-02 11:52:50 +02:00
Felix Kunde de40e508b9 do not export setStatus 2019-05-02 11:18:41 +02:00
Felix Kunde 9e7760d80a put mock methods to k8sutil to avoid cycling imports 2019-04-18 18:04:37 +02:00
Felix Kunde 2ad951e172 move setStatus test to controller package and make function public 2019-04-18 15:18:31 +02:00
Felix Kunde f0888b6017 add test for setStatus 2019-04-18 12:05:25 +02:00
Felix Kunde c636b3165f minor change 2019-04-17 17:09:00 +02:00
Felix Kunde 11f899367c marshal patch when setting status 2019-04-16 15:38:22 +02:00
Felix Kunde 24559e42d1 add creating method for PostgresStatus 2019-04-12 16:36:50 +02:00
Felix Kunde c3834df57a remove type PostgresClusterStatus 2019-04-11 12:31:50 +02:00
Felix Kunde 9f3ed38643 simplify PostgresClusterStatus string comparison 2019-04-10 15:00:46 +02:00
Felix Kunde 407a05086e using status subresource 2019-04-09 14:01:27 +02:00
Felix Kunde 7e356a15c7 use subresource when patching new status 2019-04-09 12:36:02 +02:00
Felix Kunde 48e184d98e marshal nested status field 2019-04-09 11:30:12 +02:00
Felix Kunde 17abf3b5ab Merge branch 'master' into cluster-status-map2 2019-04-08 17:28:35 +02:00
Felix Kunde f3f3746a50 set PostgresClusterStatus to omitempty 2019-04-04 18:58:29 +02:00
Felix Kunde 5e87d48508 nested status field 2019-04-04 15:15:32 +02:00
Felix Kunde 3887938ab9 change name of status field 2019-04-03 17:33:56 +02:00
Aaron Miller 15ec6a920d Config option to allow Spilo container to run non-privileged. (#525)
* Config option to allow Spilo container to run non-privileged.

Runs non-privileged by default.

Fixes #395

* add spilo_privileged to manifests/configmap.yaml

* add spilo_privileged to helm chart's values.yaml
2019-04-03 17:13:39 +02:00
Stephane T edeb06d39c fix: update init_containers (#518)
* fix: PATH expension in Makefile

Signed-off-by: Stephane Tang <hi@stang.sh>

* refact: pass list of containers to compareContainers()

Signed-off-by: Stephane Tang <hi@stang.sh>

* compare initContainers while comparing StatefulSet

  Fixes #517

Signed-off-by: Stephane Tang <hi@stang.sh>

* refact: compareContainers()

Signed-off-by: Stephane Tang <hi@stang.sh>
2019-03-19 17:46:12 +01:00
Sergey Dudoladov 0b53dbe5dc
Set statefulset update and management policy explicitly (#515)
* fix logging in retry

* explicitly set the stateful set update strategy to onDelete

* add podManagementPolicy
2019-03-13 11:49:18 +01:00
Vineeth Reddy db72d82f14 gofmt and golint fixes (#506)
* fix gofmt and golint issues
2019-03-04 13:13:55 +01:00
Sergey Dudoladov 587d9091e7
Set HUMAN_ROLE Spilo env var (#409)
* Set HUMAN_ROLE Spilo env var
2019-02-27 13:40:42 +01:00
Felix Kunde 31e568157b reflect change in github url (#496)
Project was moved from the incubator to the Zalando main org, hence the rename
2019-02-25 11:26:55 +01:00
teuto.net Netzdienste GmbH 26a7fdfa9f Add Pod Anti Affinity (#489)
* Add Pod Anti Affinity
2019-02-21 16:37:03 +01:00
Stephane T d11b23bd71 Add inherited_labels (#459)
* add support for inherited_labels

Signed-off-by: Stephane Tang <hi@stang.sh>

* update docs with inherited_labels

Signed-off-by: Stephane Tang <hi@stang.sh>
2019-02-14 12:29:06 +01:00
Maxim Ivanov ed6acc1178 Correctly report success in .status on Update (#469) 2019-01-31 13:09:17 +01:00
Maxim Ivanov 3544cc90fa Allow specifying init_containers in Postgres CRD (#445)
* Add support for init_containers
2019-01-29 11:08:44 +01:00
Armin Nesiren 6f6a599c90 Added possibility to add custom annotations to LoadBalancer service. (#461)
* Added possibility to add custom annotations to LoadBalancer service.
2019-01-25 11:35:27 +01:00
Maxim Ivanov 8330905ce7 Don't panic if Service for the role was not found (#451) 2019-01-18 13:38:47 +01:00
Jan Mussler c70905ae8b Modifying some of the logging to be more descriptive. (#440)
* Modifying some of the logging to be more descriptive.
2019-01-08 13:07:36 +01:00
zerg-junior 4b5d3cd121
Fix golint failures
* Fix golint fails based on the original work from  the user u5surf

* Skip installing Docker as CDP now have one pre-installed (repairs builds on CDP)
2019-01-08 13:04:48 +01:00
Arve Knudsen f7058c754d Pass more variables to Spilo container (#437)
Pass KUBERNETES_SCOPE_LABEL, KUBERNETES_ROLE_LABEL and KUBERNETES_LABELS
to spilo container, so that they could be changed. Fix for #411
2019-01-04 13:42:52 +01:00
zerg-junior 5cfcc453a9
Update CRD configuration docs and fix the CDP build (#414)
* Update CRD configuration docs

* document resource consumption of the operator

* Add talks by Oleksii
2019-01-02 12:01:47 +01:00
zerg-junior c0b0b9a832
[WIP] Add 'admin' option to create role (#425)
* Add 'admin' option to create role

* Fix run_locally_script
2018-12-27 10:14:33 +01:00
Dmitry Dolgov d6e6b00770
Add shm_volume option (#427)
Add possibility to mount a tmpfs volume to /dev/shm to avoid issues like
[this](https://github.com/docker-library/postgres/issues/416). To achieve that
two new options were introduced:

* `enableShmVolume` to PostgreSQL manifest, to specify whether or not mount
this volume per database cluster

* `enable_shm_volume` to operator configuration, to specify whether or not mount
per operator.

The first one, `enableShmVolume` takes precedence to allow us to be more flexible.
2018-12-21 16:22:30 +01:00
zerg-junior 45c89b3da4
[WIP] Add set_memory_request_to_limit option (#406)
* Add set_memory_request_to_limit option
2018-11-15 14:00:08 +01:00
zerg-junior 96e3ea9511
Properly overwrite empty allowed source ranges for load balancers (#392)
* Properly overwrite empty allowed source ranges for load balancers
2018-11-06 11:08:45 +01:00
zerg-junior 86ba92ad02
Rename 'permanent_slots' field to 'slots' (#401) 2018-10-31 16:11:28 +01:00
zerg-junior 1b4181a724
[WIP] Add the ability to configure replications slots in Patroni (#398)
* Add the ability to configure replication slots in Patroni

* Add debugging  to Makefile for CDP builds
2018-10-31 13:10:56 +01:00
zerg-junior 7907f95d2f
Improve reporting about rolling updates (#391) 2018-09-24 11:57:43 +02:00
Noah Kantrowitz 688d252752 Some tweaks to ensure compat with newer Go. (#383) 2018-09-17 10:13:07 +02:00
Noah Kantrowitz 0b75a89920 Fix the casing of github.com/Sirupsen/logrus to match what the project itself uses. (#380)
Dep enforces this.
2018-09-06 10:26:48 +02:00
zerg-junior 25fa45fd58 [WIP] Grant 'superuser' to the members of Postgres admin teams (#371)
Added support for superuser team in addition to the admin team that owns the postgres cluster.
2018-08-30 10:51:37 +02:00
zerg-junior aeae0a6ef2
Use cluster's own namespace to patch the cluster manifest (#373) 2018-08-22 11:07:12 +02:00
Oleksii Kliukin e1ed4b847d
Use code-generation for CRD API and deepcopy methods (#369)
Client-go provides a https://github.com/kubernetes/code-generator package in order to provide the API to work with CRDs similar to the one available for built-in types, i.e. Pods, Statefulsets and so on.

Use this package to generate deepcopy methods (required for CRDs), instead of using an external deepcopy package; we also generate APIs used to manipulate both Postgres and OperatorConfiguration CRDs, as well as informers and listers for the Postgres CRD, instead of using generic informers and CRD REST API; by using generated code we can get rid of some custom and obscure CRD-related code and use a better API.

All generated code resides in /pkg/generated, with an exception of zz_deepcopy.go in apis/acid.zalan.do/v1

Rename postgres-operator-configuration CRD to OperatorConfiguration, since the former broke naming convention in the code-generator.

Moved Postgresql, PostgresqlList, OperatorConfiguration and OperatorConfigurationList and other types used by them into

Change the type of  the Error field in the Postgresql crd to a string, so that client-go could generate a deepcopy for it.

Use generated code to set status of CRD objects as well. Right now this is done with patch, however, Kubernetes 1.11 introduces the /status subresources, allowing us to set the status with
the special updateStatus call in the future. For now, we keep the code that is compatible with earlier versions of Kubernetes.

Rename postgresql.go to database.go and status.go to logs_and_api.go to reflect the purpose of each of those files.

Update client-go dependencies.

Minor reformatting and renaming.
2018-08-15 17:22:25 +02:00
Oleksii Kliukin e933908084
Configure pg_hba in the local postgresql configuration of Patroni. (#361)
Previously, the operator put pg_hba into the bootstrap/pg_hba key of
Patroni. That had 2 adverse effects:
 - pg_hba.conf was shadowed by Spilo default section in the local
   postgresql configuration
 - when updating pg_hba in the cluster manifest, the updated lines were
   not propagated to DCS, since the key was defined in the boostrap
   section of Patroni.

Include some minor refactoring, moving methods to unexported when
possible and commenting out usage of md5, so that gosec won't complain.

Per https://github.com/zalando-incubator/postgres-operator/issues/330

Review by @zerg-junior
2018-08-08 11:01:26 +02:00