Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Ansible helm completely broken, should not advertised be in the documentation and should not be in ansible contrib. #37148
OS / ENVIRONMENT
The ansible helm module doesn't work in any capacity, and is so broken that I do not see any possible use case.
In my opinion, it is misleading to feature the helm module in the Ansible documentation, and then it being so broken that when someone tries to use it, they are left holding the bag.
The code quality is so bad on the helm module that it fails to do even the most basic of operations: install helm charts
A 403 being returned when attempting to read a chart is not properly handled, but rather, throws an internal error:
In order to use the helm module you need to expose your tiller to the outside world, which is both insecure and completely unnecessary:
This module does not work. It does not implement even basic helm features, and when it attempts to do so, it fails to get them working.
This whole module is extremely sloppy and shouldn't be advertised as a feature.
STEPS TO REPRODUCE
Attempt to use the helm module in any capacity.
It implements the features it claims to.
It fails to execute even the most basic of operations: Installing helm charts.
changed the title from
Ansible Helm completely broken, should not advertised in the documentation and should not be in ansible contrib.
Ansible helm completely broken, should not advertised in the documentation and should not be in ansible contrib.
Mar 7, 2018
FWIW, I agree! When this module was originally proposed, I had more time to work on it and maintain it. Things have changed and I've been trying to find folks interested in helping out with it.
So far I've only found angry users and it's unfair to them to keep it around in this state so I would be in favor of removing it unless someone wants to maintain it.
@honkycat would you be willing to help?
@honkycat Cool. You can add your github IRC nick to the .github/BOTMETA.yml file when you add a PR for the helm module as well. (That will get you notified of new tickets and PRs against the helm module and a few additional commands you can use with the bot to approve and merge PRs).
Ahhh, actually I take it back @flaper87 Helm is just not a good tool to use in kubernetes development. It's under-powered templating engine prevents you from writing decent abstractions to kubernetes resources. How many times am I going to have to copy and paste:
I recently ported all of my helm charts to
@honkycat for what it's worth, helm named templates solve that problem.
referenced this issue
Jul 13, 2018
Putting a few notes here, just in case I pop into this issue again while debugging in the future.
Firstly, to be able to use the
- name: Ensure Pip and dev dependencies are installed. package: name: - python-pip - python-dev - libgit2-dev state: present - name: Ensure pyhelm and dependencies are installed. pip: name: - pygit2==0.24 - pyhelm state: present
(Note the specific version of
Then when using the module, you must supply a
And the errors you get when you miss something aren't super user-friendly, e.g.:
It may be simpler to just use
(Though I'm partially with @honkycat in the slight disdain for Helm, philosophically... I don't know if I'm a fan of it yet, as it's usually caused more pain and grief than solved issues I've had with deploying my own manifests... Might eat my words someday, but right now I lean towards not using Helm.)
As if to confirm the fragility... if I forget to add the explicit host as well, I get an error like:
@geerlingguy it looks like nobody picked it up by now: https://github.com/ansible/ansible/blob/devel/.github/BOTMETA.yml#L114-L119
Do you want to maintain it?
I spend quite a bit of time today trying to install a chart via the helm module. I think pyhelm is being installed correctly with the following Ansible playbook. However, the Helm module can't find it.
You'll notice some funkiness with the
Here is my playbook:
Everything works until the last step. Then I see the following message: