Commit Graph

787 Commits

Author SHA1 Message Date
Philippe Scorsolini 7a082cc2b6
fix(package parser): only drop fully commented files
Signed-off-by: Philippe Scorsolini <p.scorsolini@gmail.com>
2023-09-15 18:12:41 +02:00
Hasan Turken 43c9ceeb20
Merge pull request #523 from toastwaffle/add-jitter
Add support for applying jitter when requeuing resources after reconcile
2023-09-12 15:28:05 +03:00
Philippe Scorsolini ce49d22b3b reconciler: requeue without error on conflict
Signed-off-by: Philippe Scorsolini <p.scorsolini@gmail.com>
2023-09-11 17:25:28 +02:00
Dr. Stefan Schimanski e63d00a63c
resource: add FirstNAndSomeMore helper
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-09-08 08:28:09 +02:00
Dr. Stefan Schimanski b069d9debb
pkg/resource: add StoreCurrentRV
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-09-05 22:14:06 +02:00
Samuel Littley 381948c05d Switch to supporting only a single PollIntervalHook
Signed-off-by: Samuel Littley <slittley@thoughtmachine.net>
2023-09-05 11:37:36 +01:00
Samuel Littley 188f2b6e21 Fix lint
Signed-off-by: Samuel Littley <slittley@thoughtmachine.net>
2023-09-04 16:53:29 +01:00
Samuel Littley b1cc110def Define WithPollJitter in terms of a PollIntervalHook
Signed-off-by: Samuel Littley <slittley@thoughtmachine.net>
2023-09-04 16:53:29 +01:00
Samuel Littley e7a425b136 Add a hook for customising the poll interval
Signed-off-by: Samuel Littley <slittley@thoughtmachine.net>
2023-09-04 16:53:29 +01:00
Samuel Littley 7bf25e3e5a Add support for applying jitter when requeuing resources after reconcile
Signed-off-by: Samuel Littley <slittley@thoughtmachine.net>
2023-09-04 16:53:29 +01:00
Nic Cope b34d7c1386
Merge pull request #526 from sttts/sttts-managed-reconcile-avoid-temporary-data-loss
reconciler/managed: avoid temporary data loss to managed on annotation update
2023-08-28 13:54:58 -07:00
Dr. Stefan Schimanski 5b4ebc1680
reconciler/managed: avoid temporary data loss to managed on annotation update
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-08-24 19:55:43 +02:00
Christopher Haar fd85873073 feat(remove): remove deprecated providerRef
Signed-off-by: Christopher Haar <christopher.haar@upbound.io>
2023-08-23 15:46:55 +02:00
Hasan Turken fcbb2cdeb5
Merge pull request #518 from turkenh/extend-composed-type
Extend unstructured composed package with additional methods
2023-08-17 15:59:32 +03:00
Hasan Turken 4f3cb3d9fd
Merge pull request #513 from turkenh/remove-in-tree-vault
Remove in-tree Vault implementation
2023-08-15 09:06:07 +03:00
Hasan Turken 04ceabf588
Extend unstructured composed package with additional methods
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-08-14 19:49:08 +03:00
Hasan Turken 4a83a570ec
Remove in-tree Vault implementation
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-08-14 09:34:01 +03:00
Hasan Turken 11e9468944
Cleanup deprecated stuff that are no longer used
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-08-11 13:02:54 +03:00
muvaffak afbf4fc4e5
Merge pull request #504 from muvaf/parse-me-alright
pkg.parser: add the ability to parse manifests with comments
2023-08-08 18:10:03 +03:00
Muvaffak Onus 4cba0090d9 pkg.parser: add the ability to parse manifests with comments
Signed-off-by: Muvaffak Onus <me@muvaf.com>
2023-08-08 17:55:49 +03:00
Dr. Stefan Schimanski c1ae379705
reconciler/managed: only debug log transient conflict errors
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-08-04 16:32:44 +02:00
Philippe Scorsolini b689131623
Merge pull request #492 from ezgidemirel/issue-4191
Ignore k8s secret not found when ESS enabled
2023-08-04 13:42:42 +02:00
ezgidemirel c7b06073db
add unit test
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-08-04 12:44:13 +03:00
Christopher Haar e147d407d7 feat(controller-runtime): add recover true option
Signed-off-by: Christopher Haar <christopher.haar@upbound.io>
2023-08-01 10:46:32 +02:00
ezgidemirel 8e756293ec
Ignore k8s secret not found when ESS enabled
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-07-31 16:59:49 +03:00
Philippe Scorsolini 5246a84c83
Merge pull request #478 from sttts/sttts-multi-error 2023-07-14 22:17:33 +02:00
Dr. Stefan Schimanski 1fadab9fda
pkg/errors: add multi error
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-07-14 22:06:09 +02:00
lsviben 73a675c82c
implement granular managementPolicies
Signed-off-by: lsviben <sviben.lovro@gmail.com>
2023-07-13 13:43:34 +02:00
Nic Cope 3de55a4a72 Update module github.com/imdario/mergo to v1
Signed-off-by: Nic Cope <nicc@rk0n.org>
2023-06-22 00:26:15 -07:00
Nic Cope cf0dad7772 Remove pkg/test/integration
* https://github.com/crossplane/crossplane-runtime/pull/89
* https://github.com/search?q=%22github.com%2Fcrossplane%2Fcrossplane-runtime%2Fpkg%2Ftest%2Fintegration%22&type=code

This was added in the above PR, but we never really made use of it.
Based on the above GitHub search, I think every consumer of the package
(except https://github.com/vshn/crossplane-service-broker?) are ancient,
stale forks of kubevela, oam-kubernetes-runtime, or provider-gcp. Modern
versions of these packages no longer use this one.

If we wanted to be really conservative we could mark this deprecated,
but I lean toward just removing it.

Signed-off-by: Nic Cope <nicc@rk0n.org>
2023-06-21 22:06:23 -07:00
Mateusz Puczyński a5a6b69c4f
Add GetLogger method to fake.Manager
Signed-off-by: Mateusz Puczyński <mati6095@gmail.com>
2023-06-09 12:39:14 +02:00
Mateusz Puczyński 920e5b1ac6
bump sigs.k8s.io/controller-runtime to v0.15.0
Signed-off-by: Mateusz Puczyński <mati6095@gmail.com>
2023-05-26 17:29:45 +02:00
Hasan Turken 4e1673b714
Merge pull request #417 from turkenh/ignore-create-annotaions
Filter out external create annotations from Desired State
2023-04-06 18:57:02 +03:00
Hasan Turken 8ad78a7b31
Avoid using reflect.DeepEqual in annotationsChangedPredicate
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-04-06 18:50:01 +03:00
Philippe Scorsolini 511b39fa56
chore: address issues reported by revive
Signed-off-by: Philippe Scorsolini <p.scorsolini@gmail.com>
2023-04-05 12:03:27 +02:00
Hasan Turken 9bb1416205
Filter out external create annotations from DesiredState
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-29 17:03:14 +03:00
Philippe Scorsolini 57dafafdaf
chore(linter): switching from goimports to gci enforcing imports sorting
Signed-off-by: Philippe Scorsolini <p.scorsolini@gmail.com>
2023-03-29 09:23:07 +02:00
Hasan Turken 0023964825
Resolve Comments in Observe Only PR
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-27 12:05:07 +03:00
Hasan Turken 473dc1e87a
Management Policies should be off by default
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-27 12:05:07 +03:00
Hasan Turken 743b93ca70
Do not late init when observe only
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-27 12:05:07 +03:00
Hasan Turken 2f4e4c0d9d
Lateinit and publish conn for observe only
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-27 12:05:06 +03:00
Hasan Turken 79cb4c8ac1
Add management policy to managed
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-27 12:05:06 +03:00
ezgidemirel 00a8da972a
Add secret name to ESSOptions
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-03-22 18:01:48 +03:00
ezgidemirel 76fec039fb
simplified LoadMTLSConfig signature
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-03-22 17:18:33 +03:00
ezgidemirel 72e474ea27
rename test certificate folder
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-03-22 13:00:06 +03:00
ezgidemirel b0785ed1ca
change store type, make tls config an option
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-03-22 13:00:06 +03:00
ezgidemirel 7a2ca31e32
fix loaded CA certs
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-03-22 13:00:06 +03:00
ezgidemirel fc63b94eb5
Remove certificate loading to make it on upper layers, add unit tests
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-03-22 13:00:06 +03:00
ezgidemirel bbb004932c
Implement gRPC client
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-03-22 13:00:05 +03:00
ezgidemirel 80e0b0c662
Extend secret store API with "External" type
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2023-03-22 13:00:05 +03:00
Hasan Turken 112e9eda45
Add nolint directive for musttag on types used in unit tests
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-22 12:52:52 +03:00
Hasan Turken 3008beba94
Deprecate PredicateFn and helper predicate functions
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-17 17:27:56 +03:00
Hasan Turken c4ec21474a
Add DesiredStateChanged to filter out updates going to status
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-03-17 17:27:56 +03:00
Philippe Scorsolini d95d8e0cca tests: move FuzzParse to separate file
Co-authored-by: Lovro Sviben <46844730+lsviben@users.noreply.github.com>
Signed-off-by: Philippe Scorsolini <p.scorsolini@gmail.com>
2023-03-16 22:26:08 +01:00
Philippe Scorsolini 5a5939990b
tests(fuzz): add FuzzParse test case
Signed-off-by: Philippe Scorsolini <p.scorsolini@gmail.com>
2023-03-13 11:26:30 +01:00
Philippe Scorsolini 0aac4ba546
fix: properly validate max index
Signed-off-by: Philippe Scorsolini <p.scorsolini@gmail.com>
2023-03-08 16:10:26 +01:00
Hasan Turken 53508a9f43
Merge pull request from GHSA-vfvj-3m3g-m532
fix: enforce max index value for paths
2023-03-08 16:44:59 +03:00
Philippe Scorsolini 7560fbc041 fix: enforce max index value for paths
Signed-off-by: Philippe Scorsolini <p.scorsolini@gmail.com>
2023-03-08 14:41:11 +01:00
Hasan Turken af9e3effae
Merge pull request #367 from eljohnson92/support_float_pointers
add support for float pointer references
2023-02-28 15:21:31 +03:00
Hasan Turken b13075274f
Fix connection secret owner check for K8s Secret Store
Fixes https://github.com/crossplane/crossplane/issues/3520

Signed-off-by: Hasan Turken <turkenh@gmail.com>
2023-02-09 18:18:17 +03:00
Nic Cope 9e69576057 Add a test for the new subresource Create method
Signed-off-by: Nic Cope <nicc@rk0n.org>
2023-01-25 10:34:38 -08:00
Nic Cope fd0a07f8eb Remove //nolint:interfacer directive
This linter has been deprecated and is disabled. I would have thought
nolintlint would catch this, but it did not.

Signed-off-by: Nic Cope <nicc@rk0n.org>
2023-01-25 10:34:38 -08:00
Nic Cope b099031ba0 Pass GetOptions through to wrapped client
Signed-off-by: Nic Cope <nicc@rk0n.org>
2023-01-25 10:34:38 -08:00
Nic Cope 71190c3e9a Remove fake.MockStatus* type aliases
I thought this would help with compatibility, but unfortunately this
package has breaking changes that will affect anyone who was using these
types regardless.

Signed-off-by: Nic Cope <nicc@rk0n.org>
2023-01-25 10:34:38 -08:00
Nic Cope 8b832430e9 Bump Kubernetes dependencies
This required some updates to our implementations of client.Client,
which now has a generic SubResource sub-client.

Signed-off-by: Nic Cope <nicc@rk0n.org>
2023-01-25 10:34:37 -08:00
Nic Cope f0fcbc0af5 Update linter config to match c/c
This repo is a little out of date relative to our latest linting
practices.

Signed-off-by: Nic Cope <nicc@rk0n.org>
2023-01-25 10:32:46 -08:00
Evan Johnson ce686bf20e add support for float pointer references
Signed-off-by: Evan Johnson <eljohn1014@gmail.com>
2022-12-08 12:29:11 -05:00
Nic Cope 65044f0439
Merge pull request #364 from ezgidemirel/comp-rev-selector
Add composition revision selectors
2022-11-14 11:51:50 -08:00
Maximilian Blatt 39428e10f6 fix(composite): SetEnvironmentConfigReferences to correct path
Signed-off-by: Maximilian Blatt <maximilian.blatt-extern@deutschebahn.com>
(external expert on behalf of DB Netz AG)
2022-11-09 00:27:13 +01:00
ezgidemirel efc8702e31
Add composition revision selectors
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
2022-11-03 14:41:45 +03:00
Alper Rifat Ulucinar 31279534ed
Add omitempty json tag to fake.ConnectionDetailsLastPublishedTimer.Time field
Signed-off-by: Alper Rifat Ulucinar <ulucinar@users.noreply.github.com>
2022-10-19 23:46:07 +03:00
Nic Cope bce61005a1
Merge pull request #355 from nokia/respect_finalizers
Support foreground cascading deletion
2022-10-11 18:39:34 -07:00
Bob Haddleton da77f4e104 Add blockOwnerDeletion: true and compositeDeletePolicy
Signed-off-by: Bob Haddleton <bob.haddleton@nokia.com>
2022-10-11 09:35:04 -05:00
Alper Rifat Ulucinar eaa6119f23
Add meta.IsPaused that checks whether reconciliations are paused for the managed resource
Signed-off-by: Alper Rifat Ulucinar <ulucinar@users.noreply.github.com>
2022-09-30 01:24:50 +03:00
Alper Rifat Ulucinar d5661c8fd6
Add support for a pause annotation which pauses reconciliations on managed resources
- If a managed resource has the "crossplane.io/paused" annotation with its value
  set to "true", then the managed reconciler emits an event indicating that
  further reconciliations on that resource are paused and returns early after
  setting a Synced status condition to false with the reason "ReconcilePaused".

Signed-off-by: Alper Rifat Ulucinar <ulucinar@users.noreply.github.com>
2022-09-29 04:27:29 +03:00
Maximilian Blatt dfd468741d feat(composite): Add support for EnvironmentConfigs
Signed-off-by: Maximilian Blatt <maximilian.blatt-extern@deutschebahn.com>
(external expert on behalf of DB Netz AG)
2022-09-05 22:27:26 +02:00
Muvaffak Onus ba9d8c29a7 fieldpath: DeleteField should be no-op if it cannot reach the node and it should be able to delete a top-level field
Signed-off-by: Muvaffak Onus <me@muvaf.com>
2022-08-05 19:39:20 +03:00
Muvaffak Onus d950363569 fieldpath: add DeleteField function to delete elements from Paved
Signed-off-by: Muvaffak Onus <me@muvaf.com>
2022-08-05 14:29:14 +03:00
Aditya Sharma cd68866501 Fix lints
Signed-off-by: Aditya Sharma <git@adi.run>
2022-07-21 22:01:32 -07:00
Aditya Sharma 1deb753676 s/interface{}/any/g
Signed-off-by: Aditya Sharma <git@adi.run>
2022-07-21 21:46:18 -07:00
Bulat Shakirzyanov fa6b2ef1e2 bump up the limits
Signed-off-by: Bulat Shakirzyanov <83289+avalanche123@users.noreply.github.com>
2022-07-13 11:58:52 -04:00
Bulat Shakirzyanov b781506537 increase burst to rps * 3
Signed-off-by: Bulat Shakirzyanov <83289+avalanche123@users.noreply.github.com>
2022-07-12 10:03:41 -04:00
muvaffak 75dda897e5
Merge pull request #328 from sergenyalcin/fix-circular-reference
Support for having circular dependencies while using referencers
2022-06-13 18:27:11 +03:00
Sergen Yalçın 5770f19db9
Add unit test cases
Signed-off-by: Sergen Yalçın <yalcinsergen97@gmail.com>
2022-06-01 11:33:11 +03:00
Sergen Yalçın 38e79f4960
Preserve order of reference resolution
Signed-off-by: Sergen Yalçın <yalcinsergen97@gmail.com>
2022-05-30 18:48:30 +03:00
Sergen Yalçın e2fb202fd5
Add policy api for Selector
Signed-off-by: Sergen Yalçın <yalcinsergen97@gmail.com>
2022-05-12 16:11:37 +03:00
Sergen Yalçın 66e5e7ad0b
Re-design the Policy API
Signed-off-by: Sergen Yalçın <yalcinsergen97@gmail.com>
2022-04-25 18:14:52 +03:00
Muvaffak Onus 85f12b9e2c
webhook.mutator: add unit tests
Signed-off-by: Muvaffak Onus <me@muvaf.com>
2022-04-22 01:49:49 +03:00
Sergen Yalçın ec82fef853
Add a new policy about resolving references for every reconcile loop
Signed-off-by: Sergen Yalçın <yalcinsergen97@gmail.com>
2022-04-16 16:03:18 +03:00
Sergen Yalçın ac7cf2045e
Support for having circular dependencies while using referencers
Signed-off-by: Sergen Yalçın <yalcinsergen97@gmail.com>
2022-04-14 14:56:17 +03:00
Muvaffak Onus 43f716a1d4
webhook.validator: add unit tests
Signed-off-by: Muvaffak Onus <me@muvaf.com>
2022-04-07 00:36:00 +03:00
Muvaffak Onus f655302042
webhook.validator: add options to the initializer
Signed-off-by: Muvaffak Onus <me@muvaf.com>
2022-04-07 00:25:48 +03:00
Muvaffak Onus 0b23ec1338
webhook: add mutator struct for chained execution of mutating webhook functions
Signed-off-by: Muvaffak Onus <me@muvaf.com>
2022-04-07 00:21:48 +03:00
Muvaffak Onus cdc7266d4b
webhook: add validator struct for chained execution of validation webhook functions
Signed-off-by: Muvaffak Onus <me@muvaf.com>
2022-04-06 01:21:33 +03:00
Hasan Turken 79ea2fe449
Add comment for linter and use types.UID for uid parameter
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2022-03-15 10:29:23 +03:00
Hasan Turken 754abc4f83
Separate Vault KV client for v1 and v2
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2022-03-13 14:08:59 +03:00
Hasan Turken 6f9579f9bd
Use string instead if interface for KVSecret data
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2022-03-12 23:25:29 +03:00
Hasan Turken 80debfade8
Fix owner not being set for delete
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2022-03-11 22:34:48 +03:00
Hasan Turken d7cb4e66da
Fix metadata handling with Vault v1
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2022-03-11 12:00:52 +03:00
Hasan Turken ff57cdc7c4
Ensure secret owned by object before delete
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2022-03-11 10:29:34 +03:00