https://pulumi.com logo
#general
Title
# general
g

great-smartphone-86927

01/26/2024, 2:43 AM
I’m working on pushing some infrastructure changes through our environments and I had no issues in our dev/test environment but while previewing in prod the pulumi preview is showing some strange changes to one of our Kubernetes services (cert-manager) I’m not sure why it’s trying to replace this service and why it’s changing the name/namespace. This service is created from a Helm Release so i'm not sure why in this one environment it's doing this. Anything obvious I should be checking?
Copy code
private Service InstallCertManager(AzureIdentity identity)
        {
            var releaseName = "cert-manager";
            var release = new Release(releaseName, new ReleaseArgs
            {
                Name = releaseName,
                Namespace = _namespace.Metadata.Apply(m => m.Name),
                Chart = "cert-manager",
                Version = "v1.13.3",
                Values = new Dictionary<string, object>
                {
                    ["installCRDs"] = "true",
                    ["podLabels"] = new Dictionary<string, object>
                    {
                        ["aadpodidbinding"] = identity.Metadata.Apply(x => x.Name),
                        ["azure.workload.identity/use"] = "true"
                    },
                    ["serviceAccount"] = new Dictionary<string, object>
                    {
                        ["labels"] = new Dictionary<string, object>
                        {
                            ["azure.workload.identity/use"] = "true"
                        }
                    }
                },
                RepositoryOpts = new RepositoryOptsArgs
                {
                    Repo = "<https://charts.jetstack.io>"
                },
                Timeout = 60 * 15
            }, new CustomResourceOptions
            {
                Provider = _provider
            });
            var status = release.Status;
            var service = Service.Get($"{releaseName}", Output.All(status).Apply(
                s => $"{s[0].Namespace}/{s[0].Name}"), new CustomResourceOptions()
                {
                    Provider = _provider
                });

            return service;
        }
This is how I'm creating the release and then getting the service