rapid-soccer-18092
10/15/2021, 7:40 AMReplaceOnChanges = { "*" }
but that doesn't seem to kick in either. See thread for the code. How should I go about this?var datadogChart = new Chart("datadog-helmchart",
new ChartArgs
{
Chart = ChartName,
Version = args.ChartVersion,
Namespace = args.Namespace,
Values = new Dictionary<string, object>
{
["datadog"] = new Dictionary<string, object>
{
["apiKey"] = args.ApiKey,
["site"] = "<http://datadoghq.eu|datadoghq.eu>",
["logs"] = new Dictionary<string, object>
{
// Enable log collection
["enabled"] = true,
["containerCollectAll"] = true
},
// :::::ADDING THIS::::::
["apm"] = new Dictionary<string, object>
{
["enabled"] = true,
},
["kubelet"] = new Dictionary<string, object>
{
["tlsVerify"] = false
}
},
["clusterAgent"] = new Dictionary<string, object>
{
["tokenExistingSecret"] = ChecksumSecretName
}
},
FetchOptions = new ChartFetchArgs
{
Repo = ChartRepository
}
},
new ComponentResourceOptions
{
Provider = options.Provider
ReplaceOnChanges = { "*" },
});
billowy-army-68599
10/15/2021, 4:47 PMportEnabled
instead?
https://github.com/DataDog/helm-charts/blob/main/charts/datadog/values.yaml#L232
enabled
is deprecated and it might be broken in the chart. Does it work if you update existing values?rapid-soccer-18092
10/18/2021, 7:25 AMportEnabled
doesnt indicate to Pulumi that the chart has changed. Any further help on this would be appreciated 🙂
How do I update helm chart config values so that Pulumi knows to update or recreate the chart?billowy-army-68599
10/19/2021, 7:21 AMrapid-soccer-18092
10/19/2021, 1:41 PMpublic class DatadogChart : ComponentResource
{
private const string ChartName = "datadog";
private const string ChartRepository = "<https://helm.datadoghq.com>";
private const string ChecksumSecretName = "datadog-checksum-secret";
public DatadogChart(string name, DatadogChartArgs args, ComponentResourceOptions options)
: base("datatooks-aks:charts:DatadogChart", name, options)
{
var checksumPassword = new RandomPassword("datadog-checksum-password", new RandomPasswordArgs
{
Length = 32,
Special = true
},
new CustomResourceOptions
{
Parent = this,
Aliases = { new Alias() { Name = "datadog-checksum-password" } }
});
// We need to establish this in Pulumi otherwise it gets regenerated with each deployment, which redeploys the whole datadog chart.
var secret = new Secret("datadog-checksum-secret",
new SecretArgs
{
Metadata = new ObjectMetaArgs()
{
Name = ChecksumSecretName,
Namespace = args.Namespace
},
StringData = checksumPassword
.Result
.Apply(x => new Dictionary<string, string>()
{
{ "token", x }
})
},
new CustomResourceOptions
{
Provider = options.Provider,
Parent = this,
Aliases = { new Alias() { Name = "datadog-checksum-secret", NoParent = true } }
});
// Datadog chart. <https://github.com/DataDog/helm-charts/tree/main/charts/datadog>
var datadogChart = new Chart("datadog-helmchart",
new ChartArgs
{
Chart = ChartName,
Version = args.ChartVersion,
Namespace = args.Namespace,
Values = new Dictionary<string, object>
{
// Chart values schema can be found here: <https://github.com/DataDog/helm-charts/blob/main/charts/datadog/values.yaml>
["datadog"] = new Dictionary<string, object>
{
["apiKey"] = args.ApiKey,
["site"] = "<http://datadoghq.eu|datadoghq.eu>",
["logs"] = new Dictionary<string, object>
{
// Enable log collection
["enabled"] = true,
["containerCollectAll"] = true
},
["apm"] = new Dictionary<string, object>
{
// Enable APM and tracing on port 8126
["portEnabled"] = true,
},
["kubelet"] = new Dictionary<string, object>
{
["tlsVerify"] = false // See: <https://github.com/DataDog/integrations-core/issues/2582>
}
},
["clusterAgent"] = new Dictionary<string, object>
{
["tokenExistingSecret"] = ChecksumSecretName
}
},
FetchOptions = new ChartFetchArgs
{
Repo = ChartRepository
}
},
new ComponentResourceOptions
{
Provider = options.Provider,
DependsOn = { checksumPassword },
ReplaceOnChanges = { "*" },
Parent = this,
Aliases = { new Alias() { Name = "datadog-chart" } }
});
}
}
billowy-army-68599
10/19/2021, 8:36 PMrapid-soccer-18092
10/20/2021, 8:06 AMenabled
being used