question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Helm Chart Fails to Deploy

See original GitHub issue

When deploying the GitLab Helm chart on EKS the deployment hangs. If I run the same chart manually from Helm directly, it works just fine.

Expected Behavior

GitLab Helm chart should deploy just like I can from Helm CLI.

Current Behavior

Pods fail to start, Pulumi hangs.

Steps to Reproduce

Try running this:

const gitlab = new k8s.helm.v3.Chart("gitlab-server", {
    chart: "gitlab",
    fetchOpts:{
        repo: "https://charts.gitlab.io/",
    },
    values: {
        "certmanager-issuer": {
            email: "admin@mydomain.com",
        },
        global: {
            hosts: {
                domain: "mydomain.com",
            },
        },
    }
});

Context (Environment)

I’m going to have to use Helm to install GitLab which is fine but ideally I keep all my IaC in one place. This also makes me hesitant to use Pulumi’s Helm support because I’m unsure why this is failing.

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

4reactions
joeduffycommented, Jan 26, 2021

Since this issue is related to application configuration rather than Pulumi’s k8s provider, I’m going to close this out now.

A chart written for Helm, which gets to define the rules of what is a legal Helm chart, could not be deployed by a default Pulumi configuration. That very much feels like a Pulumi problem to me.

0reactions
lblackstonecommented, Jan 26, 2021

It appears that the root of the problem is related to the GitLab configuration you’re using, but here’s a workaround to skip the readiness checks so that you get the same behavior as vanilla Helm (create the resources, but don’t check for readiness):

const gitlab = new k8s.helm.v3.Chart("gitlab", {
    chart: "gitlab/gitlab",
    fetchOpts: {
        repo: "https://charts.gitlab.io/",
    },
    values: {
        "certmanager-issuer": {
            email: `cameron@${domain_name}`,
        },
        global: {
            hosts: {
                domain: domain_name,
            },
        },
    }
}, {
    transformations: [
        (args: pulumi.ResourceTransformationArgs) => {
            if (args.props.metadata) {
                return {
                    props: {
                        ...args.props,
                        metadata: {
                            ...args.props.metadata,
                            annotations: {
                                ...args.props.metadata.annotations,
                                "pulumi.com/skipAwait": "true",
                            }
                        }
                    },
                    opts: args.opts,
                }
            }
            return undefined;
        },
    ]
});

We’ve opened the following issues to track improving this experience:

Since this issue is related to application configuration rather than Pulumi’s k8s provider, I’m going to close this out now.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How can I tell what causes a helm chart deployment to fail?
Helm chart deployment can fail because of the below 3 reasons. Chart is incorrect; Deployment configurations are incorrect.
Read more >
Troubleshooting - Helm
I am getting a warning about "Unable to get an update from the "stable" chart repository". Run helm repo list . If it...
Read more >
Helm charts cannot roll back after upgrade fails - IBM
When you upgrade a chart from a previous version to 3.2.1 with commands such as addon , upgrade , install-with-openshift , and upgrade-chart...
Read more >
How to Fix helm "has no deployed releases" Error - phoenixNAP
If a previous deployment failed, it is likely that the cluster has some missing resources. Prior to Helm 2.7.1, Helm will try to...
Read more >
Failed to deploy Telegraf by its helm chart to Kubernetes
I am trying to deploy Telegraf by its helm chart to Kubernetes. However, when I follow the readme by GitHub - influxdata/helm-charts: ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found