most-mouse-38002
06/23/2022, 4:24 PMfunc SetEnvKubeConfig(ctx *pulumi.Context, config *configuration.Configuration, cluster *containerservice.ManagedCluster) error {
credentials := containerservice.ListManagedClusterAdminCredentialsOutput(ctx, containerservice.ListManagedClusterAdminCredentialsOutputArgs{
ResourceGroupName: config.ResourceGroup.Name,
ResourceName: cluster.Name,
})
kubeConfig := credentials.Kubeconfigs().Index(<http://pulumi.Int|pulumi.Int>(0)).Value().ApplyT(func(encode string) string {
kubeConfig, err := base64.StdEncoding.DecodeString(encode)
if err != nil {
return ""
}
return string(kubeConfig)
})
ctx.Export("KUBE_CONFIG", kubeConfig)
outputKubeConfig, exists := ctx.GetConfig("KUBE_CONFIG")
if !exists {
return errors.New("unknown context key KUBE_CONFIG")
}
_ = os.Setenv("KUBE_CONFIG", outputKubeConfig)
return nil
}
billowy-army-68599
most-mouse-38002
06/23/2022, 4:37 PMbillowy-army-68599
most-mouse-38002
06/23/2022, 4:40 PMbillowy-army-68599
ctx.Export
to access it from kubectl
etc but this is the recommended waymost-mouse-38002
06/23/2022, 4:48 PMbillowy-army-68599
most-mouse-38002
06/23/2022, 4:53 PMfunc GetKubeConfig(ctx *pulumi.Context, config *configuration.Configuration, cluster *containerservice.ManagedCluster) *pulumi.StringOutput {
credentials := containerservice.ListManagedClusterAdminCredentialsOutput(ctx, containerservice.ListManagedClusterAdminCredentialsOutputArgs{
ResourceGroupName: config.ResourceGroup.Name,
ResourceName: cluster.Name,
})
kubeConfig := credentials.Kubeconfigs().Index(<http://pulumi.Int|pulumi.Int>(0)).Value().ApplyT(func(encode string) string {
kubeConfig, err := base64.StdEncoding.DecodeString(encode)
if err != nil {
return ""
}
return string(kubeConfig)
}).(pulumi.StringOutput)
return &kubeConfig
}
billowy-army-68599
most-mouse-38002
06/23/2022, 5:04 PMbillowy-army-68599
most-mouse-38002
06/23/2022, 5:07 PMbillowy-army-68599
most-mouse-38002
06/23/2022, 5:11 PMbillowy-army-68599