-
Notifications
You must be signed in to change notification settings - Fork 54
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
WIP: PoC: use the rukpak PoC OCI artifact source #266
Conversation
Signed-off-by: Joe Lanford <[email protected]>
dbf285f
to
9d22216
Compare
Signed-off-by: Joe Lanford <[email protected]>
9d22216
to
2a38b10
Compare
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. |
@@ -1,9 +1,9 @@ | |||
apiVersion: catalogd.operatorframework.io/v1alpha1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would it be better to add a new sample rather than edit the existing one? Or are we subbing out image src in favor of oci?
@@ -152,6 +153,12 @@ func (r *OperatorReconciler) reconcile(ctx context.Context, op *operatorsv1alpha | |||
return ctrl.Result{}, err | |||
} | |||
|
|||
sourceType := rukpakv1alpha1.SourceTypeImage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this logic move to rukpak?
@@ -9,7 +9,7 @@ require ( | |||
github.com/onsi/gomega v1.27.7 | |||
github.com/operator-framework/catalogd v0.3.0 | |||
github.com/operator-framework/deppy v0.0.0-20230602120738-cbf2c66b141b | |||
github.com/operator-framework/operator-registry v1.26.3 | |||
github.com/operator-framework/operator-registry v1.28.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we want a separate PR for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks awesome!
Closing since this served its purpose for demos and there are no plans to merge this. |
Setup
Clone the 4 repos and checkout the correct commits:
Setup binaries and cluster
Demo Script
Example commands + Build and push bundles
Create an OCI Artifact-based catalog and examine catalog APIs
Create an Operator for prometheus and argo-cd and example operator-controller APIs
Example rukpak APIs
Check if expected CRDs are installed
Remove grafana-operator from the catalog, rebuild, and push
Force another reconcile of the catalog, and verify the digest changed
Verify that the grafana-operator package and bundlemetadata disappeared
Note 1
The OCI artifact spec is still very much in flux. In fact the
"application/vnd.oci.artifact.manifest.v1+json"
(which this demo uses) was removed from the spec just recently, and replaced with other modifications to the pre-existing OCI image manifest type.See opencontainers/image-spec#999 (comment)
Note 2
There is a referrers API as part of the in-progress OCI spec. This enables new objects to refer to existing objects without changing the digest of the existing objects. This is perfect for use cases like deprecation and retroactive assertions. Unfortunately, I can't demo this because docker hub doesn't support the referrers API (yet?)
Reviewer Checklist