-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynamic resource references #1576
Comments
+1 to simplify the code base (eventually) using dynamic client and make it easier to compose resources using For example, as an apiVersion: eventbridge.services.k8s.aws/v1alpha1
kind: Rule
metadata:
name: rule-01
namespace: namespace-01
spec:
name: rule-01
eventPattern: "{\"detail-type\":\"testevent\"}"
# keep as is
eventBusRef:
name: eventbus-01
# allows by arn and TypedLocalObjectReference
targets:
- id: someResourceFromArn
arn: arn:aws:1234567890:someresource
- id: queueFromRef
objectRef:
apiGroup: sqs.services.k8s.aws/v1alpha1
kind: Queue
name: queue-01 To be discussed: do we allow cross-namespace resource references ( Alternative approaches: in Knative we use duck typing on Kubernetes resources in references. E.g. we could create an status:
ackResourceMetadata:
arn: <arn> |
@a-hilaly @embano1 @RedbackThomson @jljaco I think it's probably a good idea to just use the dynamic client anyway for everything... that way we can remove the need to include in the |
Yup, will help with a lot of imports and deps! Kinda feels like generics :-p |
After some discussion, @RedbackThomson and I would like to see a more full-fledged design proposal for this feature before we can potentially slate it for future work. @a-hilaly @jaypipes @embano1 anyone have bandwidth to come up with a more detailed proposal? |
Happy to assist as EventBridge is going to benefit a lot from this and I brought this up with @a-hilaly based on my experience with Knative, but can't sign up for owning this AI. |
@jljaco apologies, I don't have bandwidth to work on this one right now |
Issues go stale after 90d of inactivity. |
Issues go stale after 180d of inactivity. |
Issues go stale after 180d of inactivity. |
Stale issues rot after 60d of inactivity. |
@AlyIbrahim @kejne @joestadler @migueleliasweb We just open sourced |
Yeah, I just saw it actually. Thanks @a-hilaly . It looks sweet! I was just discussing this with my team! Looks similar to https://docs.crossplane.io/latest/concepts/compositions/ (I'm sure there was some inspiration there 😅) Do you think moving forward ACK will be ported more directly to inside |
Thank you for the feedback @migueleliasweb ! On the crossplane composition topic, indeed there are some similarities. both try to solve the same problem but using different approaches - |
The ACK ecosystem currently supports referencing resources from the same or different GVKs within a static implementation. For example, you can reference an
s3::bucket
in alambda::function
object. However, this implementation does not allow for the referencing of multiple resource types.Ideally, we would like to expand this feature to support the referencing of any object managed by ACK controllers. This would allow for resources like
AWS EventBridge
Rule targets to reference a wide range of resources, such assns::topic
andsqs::queue
.The ACK ecosystem's current ability to reference resources is a new feature that was developed in response to a recent problem. @embano1 and I will continue exploring and working on a design document for this feature, which will involve refactoring the original resource reference implementation to allow for the referencing of multiple resource types. This will require moving the generation logic to the code-generator/pkg/generate package and switching to the k8s dynamic client.
The text was updated successfully, but these errors were encountered: