Stefan Prodan
ef360ebc3e
Add metrics recorder test
...
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-10-09 18:47:59 +03:00
Stefan Prodan
6223abdd06
Record the ready status as Prometheus metric
...
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-10-09 16:27:43 +03:00
stefanprodan
50104826ae
Promote API to v1beta1
2020-09-30 19:10:27 +03:00
stefanprodan
7b8fef2984
Implement `fluxcd/pkg/meta/api` in APIs
2020-09-30 14:01:17 +03:00
stefanprodan
4a283d74b4
Implement reconciliation on remote clusters
2020-09-30 11:36:37 +03:00
stefanprodan
45bfe6dfe5
Record last handled reconcile at annotation
2020-09-29 21:14:19 +03:00
stefanprodan
1978f987de
Update kustomize/api to v0.6.1
2020-09-19 15:16:36 +03:00
stefanprodan
0d6f715efc
Add support for S3 bucket sources
2020-09-19 13:32:38 +03:00
Philip Laine
8fed231d2b
Change event message
2020-09-19 11:53:17 +02:00
Philip Laine
cff825d6cf
Send event when reconcile succeeds with update metadata
2020-09-19 11:53:15 +02:00
stefanprodan
2b9370e658
Normalize the ready condition reasons
...
- use reconciliation instead of apply for condition reasons
- add the reconciliation errors to the condition message
- trim the condition message to 4000 characters
- update the API docs and readme with the new condition reasons
2020-09-17 12:23:50 +03:00
stefanprodan
544e7cf0eb
Use manifests checksum in GC snapshot
2020-09-16 09:34:22 +03:00
Hidde Beydals
e46add39ed
Support dependency references to other namespaces
2020-09-15 15:18:34 +02:00
stefanprodan
df1761f8f5
Set kubectl cache dir to /tmp
2020-09-15 13:28:14 +03:00
stefanprodan
9363703634
Refactor kstatus health check
2020-09-14 10:48:24 +03:00
Stefan Prodan
d105ecff2f
Merge pull request #101 from phillebaba/feature/kstatus
...
Implement kstatus for health checks
2020-09-14 09:43:24 +03:00
Philip Laine
042f9dcbae
Change poll rate
2020-09-13 15:41:20 +02:00
Hidde Beydals
9140483c8d
Include PATCH rule for events in manager-role
...
During high custom resource count / low interval tests, I was greated
with a `cannot patch resource "events"` message. This happened due to
event compaction, where it will perform a patch instead of a create.
By giving the role the permission to do so this should no longer pose
a problem.
2020-09-10 21:19:44 +02:00
Stefan Prodan
845947c814
Merge pull request #103 from fluxcd/use-pkg-for-runtime-bits
...
Use annotation and predicate from fluxcd/pkg
2020-09-10 15:56:20 +03:00
Michael Bridgen
47f5d0b4b0
Use annotation and predicate from fluxcd/pkg
...
The reconcileAt annotation and the predicate that recognises it are
now in fluxcd/pkg/runtime. This removes (near) duplicate definitions
in favour of using those.
2020-09-10 13:43:49 +01:00
stefanprodan
087be46136
Refactor garbage collector
2020-09-10 14:26:14 +03:00
Philip Laine
4e45c916e2
Refactor health check completed logic
2020-09-08 23:21:47 +02:00
Philip Laine
ea627e3448
Change health check from WorkloadReference to CrossNamespaceObjectReference
2020-09-07 23:31:31 +02:00
Philip Laine
ca80431ef8
Change kind ref in health checks to group kind
2020-09-06 20:43:00 +02:00
Philip Laine
9c54e2cb30
Implement kstatus check
2020-09-06 17:59:25 +02:00
stefanprodan
38f2ec2862
Fix GC snapshot
2020-09-05 10:35:29 +03:00
Hidde Beydals
07f13e56eb
GPG decryption in contained environment
2020-09-02 15:42:02 +02:00
stefanprodan
c605ccf6d2
Implement Mozilla SOPS decryption
2020-09-01 15:51:22 +03:00
stefanprodan
7e06af6d4b
Refactor garbage collection
2020-09-01 13:35:05 +03:00
stefanprodan
b00a841162
Refactor kustomization file generation
2020-09-01 12:34:50 +03:00
stefanprodan
f9b748378b
Fix GC ignore unknown resource kind
2020-08-31 12:04:34 +03:00
stefanprodan
2963ad27e0
Implement kustomize create and build
...
- Replace kustomize shell-out with kustomize/api
- Remove kustomize binary from Dockerfile
- Update kubectl binary to 1.19.0
2020-08-31 11:06:47 +03:00
stefanprodan
65f511a58b
Allow kustomizations to load files from outside their root
...
Add git OS package to enable kustomize remote URLs
2020-08-18 11:34:16 +03:00
Hidde Beydals
5905f3a85f
Change CRD domain to 'kustomize.toolkit.fluxcd.io'
...
Due to required domain changes for the helm-controller so that it
can co-exist in a cluster with the Helm Operator, other Toolkit
components are moving to a *.toolklit.fluxcd.io domain too.
2020-07-30 22:40:16 +02:00
stefanprodan
40ff1a7038
Rename apply succeeded reason
2020-07-30 14:48:29 +03:00
stefanprodan
3d7687e216
Set event reason from ready status reason
2020-07-30 14:13:46 +03:00
stefanprodan
c3599135c9
Use SA token for impersonation
2020-07-25 09:45:31 +03:00
Hidde Beydals
4231b9b6c8
Take observed generation of deps into account
...
To prevent operations from being performed while they are "Ready",
but the latest generation of the depenceny has not been reconciled
yet.
2020-07-23 17:15:33 +02:00
Hidde Beydals
61c1dce06c
Refactor garbage collector to finalizer
2020-07-16 15:06:37 +02:00
stefanprodan
2a025c49cb
Implement cross-namespace source references
2020-07-16 10:28:15 +03:00
stefanprodan
0934fda436
Improve error handling and reporting
...
- return reconciliation error so that controller runtime metrics record failures
- change structure logging labels to match the controller runtime format
- prevent spurious info events by issuing events only when revision changes
2020-07-15 15:00:45 +03:00
stefanprodan
47d239312a
Update source-controller to v0.0.5
2020-07-13 17:14:13 +03:00
stefanprodan
706e85ecec
Use fluxcd/pkg/untar for artifact extraction
2020-07-10 10:44:57 +03:00
stefanprodan
a69af9d57c
Add last attempted revision to status
2020-07-10 09:54:45 +03:00
stefanprodan
4d3a3a7bae
Emit events for garbage collection
2020-07-02 11:52:03 +03:00
stefanprodan
406ce977a4
Add revision to events metadata
2020-07-02 08:01:06 +03:00
stefanprodan
2ebd5b6450
Implement event recording
...
- emit Kubernetes events for reconciliation actions
- forward events to notification controller
- remove the Profile API/CRD
2020-07-01 20:39:48 +03:00
stefanprodan
ab15f3c185
Migrate to fluxcd/pkg
2020-06-30 17:25:03 +03:00
Hidde Beydals
3f6edc5280
Check suspend status before progressing
...
When a release is marked as suspended no operations should be performed
for the release except acknowledging the reconciler has noticed it has
been suspended. This means the suspend check should happen _before_ the
Kustomization is marked as progressing (which should be an indicator
reconciliation is enabled for the Kustomization).
2020-06-30 11:15:43 +02:00
stefanprodan
d11e76d322
Configurable dependency requeuing
...
Add command argument for configuring the interval at which failing dependencies are reevaluated.
2020-06-20 10:30:37 +03:00
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