-
Notifications
You must be signed in to change notification settings - Fork 214
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
move helm chart to reactiveops/charts #128
Conversation
f023638
to
d48b6b3
Compare
Corey/Andy - This removes the Helm chart from this repo now that FairwindsOps/charts#82 is merged. The release process is pretty hairy right now, would love any suggestions. The basic flow is:
The big problem with this is that the deploy YAML files on the branch tagged Is this a problem we've run into in other repos? |
I'd love to get more insight, in person or whenever you have time, about the It feels like this type of resource/object is more of a build artifact than something that should constantly be checked in and manually updated. Having the helm chart live in another repository adds some complexity to this, since any changes to the app/config that also affect the helm chart, would need a lockstep release. How would this sound as an alternative workflow for when we need to update these files:
This would allow more automation by having the deploy "user feature" yamls be a build artifact instead of a checked in object in git. It would also avoid forgetting to update the README on every version bump; especially if we included instructions such as: LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/reactiveops/polaris/releases/latest)
LATEST_VERSION=$(echo $LATEST_RELEASE | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/')
kubectl apply -f "https://github.com/reactiveops/polaris/releases/download/$LATEST_VERSION/dashboard.k8s.yml" Thoughts welcome and feel free to connect if it would be easier to hash out some of my missing context via video or phone :) |
Thanks Nick! This exactly the kind of insight I was looking for. Definitely like the idea of moving the deploy config to the releases page. I think you can always refer to the I'll rework with your suggestions. Thanks! |
d48b6b3
to
0bc51a3
Compare
8ccbe19
to
8e050ea
Compare
@endzyme I think the process is much better now thanks to your input. Check out the instructions in Still not simple, but definitely more safe/consistent |
I generally like the pattern here. I think the only concern I have is that we have to create a chart PR for every release. It is probably something we can address in a future PR, though, by publishing a major-version docker image tag and keeping the helm chart set to a major version tag as well. |
init helm in circleci fix template command
2d98321
to
fb26503
Compare
fb26503
to
4b054c1
Compare
That's a really good point. I've adjusted the instructions so that minor releases only need to change this repo. I'm going to cut a release once this is in - I'll change the chart to use major versions as part of that. I also added rok8s-scripts to help with the workflow here. |
if [[ -z $CIRCLE_PR_NUMBER ]]; then | ||
docker login quay.io -u="reactiveops+circleci" -p="${quay_token}" | ||
docker push $REPO:dev-$CIRCLE_SHA1 | ||
docker-push -f .circleci/build.config |
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.
🎉
- setup_remote_docker | ||
- *set_environment_variables | ||
- *docker_build_and_push | ||
- *release_deploy_configs |
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.
this is great!
This makes releases a pain. Definitely open to suggestions on how to improve that.
Currently it's three separate commits:
make helm-to-k8s
, commit to master