如何通过 pulumi 在 helm 图表中设置空配置值

我正在尝试通过 pulumi 和 golang 配置掌舵图。根据helm chart 文档,可以通过将配置设置为null. 我设法在我的 pulumi 脚本中为舵图设置了所需的配置值,但无法将配置值设置为null.

更新:

似乎 pulumi helm chart 资源之上的自定义抽象层无法处理配置。我添加了一个最小的工作示例,它直接使用 helm chart 资源并按预期工作:

package main


import (

    helmv3 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3"

    "github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)


func main() {

    pulumi.Run(func(ctx *pulumi.Context) error {

        _, err := helmv3.NewChart(ctx, "otel-collect", helmv3.ChartArgs{

            Chart:   pulumi.String("opentelemetry-collector"),

            Version: pulumi.String("0.31.1"),

            FetchArgs: helmv3.FetchArgs{

                Repo: pulumi.String("https://open-telemetry.github.io/opentelemetry-helm-charts"),

            },

            Values: pulumi.Map{

                "fullnameOverride": pulumi.String("otel-collector"),

                "mode":             pulumi.String("deployment"),

                "config": pulumi.Map{

                    "receivers": pulumi.Map{

                        "jaeger": pulumi.Map{

                            "protocols": pulumi.Map{

                                "thrift_compact": nil,

                            },

                        },

                        "prometheus": nil,

                    },

                    "service": pulumi.Map{

                        "pipelines": pulumi.Map{

                            "metrics": nil,

                        },

                    },

                },

            },

        })

        if err != nil {

            return err

        }


        return nil

    })

}


在这种情况下,我想将prometheus配置设置为null,但是当部署此图表时,prometheus设置了默认值。我也试过"prometheus":  pulumi.Any(nil),,但这也不会改变配置。


哆啦的时光机
浏览 70回答 1
1回答

jeck猫

这个问题是由我放在 pulumi helm 资源之上的抽象层引起的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go