crossplane-runtime
crossplane-runtime copied to clipboard
A set of libraries for writing Crossplane controllers.
### What problem are you facing? When using the managed reconciler pattern, it's sometimes the case that more than just one operation need to be performed in the external resource's...
### What observation are you making? The [managed reconciler](https://github.com/crossplane/crossplane-runtime/blob/master/pkg/reconciler/managed/reconciler.go) provides a rich set of functionalities and features that saves the developer from an extensive amount of boiler-plate code. In particular,...
### What problem are you facing? Currently, we're able to use fake.MockClient and its functions to mock the controller-runtime client. However, there is no mock ClientApplicator, which makes it hard...
### What problem are you facing? Most inter-resource references in Crossplane are either an [`ObjectReference`](https://godoc.org/k8s.io/api/core/v1#ObjectReference) or a [`LocalObjectReference`](https://godoc.org/k8s.io/api/core/v1#ObjectReference). `ObjectReference` contains many optional fields (e.g. `UID`, `FieldPath`, etc) that Crossplane never...
### What problem are you facing? Currently, it's possible to set `nil` for a field in `fieldpath` library but that still leaves the map with that key whose value is...
### What happened? `ProviderReference` field that exists in `ResourceSpec` is of type `ObjectReference` which has a lot of identifier such as name, namespace, uid, fieldpath etc. In some controllers, we...
### What problem are you facing? Alibaba Provider uses [two pre-defined keys](https://github.com/crossplane/provider-alibaba/blob/943772d/pkg/controller/database/rdsinstance.go#L135) in their credentials secret. However, `ProviderConfigSpec` source type `Secret` assumes that all credentials should exist in under one...
### What problem are you facing? Currently the package parser will return generic, "object-level" errors, such as not recognizing an object when there is an issue with the schema. It...
### What problem are you facing? It's expected to allow ApplyOption works before creating as already mentioned in [this comment](https://github.com/crossplane/crossplane-runtime/blob/479dbc8a456086622ce1afab66aad11ba6c8f78d/pkg/resource/api.go#L138), That would make the Applicator operation more flexible. ### How...
### What problem are you facing? Many (but far from all) external resources support some kind of generic 'metadata', such as tags or labels. We've identified at least a small...