Skip to content
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

Release Install script #157

Merged
merged 1 commit into from
Apr 6, 2023
Merged

Conversation

dtfranz
Copy link
Contributor

@dtfranz dtfranz commented Apr 4, 2023

Adds an install script which installs the required sub-components of OLM v1 in a single command. The install script is built on-the-fly when the release is run, and the appropriate versions of all sub-components are set inside the Makefile or grabbed from the go.mod file.

Addresses #110

@@ -0,0 +1,45 @@
#!/bin/bash

olm_version=$OLM_V0_VERSION
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These are "supposed" to be set from the envsubst command in the makefile's quickstart target but I added some simple checks just in case.

kubectl_wait "rukpak-system" "deployment/helm-provisioner" "60s"
kubectl_wait "rukpak-system" "deployment/rukpak-webhooks" "60s"

kubectl apply -f "https://github.com/operator-framework/operator-controller/releases/download/${operator_controller_version}/operator-controller.yaml"
Copy link
Member

Choose a reason for hiding this comment

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

One thing that could be useful here is if we used this install script as part of the e2e and run targets. That way we actually exercise this as part of our dev cycle and testing.

I think all we would need to do is make the entire operator-controller manifest path configurable.

For make run, we'd generate the manifest without the image ref substitution, and then this would be kubectl apply -f ./operator-controller.yaml

For the release manifest, we'd substitute the entire release URL in like you're doing here.

If this is not a trivial change, its totally non-blocking and would be fine to do in a follow-up.

Copy link
Member

Choose a reason for hiding this comment

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

FWIW, I did this in the taskfile PR, so you may be able to crib from that.

https://github.com/joelanford/operator-controller/blob/taskfile/.taskfile.build.yaml#L72-L116

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Cool! I'll give this a shot, it's a good idea.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added :)

Makefile Show resolved Hide resolved
Adds an install script which installs the required sub-components of OLM v1 in a single command. The install script is built on-the-fly when the release is run, and the appropriate versions of all sub-components are set inside the Makefile or grabbed from the go.mod file.

Signed-off-by: dtfranz <dfranz@redhat.com>
Copy link
Member

@awgreene awgreene left a comment

Choose a reason for hiding this comment

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

Looks good to me!

@dtfranz dtfranz merged commit a553313 into operator-framework:main Apr 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants