stefanprodan
9c18d044de
Fix artifact extraction
2020-06-10 11:55:54 +03:00
stefanprodan
1f25b5852b
Watch resources in the runtime namespace only
2020-06-09 15:53:20 +03:00
stefanprodan
0c47dfd549
Retry apply on missing Kind
2020-05-13 19:04:00 +03:00
stefanprodan
7e584dcbf2
Improve health checking
...
Wait for a deployment to be created before running the liveness check
2020-05-09 12:18:44 +03:00
stefanprodan
f96f3e326f
Implement pruning based on snapshots
2020-05-05 16:56:27 +03:00
stefanprodan
dbe3e69508
Introduce garbage collection based on snapshots
2020-05-05 15:42:49 +03:00
stefanprodan
6b1bbb53b8
Retry sync trigger
2020-05-02 12:06:48 +03:00
stefanprodan
5a73ba7477
Implement SA impersonation
2020-05-01 22:13:54 +03:00
stefanprodan
af68aa0e9e
build: install tar
2020-04-28 16:25:05 +03:00
stefanprodan
86f6e84d59
Report progressing status
...
Set ready condition to unknown while the reconciliation is progressing.
This allows other operators to wait for a sync to complete.
2020-04-27 00:39:48 +03:00
stefanprodan
696658dcc9
Record last applied revision
...
- add LastAppliedRevision field to Status
- set LastAppliedRevision after a successful sync
- add Status section spec
2020-04-24 00:44:32 +03:00
stefanprodan
b88626c0cc
Generate label transformers for the prune selectors
2020-04-23 12:52:35 +03:00
stefanprodan
d37741e633
Implement kustomization.yaml generation
2020-04-22 20:34:40 +03:00
stefanprodan
81ff97bc8d
Implement Slack and Discord alerting
2020-04-21 14:09:26 +03:00
stefanprodan
fe88706613
Introduce dependencies between kustomizations
...
- add DependsOn field to API
- implement ordered apply of kustomizations based on dependencies and readiness status
- retry execution every half a minute for kustomizations with dependencies that do not meet the ready condition
- add interdependent kustomizations to config testdata
2020-04-19 18:27:32 +03:00
stefanprodan
508b7cca6a
Refactor controller sync
...
- extract sync operations to dedicated functions
- add health check failed reason
2020-04-19 11:04:05 +03:00
stefanprodan
8fd0d45916
Add timeout to API
...
- add timeout field to API (defaults to interval duration)
- set timeout for validation, apply and heath check operations
- set concurrent reconciles to 4 (avoid health checks from delaying other operations)
2020-04-19 09:44:32 +03:00
stefanprodan
0dae17ffd6
Introduce health assessment
...
- add health checks to API
- implement rollout status check
2020-04-19 01:28:58 +03:00
stefanprodan
a3b8bcb310
Allow kustomize execution to be suspended
2020-04-18 18:16:20 +03:00
stefanprodan
3f50c71af4
Introduce validation
...
- add validation field to API
- perform dry-run apply
- add validation strategies to docs
2020-04-18 14:14:51 +03:00
stefanprodan
6d28f7c9b2
Introduce JSON logging
...
- add JSON log format cmd flag
- format apply output as a map of object/operation
- add apply logs to docs
2020-04-18 11:11:44 +03:00
stefanprodan
58846979bc
Trigger sync on artifact creation
2020-04-17 19:50:17 +03:00
stefanprodan
eee47333cf
Implement garbage collection
...
- add GarbageCollect predicate
- remove the Kubernetes objects previously applied on the cluster, based on the prune label select
- add garbage collection spec to docs
2020-04-17 13:25:36 +03:00
stefanprodan
681349f425
Set apply timeout to interval duration
2020-04-17 11:15:39 +03:00
stefanprodan
9f7d995577
Add locking to kustomization apply
2020-04-17 10:30:40 +03:00
stefanprodan
c564555eb0
Use Source interface instead of Git concrete type
...
- use TypedLocalObjectReference instead of LocalObjectReference for referencing a source
- update docs for GitRepository kind
- update source API to 0.0.1-alpha.1
2020-04-16 18:30:18 +03:00
stefanprodan
ee74f8e329
Trigger kustomization apply on source changes
...
- detect revision changes in Git repositories
- index kustomizations based on source
- trigger kustomizations on revision changes
2020-04-16 10:40:28 +03:00
stefanprodan
17ec746136
Implement kustomization reconciler
...
- fetch artifact from source controller based on the referenced Git repository
- run kustomize build for the specified path
- apply kustomization on cluster
- prune objects based on label selector
2020-04-15 15:20:21 +03:00
stefanprodan
3df6bfebfa
Init controller with kubebuilder
2020-04-15 09:58:33 +03:00