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

Helm nightly release #345

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

Conversation

@RafalKorepta RafalKorepta force-pushed the rk/k8s-440/helm-nightly-release branch 5 times, most recently from 1abe2b1 to 86d064d Compare December 6, 2024 14:24
.gitignore Outdated Show resolved Hide resolved
charts/connectors/Chart.yaml Outdated Show resolved Hide resolved
operator/go.mod Outdated Show resolved Hide resolved
- helm registry login registry-1.docker.io -u {{.DOCKERHUB_USER}} --password {{.DOCKERHUB_TOKEN}}
- helm dep update charts/operator
# To change name of the operator helm chart malformer program is executed
- go run ./nightly-malformer/...
Copy link
Contributor

Choose a reason for hiding this comment

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

It looks like you could accomplish this by just running helm package --version $TAG_NAME

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The most important change is changing the Chart name just to match the https://hub.docker.com/r/redpandadata/redpanda-operator-nightly docker hub repository. That way we can host helm chart and containers under one repository.

Copy link
Contributor

Choose a reason for hiding this comment

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

Not to be too crotchety but it looks like this could also be handled by a tiny bit of scripting with tar and yq. Doing so would be more easily reusable for other charts and not dependent on go loading Chart.yaml.

taskfiles/k8s.yml Outdated Show resolved Hide resolved
taskfiles/k8s.yml Outdated Show resolved Hide resolved
- helm dep update charts/operator
# To change name of the operator helm chart malformer program is executed
- go run ./nightly-malformer/...
- helm package charts/operator
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: To avoid littering the repo when running this task, it'd be preferable to output the build to either a tempdir or the dist directory which is git ignored.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agree. will adjust.

My personal goal would be to use go program to load chart and the push it to docker hub. I'm using helm cli just for the quick turnaround.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think we might be able to fix that with some help from dev prod? If we can update the k8s-builders to use the containerd image store by default multi platform builds will "just work"1.

Footnotes

  1. https://docs.docker.com/engine/storage/containerd/

.gitignore Outdated Show resolved Hide resolved
charts/console/Chart.yaml Outdated Show resolved Hide resolved
charts/operator/chart.go Outdated Show resolved Hide resolved
- helm registry login registry-1.docker.io -u {{.DOCKERHUB_USER}} --password {{.DOCKERHUB_TOKEN}}
- helm dep update charts/operator
# To change name of the operator helm chart malformer program is executed
- go run ./nightly-malformer/...
Copy link
Contributor

Choose a reason for hiding this comment

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

Not to be too crotchety but it looks like this could also be handled by a tiny bit of scripting with tar and yq. Doing so would be more easily reusable for other charts and not dependent on go loading Chart.yaml.

operator/pkg/resources/statefulset.go Outdated Show resolved Hide resolved
taskfiles/k8s.yml Outdated Show resolved Hide resolved
@RafalKorepta RafalKorepta force-pushed the rk/k8s-440/helm-nightly-release branch 4 times, most recently from 0044739 to cd5be15 Compare January 3, 2025 19:47
taskfiles/k8s.yml Outdated Show resolved Hide resolved
taskfiles/k8s.yml Outdated Show resolved Hide resolved
- mkdir helm-operator-release
- defer 'rm -r helm-operator-release'
- yq -i '.name = "redpanda-operator-nightly"' charts/operator/Chart.yaml
- helm package charts/operator --version "{{.TAG_NAME}}-helm-chart" --destination helm-operator-release --dependency-update
Copy link
Contributor

Choose a reason for hiding this comment

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

Ah right, I forgot this had to be renamed as well. Could you include an example command of how one might use the nightly build?

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'm not sure if I should copy what is in official helm documentation how to use helm repository where chart's are stored?

I can make a comment to reference official docker hub announcement https://www.docker.com/blog/announcing-docker-hub-oci-artifacts-support/

I could point to our artifact https://hub.docker.com/layers/redpandadata/redpanda-operator-nightly/v0.0.0-20250104git4a5a076-helm-chart/images/sha256-ffaea8752b6bd00a26589a168830a87d498106e470f11af0f08267bc13fbd078
where you can find all commands
Screenshot 2025-01-07 at 13 19 14

What would you prefer?

Copy link
Contributor

Choose a reason for hiding this comment

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

where you can find all commands

Oh that's awesome! Yeah a link out to that page would be perfect.

I think it'd be good to include a note (or link to that forum post you had found) about why the tagging is suffixed with -helm-chart.

@RafalKorepta RafalKorepta force-pushed the rk/k8s-440/helm-nightly-release branch 2 times, most recently from dda810e to 621bed9 Compare January 7, 2025 13:52
@RafalKorepta RafalKorepta requested a review from chrisseto January 7, 2025 14:05
@RafalKorepta RafalKorepta force-pushed the rk/k8s-440/helm-nightly-release branch from 621bed9 to cda3d10 Compare January 8, 2025 17:51
From 27/08/2024 the operator container can be used as configurator. With this
change any user of the Cluster custom resource can now use single container
without specifing arguments for configurator.

Reference
a897ad3
#211
0868b61
#322
@RafalKorepta RafalKorepta force-pushed the rk/k8s-440/helm-nightly-release branch from cda3d10 to 38e78b5 Compare January 9, 2025 08:31
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.

3 participants