Murat Kabilov
86803406db
use sync methods while updating the cluster
2017-11-03 12:00:43 +01:00
Georg Kunz
47dd766fa7
Add node toleration config to PodSpec ( #151 )
...
* Add node toleration config to PodSpec
This allows to taint nodes dedicated to Postgres and prevents other pods from running on these nodes.
* Document taint and toleration setup
And remove setting from default operator ConfigMap
* Allow to overwrite tolerations with Postgres manifest
2017-11-02 19:10:44 +01:00
Oleksii Kliukin
ce960e892a
Create new databases and change owners of existing ones during sync. ( #153 )
...
* Create new databases and change owners of existing ones during sync.
2017-11-02 17:46:33 +01:00
Oleksii Kliukin
7a76be7d3e
Minor fixes around PDB (pod-distruption-budget) syncing: ( #147 )
...
- Call comparison function in the case of the sync as well as for update
- Include full cluster name in PDB name
- Assign cluster labels to the PDB object
2017-10-23 12:26:59 +02:00
Murat Kabilov
c17aabb642
fix pod disruption budget labels ( #146 )
2017-10-20 15:01:51 +02:00
Murat Kabilov
661b141849
Fix Pod Disruption Budget null pointer exception
2017-10-20 11:43:50 +02:00
Murat Kabilov
a1deae198b
add missing master matchLabel for the PDB ( #144 )
2017-10-20 11:26:40 +02:00
Oleksii Kliukin
eba23279c8
Kube cluster upgrade
2017-10-19 10:49:42 +02:00
Oleksii Kliukin
1dbf259c76
Retry opening DB connections. ( #140 )
...
Make sure DB connection retry also reopens a connection after closing it
2017-10-18 16:28:00 +02:00
Oleksii Kliukin
99870d8eac
Fix division by zero when connecting to the DB.
...
Apparently the retry function's first parameter is the duration of
a single attempt and it cannot be zero.
2017-10-18 10:44:49 +02:00
Murat Kabilov
202f2de988
Retry connecting to pg
2017-10-17 17:03:50 +02:00
Murat Kabilov
6c4cb4e9da
Perform manual failover during the scale down
2017-10-16 17:41:23 +02:00
Murat Kabilov
5b29576a8e
Remove redundant constants
2017-10-16 15:52:48 +02:00
Murat Kabilov
3b32265258
Set status of the cluster on sync fail/success
2017-10-12 15:10:42 +02:00
Jan Mussler
cec695d48e
Superuser toggle for team members
...
Make superuser toggleable for team members. Add and "admin" role to team members if superuser is disabled.
2017-10-12 15:01:54 +02:00
Murat Kabilov
8d5faaa5a5
return idle status when worker has nothing to do
2017-10-11 15:42:20 +02:00
Oleksii Kliukin
793defef72
Fix pod wait timeouts.
...
Previously, a timer had been reset on every message received through
the pod channel.
2017-10-11 14:58:37 +02:00
Murat Kabilov
83c8d6c419
Extend diagnostic api with worker status info
2017-10-11 12:26:09 +02:00
Murat Kabilov
71a540ff48
Merge branch 'master' into crd
2017-10-09 11:55:18 +02:00
Murat Kabilov
a35e9c6119
move from tpr to crd
2017-10-06 15:12:08 +02:00
Murat Kabilov
3b8c06416e
skip manual failover for 1-pod clusters
2017-10-05 13:30:15 +03:00
Jan Mussler
c4af0ac6a6
Update cluster.go
2017-10-05 10:58:23 +02:00
Jan M
4a1170855a
Adding '_' to allowed chars.
2017-10-05 10:53:19 +02:00
Murat Kabilov
48ec6b35b9
perform manual failover on pg cluster rolling upgrade
2017-10-04 16:56:47 +03:00
Murat Kabilov
00194d0130
create dbs on cluster create
2017-10-04 16:24:27 +03:00
Murat Kabilov
5cfdabb63e
fix regexp for api endpoint urls
2017-09-28 12:00:40 +02:00
Murat Kabilov
be8bf22c00
add missing return
2017-09-28 11:23:56 +02:00
Murat Kabilov
93d4bf2b55
Merge branch 'master' into api-improvements
2017-09-26 14:47:13 +02:00
Murat Kabilov
19de2a24b7
go lint
2017-09-26 13:44:30 +02:00
Murat Kabilov
d876f4d88e
set secret name template via config map
2017-09-18 14:25:09 +02:00
Oleksii Kliukin
7667847bfe
Feature/validate role options ( #101 )
...
Be more rigorous about validating user flags.
Only accept CREATE ROLE flags that doesn't have any params (i.e.
not ADMIN or CONNECTION LIMIT). Check that both flag and NOflag
are not used at the same time.
2017-09-15 13:57:48 +02:00
Murat Kabilov
969a06f521
Use DCS_ENABLE_KUBERNETES_API=true environment to enable kubernetes native deployment
2017-09-14 11:39:49 +02:00
Murat Kabilov
8430ee86c9
add comments on roles
2017-09-11 17:44:32 +02:00
Murat Kabilov
90b49a24ba
make postgresql roles public
2017-09-11 17:44:32 +02:00
Oleksii Kliukin
8b85935a7a
Allow cloning clusters from the operator. ( #90 )
...
Allow cloning clusters from the operator.
The changes add a new JSON node `clone` with possible values `cluster`
and `timestamp`. `cluster` is mandatory, and setting a non-empty
`timestamp` triggers wal-e point in time recovery. Spilo and Patroni do
the whole heavy-lifting, the operator just defines certain variables and
gathers some data about how to connect to the host to clone or the
target S3 bucket.
As a minor change, set the image pull policy to IfNotPresent instead
of Always to simplify local testing.
Change the default replication username to standby.
2017-09-08 16:47:03 +02:00
Oleksii Kliukin
a0a9e8f849
Feature/configure replication role ( #97 )
...
Configure superuser and replication usernames
2017-09-07 10:12:34 +02:00
Murat Kabilov
39c123e96a
fetch cluster resources by name, not by label selectors
2017-09-04 18:03:54 +02:00
Murat Kabilov
8aa11ecee2
Add patroni api client
2017-08-30 16:01:18 +02:00
Murat Kabilov
899c0bef45
Use warningf instead of warnf
2017-08-30 14:35:56 +02:00
Murat Kabilov
f44c8e1206
Make pod termination grace period configurable
2017-08-18 16:52:19 +02:00
Murat Kabilov
71dfb33b2b
make pod termination grace period configurable
2017-08-18 16:38:25 +02:00
Murat Kabilov
5967837875
pass the name of the status in the log message on set cluster status failure
2017-08-17 12:18:53 +02:00
Murat Kabilov
d2828e5ece
remove var shading; fix imports
2017-08-15 15:59:10 +02:00
Murat Kabilov
272d7e1bcf
rename service field to services as it contains service per role
2017-08-15 15:55:56 +02:00
Murat Kabilov
82f58b57d8
add cluster and controller methods for getting status
2017-08-15 12:11:06 +02:00
Murat Kabilov
5470f20be4
always pass a cluster name as a logger field
2017-08-15 10:29:18 +02:00
Murat Kabilov
e26db66cb5
start all the log messages with lowercase letters
2017-08-15 10:12:36 +02:00
Oleksii Kliukin
87a379f663
Avoid reusing closed DB connection. ( #79 )
...
Set DB connection to nil upon closing it.
2017-08-10 18:19:35 +02:00
Oleksii Kliukin
f15f93f479
Bugfix/close db connections ( #78 )
...
Open and close DB connections on-demand.
Previously, we used to leave the DB connection open while the
cluster was registered with the operator, potentially resutling
in dangled connections if the operator terminates abnormally.
Small refactoring around the role syncing code.
2017-08-10 10:10:00 +02:00
Oleksii Kliukin
a8b5b77cc4
Fix missing labels in the replica service selector.
2017-08-02 17:46:24 +02:00