Commit Graph

27 Commits

Author SHA1 Message Date
Daniel Mangum 5ece4af54b Implement Target interface and reconciler (#103)
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-01-14 12:36:41 -08:00
Muvaffak Onus d449ca546b
make wording in conditions to cover resources other than managed ones
Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com>
2019-12-30 18:31:14 +03:00
Muvaffak Onus fb6ac48df5
add providerspec that will be used to satisfy Provider interface
Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com>
2019-12-20 12:40:54 +03:00
Nic Cope ca4b6b46c9 Mirror PersistentVolume ReclaimPolicy semantics
This commit changes the meaning of the resource claim resource policy to match
https://kubernetes.io/docs/concepts/storage/persistent-volumes/#reclaiming as
closely as possible, minus the deprecated 'Recycle' policy. Previously the
reclaim policy dictated only what happened to the external resource when its
managed resource was deleted.

Signed-off-by: Nic Cope <negz@rk0n.org>
2019-11-19 14:43:25 -08:00
Muvaffak Onus 4ed7edad48
Add kubeconfig key to be used in connection secrets of kubernetes clusters
Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com>
2019-11-14 20:20:18 +03:00
Nic Cope bc04c33519 Resolve references on every reconcile
Reference resolution is now a no-op if nothing changes, so we run it on every
reconcile. We also run it after delete has been handled, so unresolved
references will only block creates and updates.

This commit means we'll make more get calls to the cache (or API) in order to
resolve our references each reconcile, and also risk potentially changing the
values of 'immutable' fields automatically if and when our references resources
change. I believe we should address this by having referencers be no-ops when
the field value they would set is already set.

I attempted to move reference resolution to right before we call create or
update (i.e. after observe and delete), but it turns out certain resources
(specifically GCP Connections) could need references to be resolved in order to
observe the external resource.

Signed-off-by: Nic Cope <negz@rk0n.org>
2019-10-31 16:11:10 -07:00
Nic Cope 604cfc074e Fix grammar in reference resolution condition message
Signed-off-by: Nic Cope <negz@rk0n.org>
2019-10-31 13:27:30 -07:00
Nic Cope eb0bb8b34f Work around strange deepcopy bug
Signed-off-by: Nic Cope <negz@rk0n.org>
2019-10-22 17:13:21 -07:00
Nic Cope d7b4db0562 Add claim scheduling and defaulting controllers
Signed-off-by: Nic Cope <negz@rk0n.org>
2019-10-22 17:13:21 -07:00
Nic Cope a2e24876e0 Use custom types for secret references
This allows us to require that name (and namespace where appropriate) are set at
the CRD level. In the case of cluster scoped resources that reference secrets
this is less surprising than defaulting to the `default` namespace when the
namespace is omitted.

Signed-off-by: Nic Cope <negz@rk0n.org>
2019-10-22 17:13:21 -07:00
Nic Cope 9f5188e0cb Assume resources, classes, and providers are cluster scoped
Signed-off-by: Nic Cope <negz@rk0n.org>
2019-10-22 17:13:21 -07:00
Nic Cope a310ee6a4a Remove support for portable resource classes
This commit renames "non portable resource class" back to "resource class", and
requires that resource claims reference a (non portable) resource class in any
namespace.

Signed-off-by: Nic Cope <negz@rk0n.org>
2019-10-22 17:12:36 -07:00
Muvaffak Onus 516d642cd1 add port key to connection secret key constants
Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com>
2019-10-22 17:00:57 +03:00
soorena776 f063ec82d3 - Removing class level reference resolution if we can get away with it
- Removing the panic recovery logic
- Removing the superfluous IsConditionReady method
- Adding Nic's unit-tests for GetCondition and IsConditionTrue
- Minor other fixes

Signed-off-by: soorena776 <javad@upbound.io>
2019-10-21 17:05:15 -07:00
soorena776 8df7f7cab7 Change ReferenceResolver signature to accept CanReference type instead of Managed
Signed-off-by: soorena776 <javad@upbound.io>
2019-10-21 16:39:26 -07:00
soorena776 1c6cccad93 Adding GetCondition to the Managed API
Signed-off-by: soorena776 <javad@upbound.io>
2019-10-21 16:39:26 -07:00
Hasan Turken d449ffd87a Add WithMessage method on Condition
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2019-10-09 13:02:09 +03:00
Hasan Turken 2dc5eb54f1 Add UnavailableWithMessage condition helper
Signed-off-by: Hasan Turken <turkenh@gmail.com>
2019-10-08 16:24:11 +03:00
Nic Cope 25243ed326 Clean up GoDoc for API types
The GoDoc strings for the API types are used to generate user visible
documentation, for example the API documentation and CRD fields. This commit
ensures the GoDoc is complete, and makes sense in the context of user facing
documentation.

Signed-off-by: Nic Cope <negz@rk0n.org>
2019-09-13 18:21:39 -07:00
Nic Cope 633d937901 Update core APIs package doc
The groupName directive must be in doc.go and associated with the package
comment to support doc generation.

Signed-off-by: Nic Cope <negz@rk0n.org>
2019-09-11 23:19:52 -07:00
hasheddan 06cc35d1e3 class to nonportable class
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2019-09-11 22:59:59 -05:00
hasheddan 161ab47fb3 portable and nonportable
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2019-09-11 16:23:44 -05:00
hasheddan 80eeac1347 implement portable classes
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2019-09-10 19:06:05 -05:00
hasheddan eb54c78f96 runtime migration: add resrource credentials secrets
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2019-08-21 10:05:00 -05:00
hasheddan 7f6ce22dcd runtime migration: add non object embedded resource types
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2019-08-20 22:03:18 -05:00
hasheddan 7d786e2dff runtime migration: strip apis and update dependencies
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2019-08-20 09:27:20 -05:00
hasheddan 5bde15f3b4 kubebuilderv2: migrate core apis and controllers
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
Co-authored-by: Muvaffak Onus <onus.muvaffak@gmail.com>
Co-authored-by: Jared Watts <jbw976@gmail.com>
Co-authored-by: hasheddan <georgedanielmangum@gmail.com>
2019-08-13 17:38:42 -05:00