helmsman icon indicating copy to clipboard operation
helmsman copied to clipboard

Helmsman roadmap

Open sami-alajrami opened this issue 4 years ago • 18 comments

@luisdavim @mkubaczyk (and others), I have drafted a document outlining a potential roadmap for improvements and new features in Helmsman as it moves to support helm v3. https://docs.google.com/document/d/1tpOnR_DvVUczJQFnnY9FCAYaFn55PqWURmNFdzh-pHk/edit?usp=sharing

I would love your feedback and input on this and we might schedule a hangout to finalize it and break it down into backlog tasks and milestones. The aim is to help guide community contributions towards a common goal.

sami-alajrami avatar Oct 25 '19 09:10 sami-alajrami

I really like the idea of drawing a map for the product. While Helm v3 will change drastically the way helm works, since we have helm-tiller on the board, the changes will mainly focus on removing redundant tiller-aware part of code. I've started working on it, but some more important things came up and had to stop my work. I'm up to prioritze the features you've marked and also reorder them in form of descending "coolness" for users.

mkubaczyk avatar Oct 25 '19 13:10 mkubaczyk

I'd also go through all the issues still open and close most of the ones being inactive or not confirmed to get broader view of current state

mkubaczyk avatar Oct 25 '19 14:10 mkubaczyk

Looks good to me, only one concern about enforcing the GitOps model, my current use case for Helmsman is no GitOps. I have a controller that manages a desired state CRD and generates k8s jobs that run Helmsman to apply the state, one desired state per namespace. And I use the tillerless mode for this.

luisdavim avatar Oct 25 '19 18:10 luisdavim

I was going to work on some cleaning and refactoring but if you're already working on helmv3 it might conflict. My plan was to convert some of the functions into object methods of the release and desired state objects and maybe group some of the code into packages.

luisdavim avatar Oct 25 '19 18:10 luisdavim

@sami-alajrami I'll need some help with preparing CI for helm 3. Maybe even an access for me to circleci and other places that would help do that?

mkubaczyk avatar Dec 10 '19 16:12 mkubaczyk

@sami-alajrami great to see the momentum going on that .. I am not sure I can sort the circleci access since it's tied to Github organization. I won't be available much until Friday next week .. but if you need my help for specific tasks, I will try to help as quickly as I can. I think my help would be needed to push a new helmsman-test image if needed and for setting env vars and other settings in circleci. The rest should be doable directly in the repo. And circleci job logs should be publicly available. I plan to dedicate Friday 20th and the weekend after to help here. But will try to help earlier if you need any CI support. Just tag me along!

sami-alajrami avatar Dec 10 '19 18:12 sami-alajrami

@sami-alajrami yes, the bare minimum would be unblocking the CI parts for helm v3 with proper test image to run tests against helm 3. And then we’d need a way to start releasing betas and rc for helmsman with helm 3 support. I’d skip helmsman 2.x version and go directly for 3.0.0 to be planned. I’d also move current master branch to some helm2 legacy one (to keep it and provide fixes for) and make new helmsman 3 a master branch to start releasing betas as quickly as possible. :-) just let us know how to operate and how you see it

We can’t afford missing this sweet spot where people are starting to choose their deployment manager for helm 3 :-)

mkubaczyk avatar Dec 10 '19 19:12 mkubaczyk

Sounds good to me .. I think you can do the branch changing whenever you feel the helm 3 is taking shape (perhaps do it right away - create a helmsman 1.x branch from master and push it, then merge your PR when it's ready) and we carry on development from there on master. We will need to update the circleci config for maintaining the two branches, but I guess configuring the helm2 branch pipeline can wait til next week. We should focus on master (helm3 ) for the next few days. If you have a new dockerfile for the helmsman-test image, push it somewhere and I will build and push the image so that it's usable in CI.

sami-alajrami avatar Dec 10 '19 20:12 sami-alajrami

Thank you for engagement. I think we can try out the image from test files from branch holding the v3, it has just updated helm to 3 and one plugin, no additional changes were needed

mkubaczyk avatar Dec 10 '19 21:12 mkubaczyk

praqma/helmsman-test:helm3 is now pushed based on the dockerfile in your PR.

sami-alajrami avatar Dec 13 '19 09:12 sami-alajrami

great, finally got tests passing for the first time :-)

mkubaczyk avatar Dec 13 '19 14:12 mkubaczyk

@sami-alajrami build on dockerhub for newest commit (which is merge of helm-v3 branch) has failed and I can't even see what was wrong. Will you help please sort it out? :-)

mkubaczyk avatar Dec 20 '19 08:12 mkubaczyk

it was a temporary glitch in CircleCI , a reRun without changes has worked fine.

sami-alajrami avatar Dec 20 '19 11:12 sami-alajrami

Introduce an import option in the DSF to import other DSFs from local directory or other git repos.

  • This will help us introduce some best practice for deploying several apps/stacks to a single cluster by different teams from different git repos.

Absolutely loving this. I've been looking into different ways of doing ephemeral clusters for local development in a distributed architecture. Tested out armador, but eg. the lack of branch support makes me hesitant.

badeball avatar Feb 13 '20 13:02 badeball

Any chance to consider loading non Helm manifests? For example if some service has a url and all you have to do is kubectl apply -f https://someurl.com/somemanifest.yaml. Maybe this helmsman could simply load some ad-hoc configs just because . . . Maybe we just have some non helm files in the same repo as one which will use the helmsman. Sure don't want to bash file those and then bash file the helmsman. But for now, I will bash file them.

kferrone avatar Feb 26 '20 02:02 kferrone

@kferrone that is tracked in #360 .. I am working on this issue and will create a PR soon.

sami-alajrami avatar Feb 26 '20 07:02 sami-alajrami

@kferrone that is tracked in #360 .. I am working on this issue and will create a PR soon.

Oh wow! Ya'll are on top of it. Goodbye really big bash file! Thanks

kferrone avatar Feb 26 '20 15:02 kferrone

This issue has been marked stale due to an inactivity.

github-actions[bot] avatar Aug 10 '22 05:08 github-actions[bot]