narrow-author-62348
05/05/2020, 10:37 AMexport const secret = k8s.core.v1.Secret.get("kubeconfig", "admin/kubeconfig-for-admin");
export const k8sProvider = new k8s.Provider("new-cluster", {
kubeconfig: secret.stringData["kubeconfig"],
});
But the k8sProvider
does not work as expected, I couldn’t see the kubeconfig field in it. Does anyone know why it is that? I’m pretty sure the kubeconfig was stored as base64 string in the admin/kubeconfig-for-admin
.better-rainbow-14549
05/05/2020, 11:31 AMconst kubeConfig = azure.keyvault.getSecret({
keyVaultId: keyvaultId,
name: args.KubeConfigSecretName
});
return new kubernetes.Provider(name, { kubeconfig: kubeConfig.value })
narrow-author-62348
05/05/2020, 12:32 PMsecret.data
is pulumi.Output<object>
, I don’t know how to extract the specific value from it.better-rainbow-14549
05/05/2020, 12:33 PMnarrow-author-62348
05/05/2020, 2:12 PMconst secret = k8s.core.v1.Secret.get("kubeconfig", "admin/kubeconfig-for-admin");
type secretData = { [key: string]: string };
export const kubeconfig = secret.data.apply(v => Buffer.from((v as secretData)["kubeconfig"], "base64").toString("ascii"));
const provider = new k8s.Provider("cluster", {
kubeconfig: kubeconfig,
});
Thanks for your help @better-rainbow-14549.