Skip to content
This repository was archived by the owner on Jan 28, 2025. It is now read-only.

Conversation

@ankitathomas
Copy link
Contributor

Implementation of a deppy source adapter that can provide a ListEntities functionality.

This prototype uses a single CatalogSource specified either by its namespaced name or its serving address as a data source. This model necessitates the addition of another controller layer on top of the adapter to create and monitor adapters for all catalogsources and lacks any caching at the adapter side, which may be performance concerns. Some of these issues may be solvable by a cluster-scoped unified data source.

See https://github.com/anik120/rukpak-packageserver

@ankitathomas ankitathomas added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 4, 2022
@ankitathomas ankitathomas requested a review from a team as a code owner November 4, 2022 13:14
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 4, 2022

message Entity {
EntityID id = 1;
map<string,string> properties = 2;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(I know this is not in the design doc, so this is a design quesiton, not an impl question)...

Do we need a separate constraints field here?

  • Properties that are not understood can likely be ignored by deppy
  • Constraints that are not understood should probably result in a resolution error (or at least there should be a knob that lets the user decide whether unknown constraints should be failures)

Without a separate constraints field, it seems like deppy will need to have knowledge about how to extract constraints from properties.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Constraints should be something that the layer above the adapter understands, it didn't seem appropriate to assume constraints directly from the catalogsource.

@@ -0,0 +1,24 @@
syntax = "proto3";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was there discussion about what protocol to use for the deppy source API? I'm curious if we revisited tradeoffs of GRPC vs vanilla HTTP/JSON vs something else, etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked into OpenAPI as an alternative for an HTTP/JSON endpoint, but it didn't make the building out of the API any easier or its definition simpler. There are other options, but GRPC seemed more straightforward for an initial API.

@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 21, 2022
@ankitathomas ankitathomas force-pushed the catsrc-adapter branch 3 times, most recently from 34ec7cd to 798b82a Compare December 1, 2022 15:02
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 6, 2022
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 7, 2022
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 18, 2022
@openshift-merge-robot
Copy link

@ankitathomas: PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@github-actions
Copy link

This PR has become stale because it has been open for 30 days with no activity. Please update this PR or remove the lifecycle/stale label before it is automatically closed in 30 days. Adding the lifecycle/frozen label will cause this PR to ignore lifecycle events.

@github-actions github-actions bot added lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 18, 2023
@github-actions
Copy link

This PR has become stale because it has been open for 30 days with no activity. Please update this PR or remove the lifecycle/stale label before it is automatically closed in 30 days. Adding the lifecycle/frozen label will cause this PR to ignore lifecycle events.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 18, 2023
@ankitathomas
Copy link
Contributor Author

Closing in favor of operator-framework/operator-controller#129

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants