Commit Graph

11 Commits

Author SHA1 Message Date
Nic Cope 0c7b1eb549 Bump golangci-lint, copy config from c/c
This copies the latest config from c/c and addresses all the linter
errors that config produces.

Signed-off-by: Nic Cope <nicc@rk0n.org>
2024-02-20 03:45:27 -08:00
Dr. Stefan Schimanski 7f21c79d63
controller/engine: sync informers on controller start
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2024-01-09 23:13:56 +01:00
Dr. Stefan Schimanski 8c70e452b0
Revert back to interface
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-10-13 12:10:45 +02:00
Dr. Stefan Schimanski d77466ecd2
controller/engine: split controller creation and start
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-10-13 11:48:06 +02:00
Dr. Stefan Schimanski 33981937cc
controller/engine: merge parent and local cache
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-10-13 11:48:06 +02:00
Dr. Stefan Schimanski eb74932955
controller: add TriggeredBy custom watches to engine
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@upbound.io>
2023-09-18 14:03:41 +03: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
Nic Cope af4e148a11 Replace github.com/pkg/errors with our own pkg/errors.
Signed-off-by: Nic Cope <negz@rk0n.org>
2021-09-09 07:50:57 +00:00
Sascha Grunert 423918f457
Update controller runtime to v0.8.0
This updates the controller-runtime and all of its dependencies to the
latest release.

This includes a bunch of changes which break backwards compatibility
introduced by controller-runtime 0.7.0 and 0.8.0, for example:

> A number of methods that previously took runtime.Object & internally
> type-asserted them to metav1.Object now take client.Object (for non-list
> objects) or client.ObjectList (for lists). The practical upshot of this
> is more type-safety and clarity around what's required for particular
> methods.
> All concrete API types (anything that implements runtime.Object & has
> a metadata field) already implement client.Object or client.ObjectList,
> so practical impact should be limited to folks who pass around
> runtime.Object values instead of concrete types.

Signed-off-by: Sascha Grunert <mail@saschagrunert.de>
2021-01-21 13:29:16 +01:00
Nic Cope 357942c02d Add a "controller engine" that manages the lifecycles of controllers
A controller engine is somewhat like a controller "sub-manager", in that it's
effectively a group of controllers. Unlike a typical controller manager, the
lifecycle of the controllers an engine manages are not coupled to the lifecycle
of the engine itself. An engine may be used by a parent controller to start and
stop child controllers in accordance with configuration provided by the custom
resource that the parent controller watches.

Signed-off-by: Nic Cope <negz@rk0n.org>
2020-04-23 01:51:27 -07:00
Nic Cope 8fe8833cc3 Pin controller-runtime to master
https://github.com/kubernetes-sigs/controller-runtime/pull/863

We'd like to use the above PR, which is not yet included in a controller-runtime
release. Updating controller-runtime requires updating a few other dependencies,
which changed the signature of client-go clientset methods. This commit removes
the only two uses of clientset from crossplane-runtime. pkg/test/integration now
uses a controller-runtime client.Client. pkg/test.Env has been removed, as it no
longer has any known users.

Signed-off-by: Nic Cope <negz@rk0n.org>
2020-04-22 19:14:42 -07:00