-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
I ran an update just now and got an ultra strange output:
$ pulumi up
Previewing update (dev):
Type Name Plan Info
pulumi:pulumi:Stack aws-ts-eks-dev
└─ eks:index:Cluster cluster
~ ├─ pulumi-nodejs:dynamic:Resource cluster-cfnStackName update [diff: ~__provider]
~ ├─ aws:ec2:SecurityGroup cluster-eksClusterSecurityGroup update [diff: ~revokeRulesOnDelete,tags]
+ ├─ aws:ec2:SecurityGroupRule cluster-eksClusterInternetEgressRule create
├─ aws:eks:Cluster cluster-eksCluster [diff: ~provider]; 1 warning
~ ├─ aws:ec2:SecurityGroup cluster-nodeSecurityGroup update [diff: ~revokeRulesOnDelete,tags]
+ ├─ pulumi-nodejs:dynamic:Resource cluster-vpc-cni create
+ ├─ kubernetes:core:ConfigMap cluster-nodeAccess create
+ ├─ kubernetes:storage.k8s.io:StorageClass cluster-gp2 create
+ ├─ aws:ec2:SecurityGroupRule cluster-eksNodeIngressRule create
+ ├─ aws:ec2:SecurityGroupRule cluster-eksNodeClusterIngressRule create
+ ├─ aws:ec2:SecurityGroupRule cluster-eksClusterIngressRule create
+ ├─ aws:ec2:SecurityGroupRule cluster-eksNodeInternetEgressRule create
+ ├─ aws:ec2:SecurityGroupRule cluster-eksExtApiServerClusterIngressRule create
+ ├─ aws:ec2:LaunchConfiguration cluster-nodeLaunchConfiguration create
+ ├─ aws:cloudformation:Stack cluster-nodes create
+ ├─ pulumi:providers:kubernetes cluster-provider create
+ ├─ kubernetes:core:ServiceAccount cluster-eks-admin create
├─ kubernetes:yaml:ConfigGroup cluster-dashboard
+ │ ├─ kubernetes:core:ServiceAccount kube-system/kubernetes-dashboard create
+ │ ├─ kubernetes:core:Secret kube-system/kubernetes-dashboard-certs create
+ │ ├─ kubernetes:core:ServiceAccount kube-system/heapster create
+ │ ├─ kubernetes:core:Service kube-system/kubernetes-dashboard create
+ │ ├─ kubernetes:rbac.authorization.k8s.io:RoleBinding kube-system/kubernetes-dashboard-minimal create
+ │ ├─ kubernetes:core:Service kube-system/heapster create
+ │ ├─ kubernetes:extensions:Deployment kube-system/heapster create
+ │ ├─ kubernetes:core:Service kube-system/monitoring-influxdb create
+ │ ├─ kubernetes:rbac.authorization.k8s.io:ClusterRoleBinding heapster create
+ │ ├─ kubernetes:rbac.authorization.k8s.io:Role kube-system/kubernetes-dashboard-minimal create
+ │ ├─ kubernetes:extensions:Deployment kube-system/monitoring-influxdb create
+ │ └─ kubernetes:apps:Deployment kube-system/kubernetes-dashboard create
+ └─ kubernetes:rbac.authorization.k8s.io:ClusterRoleBinding cluster-eks-admin create
Diagnostics:
aws:eks:Cluster (cluster-eksCluster):
warning: Option `deployDashboard` has been deprecated. Please consider using the Helm chart, or writing the dashboard directly in Pulumi.
Outputs:
+ 0 : "0"
+ 1 : "4"
+ 10: "0"
+ 11: "e"
+ 12: "4"
+ 13: "-"
+ 14: "4"
+ 15: "6"
+ 16: "f"
+ 17: "7"
+ 18: "-"
+ 19: "9"
+ 2 : "d"
+ 20: "6"
+ 21: "e"
+ 22: "c"
+ 23: "-"
+ 24: "b"
+ 25: "5"
+ 26: "6"
+ 27: "f"
+ 28: "f"
+ 29: "0"
+ 3 : "a"
+ 30: "3"
+ 31: "3"
+ 32: "1"
+ 33: "b"
+ 34: "a"
+ 35: "9"
+ 4 : "6"
+ 5 : "b"
+ 6 : "5"
+ 7 : "4"
+ 8 : "-"
+ 9 : "8"
Resources:
+ 26 to create
~ 3 to update
29 changes. 23 unchanged
Do you want to perform this update? details
pulumi:pulumi:Stack: (same)
[urn=urn:pulumi:dev::aws-ts-eks::pulumi:pulumi:Stack::aws-ts-eks-dev]
~ pulumi-nodejs:dynamic:Resource: (update)
[id=cluster-cfnStackName]
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi-nodejs:dynamic:Resource::cluster-cfnStackName]
input : "cluster"
~ aws:ec2/securityGroup:SecurityGroup: (update)
[id=sg-00b944f6004544aae]
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/securityGroup:SecurityGroup::cluster-eksClusterSecurityGroup]
[provider: urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default::7382dc83-22f5-4ac4-893a-b0d401badd78 => urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::output<string>]
~ revokeRulesOnDelete: false => true
~ tags : {
+ Name: "cluster-eksClusterSecurityGroup"
}
+ aws:ec2/securityGroupRule:SecurityGroupRule: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::cluster-eksClusterInternetEgressRule]
[provider=urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
cidrBlocks : [
[0]: "0.0.0.0/0"
]
description : "Allow internet access."
fromPort : 0
protocol : "-1"
securityGroupId: "sg-00b944f6004544aae"
self : false
toPort : 0
type : "egress"
~ aws:ec2/securityGroup:SecurityGroup: (update)
[id=sg-0bd1e101f5d726633]
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/securityGroup:SecurityGroup::cluster-nodeSecurityGroup]
[provider: urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default::7382dc83-22f5-4ac4-893a-b0d401badd78 => urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::output<string>]
~ revokeRulesOnDelete: false => true
~ tags : {
+ Name: "cluster-nodeSecurityGroup"
}
+ pulumi-nodejs:dynamic:Resource: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi-nodejs:dynamic:Resource::cluster-vpc-cni]
kubeconfig: "{\"apiVersion\":\"v1\",\"clusters\":[{\"cluster\":{\"server\":\"https://EB8953237B0D213E798FA1D8A53E9967.yl4.us-west-2.eks.amazonaws.com\",\"certificate-authority-data\":\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNU1URXlNakl6TlRjeE1Wb1hEVEk1TVRFeE9USXpOVGN4TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTVF3CjhUZU80RWVyQTZRVERpL2p6aExGZGZZN0hWbW13TXRDZUtZa3ZiZkY1amgrM0hpVDhSajRtb0p3UElUcE9MRWoKc3UvNE90WDlIREZCNDlGVEdMYVNDRkc1UjV4aVl1Ykg1cTVwbGdEVmpMZVgzS0FzUGJpTHA1UHlYUmdzMHRGagp6bnBkbmJjWHVuOHRJMU05clNMUVJPMlZGK0MvRy80cE9udDdSZmdNVHJvZUlCZlhkcGZOUzlaT0NwLzhueTdrCkdPN2RleTZ5cFZIMFJQb0RhRFZHTmdGWGE1Yis2QzlwMk9XS2owR2pKL2dUSXFUa1NBOWNnTGRqNXVyQlhGbU0KVVk1cWgrNG5vK1RKSE9LMDNDWk1PZUQ4cEdWQ1h5S2kyQzA0N1p5ajY0bHNzZHd0OUNnQm5EdDRHZjVMWUpIQgpMdDcyU3h2VVk0SXpINzRmRFdrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFCcmMwSXIvTzl1OXBhMy9aNXA3bTlFdFVhRC8KdnRGR1VQRUo2eEdITVU4cWFDZ00xenhSYkpWeGVWOXJZbVFLYVM5SzdBWEtXMG5oQmJiMklyYUgxTXlYL0trdwpJVmhidXJtbis4VzRyUG5VRWlmcFY0bVpEZ3F3Mm1mbmhRZlA5Z0dyZkp4bUwzeDh4RkNoajU2Vk9vem9QRGY4Cm9meVJlNGo1YnFyeUkyQnV3clZXVGVoY3BFVS9PMjRHdTVUd0lOaUF2YWhHVkQzcUcvWHd5TU13SkkzZkpIWW8Kb2t5K3JKZ0dGR2RNOC9ZejduaVgwZGtpM3lrelFXSHpZb2Q4d2FGeDFnVFhsT0t4NzdEVFI4QS9uNVZpSGpWbwp3elNIQmlOK1M3ajBLSVNYalI3US96TjM4UzQ2MXNIelRpQzU3Sjc1RDdkMlhZbHpFekN2Q3Q0RVllcz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\"},\"name\":\"kubernetes\"}],\"contexts\":[{\"context\":{\"cluster\":\"kubernetes\",\"user\":\"aws\"},\"name\":\"aws\"}],\"current-context\":\"aws\",\"kind\":\"Config\",\"users\":[{\"name\":\"aws\",\"user\":{\"exec\":{\"apiVersion\":\"client.authentication.k8s.io/v1alpha1\",\"command\":\"aws-iam-authenticator\",\"args\":[\"token\",\"-i\",\"cluster-eksCluster-e8a5e5e\"]}}}]}"
+ kubernetes:core/v1:ConfigMap: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:core/v1:ConfigMap::cluster-nodeAccess]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-eks-k8s::723c70ef-ef39-4674-9a98-78d29d70e12e]
apiVersion: "v1"
data : {
mapRoles: "- rolearn: 'arn:aws:iam::153052954103:role/cluster-instanceRole-role-172a75b'\n username: 'system:node:{{EC2PrivateDNSName}}'\n groups:\n - 'system:bootstrappers'\n - 'system:nodes'\n"
}
kind : "ConfigMap"
metadata : {
labels : {
app.kubernetes.io/managed-by: "pulumi"
}
name : "aws-auth"
namespace: "kube-system"
}
+ kubernetes:storage.k8s.io/v1:StorageClass: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:storage.k8s.io/v1:StorageClass::cluster-gp2]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-eks-k8s::723c70ef-ef39-4674-9a98-78d29d70e12e]
apiVersion : "storage.k8s.io/v1"
kind : "StorageClass"
metadata : {
annotations: {
pulumi.com/autonamed : "true"
storageclass.kubernetes.io/is-default-class: "true"
}
labels : {
app.kubernetes.io/managed-by: "pulumi"
}
name : "cluster-gp2-b3dksm50"
}
parameters : {
type: "gp2"
}
provisioner: "kubernetes.io/aws-ebs"
+ aws:ec2/securityGroupRule:SecurityGroupRule: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::cluster-eksNodeIngressRule]
[provider=urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
description : "Allow nodes to communicate with each other"
fromPort : 0
protocol : "-1"
securityGroupId: "sg-0bd1e101f5d726633"
self : true
toPort : 0
type : "ingress"
+ aws:ec2/securityGroupRule:SecurityGroupRule: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::cluster-eksNodeClusterIngressRule]
[provider=urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
description : "Allow worker Kubelets and pods to receive communication from the cluster control plane"
fromPort : 1025
protocol : "tcp"
securityGroupId : "sg-0bd1e101f5d726633"
sourceSecurityGroupId: "sg-00b944f6004544aae"
toPort : 65535
type : "ingress"
+ aws:ec2/securityGroupRule:SecurityGroupRule: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::cluster-eksClusterIngressRule]
[provider=urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
description : "Allow pods to communicate with the cluster API Server"
fromPort : 443
protocol : "tcp"
securityGroupId : "sg-00b944f6004544aae"
sourceSecurityGroupId: "sg-0bd1e101f5d726633"
toPort : 443
type : "ingress"
+ aws:ec2/securityGroupRule:SecurityGroupRule: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::cluster-eksNodeInternetEgressRule]
[provider=urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
cidrBlocks : [
[0]: "0.0.0.0/0"
]
description : "Allow internet access."
fromPort : 0
protocol : "-1"
securityGroupId: "sg-0bd1e101f5d726633"
self : false
toPort : 0
type : "egress"
+ aws:ec2/securityGroupRule:SecurityGroupRule: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/securityGroupRule:SecurityGroupRule::cluster-eksExtApiServerClusterIngressRule]
[provider=urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
description : "Allow pods running extension API servers on port 443 to receive communication from cluster control plane"
fromPort : 443
protocol : "tcp"
securityGroupId : "sg-0bd1e101f5d726633"
sourceSecurityGroupId: "sg-00b944f6004544aae"
toPort : 443
type : "ingress"
+ aws:ec2/launchConfiguration:LaunchConfiguration: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:ec2/launchConfiguration:LaunchConfiguration::cluster-nodeLaunchConfiguration]
[provider=urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
associatePublicIpAddress: true
enableMonitoring : true
iamInstanceProfile : "cluster-instanceProfile-733671f"
imageId : "ami-07be7092831897fd6"
instanceType : "t2.medium"
name : "cluster-nodeLaunchConfiguration-cd7286f"
rootBlockDevice : {
deleteOnTermination: true
volumeSize : 20
volumeType : "gp2"
}
securityGroups : [
[0]: output<string>
]
userData : output<string>
+ aws:cloudformation/stack:Stack: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$aws:cloudformation/stack:Stack::cluster-nodes]
[provider=urn:pulumi:dev::aws-ts-eks::pulumi:providers:aws::default_1_10_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
name : output<string>
tags : {
Name : "cluster-nodes"
}
templateBody: output<string>
+ pulumi:providers:kubernetes: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider]
kubeconfig: output<string>
--outputs:--
+ 0 : "0"
+ 1 : "4"
+ 10: "0"
+ 11: "e"
+ 12: "4"
+ 13: "-"
+ 14: "4"
+ 15: "6"
+ 16: "f"
+ 17: "7"
+ 18: "-"
+ 19: "9"
+ 2 : "d"
+ 20: "6"
+ 21: "e"
+ 22: "c"
+ 23: "-"
+ 24: "b"
+ 25: "5"
+ 26: "6"
+ 27: "f"
+ 28: "f"
+ 29: "0"
+ 3 : "a"
+ 30: "3"
+ 31: "3"
+ 32: "1"
+ 33: "b"
+ 34: "a"
+ 35: "9"
+ 4 : "6"
+ 5 : "b"
+ 6 : "5"
+ 7 : "4"
+ 8 : "-"
+ 9 : "8"
+ kubernetes:core/v1:ServiceAccount: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:core/v1:ServiceAccount::cluster-eks-admin]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "v1"
kind : "ServiceAccount"
metadata : {
name : "eks-admin"
namespace: "kube-system"
}
+ kubernetes:core/v1:ServiceAccount: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:core/v1:ServiceAccount::kube-system/kubernetes-dashboard]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "v1"
kind : "ServiceAccount"
metadata : {
labels : {
k8s-app: "kubernetes-dashboard"
}
name : "kubernetes-dashboard"
namespace: "kube-system"
}
+ kubernetes:core/v1:Secret: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:core/v1:Secret::kube-system/kubernetes-dashboard-certs]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "v1"
kind : "Secret"
metadata : {
labels : {
k8s-app: "kubernetes-dashboard"
}
name : "kubernetes-dashboard-certs"
namespace: "kube-system"
}
type : "Opaque"
+ kubernetes:core/v1:ServiceAccount: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:core/v1:ServiceAccount::kube-system/heapster]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "v1"
kind : "ServiceAccount"
metadata : {
name : "heapster"
namespace: "kube-system"
}
+ kubernetes:core/v1:Service: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:core/v1:Service::kube-system/kubernetes-dashboard]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "v1"
kind : "Service"
metadata : {
labels : {
k8s-app: "kubernetes-dashboard"
}
name : "kubernetes-dashboard"
namespace: "kube-system"
}
spec : {
ports : [
[0]: {
port : 443
targetPort: 8443
}
]
selector: {
k8s-app: "kubernetes-dashboard"
}
}
+ kubernetes:rbac.authorization.k8s.io/v1:RoleBinding: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:rbac.authorization.k8s.io/v1:RoleBinding::kube-system/kubernetes-dashboard-minimal]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "rbac.authorization.k8s.io/v1"
kind : "RoleBinding"
metadata : {
name : "kubernetes-dashboard-minimal"
namespace: "kube-system"
}
roleRef : {
apiGroup: "rbac.authorization.k8s.io"
kind : "Role"
name : "kubernetes-dashboard-minimal"
}
subjects : [
[0]: {
kind : "ServiceAccount"
name : "kubernetes-dashboard"
namespace: "kube-system"
}
]
+ kubernetes:core/v1:Service: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:core/v1:Service::kube-system/heapster]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "v1"
kind : "Service"
metadata : {
labels : {
kubernetes.io/cluster-service: "true"
kubernetes.io/name : "Heapster"
task : "monitoring"
}
name : "heapster"
namespace: "kube-system"
}
spec : {
ports : [
[0]: {
port : 80
targetPort: 8082
}
]
selector: {
k8s-app: "heapster"
}
}
+ kubernetes:extensions/v1beta1:Deployment: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:extensions/v1beta1:Deployment::kube-system/heapster]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "extensions/v1beta1"
kind : "Deployment"
metadata : {
name : "heapster"
namespace: "kube-system"
}
spec : {
replicas: 1
template: {
metadata: {
labels: {
k8s-app: "heapster"
task : "monitoring"
}
}
spec : {
containers : [
[0]: {
command : [
[0]: "/heapster"
[1]: "--source=kubernetes:https://kubernetes.default"
[2]: "--sink=influxdb:http://monitoring-influxdb.kube-system.svc:8086"
]
image : "k8s.gcr.io/heapster-amd64:v1.5.4"
imagePullPolicy: "IfNotPresent"
name : "heapster"
}
]
serviceAccountName: "heapster"
}
}
}
+ kubernetes:core/v1:Service: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:core/v1:Service::kube-system/monitoring-influxdb]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "v1"
kind : "Service"
metadata : {
labels : {
kubernetes.io/cluster-service: "true"
kubernetes.io/name : "monitoring-influxdb"
task : "monitoring"
}
name : "monitoring-influxdb"
namespace: "kube-system"
}
spec : {
ports : [
[0]: {
port : 8086
targetPort: 8086
}
]
selector: {
k8s-app: "influxdb"
}
}
+ kubernetes:rbac.authorization.k8s.io/v1beta1:ClusterRoleBinding: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:rbac.authorization.k8s.io/v1beta1:ClusterRoleBinding::heapster]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "rbac.authorization.k8s.io/v1beta1"
kind : "ClusterRoleBinding"
metadata : {
name: "heapster"
}
roleRef : {
apiGroup: "rbac.authorization.k8s.io"
kind : "ClusterRole"
name : "system:heapster"
}
subjects : [
[0]: {
kind : "ServiceAccount"
name : "heapster"
namespace: "kube-system"
}
]
+ kubernetes:rbac.authorization.k8s.io/v1:ClusterRoleBinding: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:rbac.authorization.k8s.io/v1:ClusterRoleBinding::cluster-eks-admin]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "rbac.authorization.k8s.io/v1"
kind : "ClusterRoleBinding"
metadata : {
name: "eks-admin"
}
roleRef : {
apiGroup: "rbac.authorization.k8s.io"
kind : "ClusterRole"
name : "cluster-admin"
}
subjects : [
[0]: {
kind : "ServiceAccount"
name : "eks-admin"
namespace: "kube-system"
}
]
+ kubernetes:rbac.authorization.k8s.io/v1:Role: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:rbac.authorization.k8s.io/v1:Role::kube-system/kubernetes-dashboard-minimal]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "rbac.authorization.k8s.io/v1"
kind : "Role"
metadata : {
name : "kubernetes-dashboard-minimal"
namespace: "kube-system"
}
rules : [
[0]: {
apiGroups: [
[0]: ""
]
resources: [
[0]: "secrets"
]
verbs : [
[0]: "create"
]
}
[1]: {
apiGroups: [
[0]: ""
]
resources: [
[0]: "configmaps"
]
verbs : [
[0]: "create"
]
}
[2]: {
apiGroups : [
[0]: ""
]
resourceNames: [
[0]: "kubernetes-dashboard-key-holder"
[1]: "kubernetes-dashboard-certs"
]
resources : [
[0]: "secrets"
]
verbs : [
[0]: "get"
[1]: "update"
[2]: "delete"
]
}
[3]: {
apiGroups : [
[0]: ""
]
resourceNames: [
[0]: "kubernetes-dashboard-settings"
]
resources : [
[0]: "configmaps"
]
verbs : [
[0]: "get"
[1]: "update"
]
}
[4]: {
apiGroups : [
[0]: ""
]
resourceNames: [
[0]: "heapster"
]
resources : [
[0]: "services"
]
verbs : [
[0]: "proxy"
]
}
[5]: {
apiGroups : [
[0]: ""
]
resourceNames: [
[0]: "heapster"
[1]: "http:heapster:"
[2]: "https:heapster:"
]
resources : [
[0]: "services/proxy"
]
verbs : [
[0]: "get"
]
}
]
+ kubernetes:extensions/v1beta1:Deployment: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:extensions/v1beta1:Deployment::kube-system/monitoring-influxdb]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "extensions/v1beta1"
kind : "Deployment"
metadata : {
name : "monitoring-influxdb"
namespace: "kube-system"
}
spec : {
replicas: 1
template: {
metadata: {
labels: {
k8s-app: "influxdb"
task : "monitoring"
}
}
spec : {
containers: [
[0]: {
image : "k8s.gcr.io/heapster-influxdb-amd64:v1.5.2"
name : "influxdb"
volumeMounts: [
[0]: {
mountPath: "/data"
name : "influxdb-storage"
}
]
}
]
volumes : [
[0]: {
name : "influxdb-storage"
}
]
}
}
}
+ kubernetes:apps/v1beta2:Deployment: (create)
[urn=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$kubernetes:yaml:ConfigGroup$kubernetes:apps/v1beta2:Deployment::kube-system/kubernetes-dashboard]
[provider=urn:pulumi:dev::aws-ts-eks::eks:index:Cluster$pulumi:providers:kubernetes::cluster-provider::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
apiVersion: "apps/v1beta2"
kind : "Deployment"
metadata : {
labels : {
k8s-app: "kubernetes-dashboard"
}
name : "kubernetes-dashboard"
namespace: "kube-system"
}
spec : {
replicas : 1
revisionHistoryLimit: 10
selector : {
matchLabels: {
k8s-app: "kubernetes-dashboard"
}
}
template : {
metadata: {
labels: {
k8s-app: "kubernetes-dashboard"
}
}
spec : {
containers : [
[0]: {
args : [
[0]: "--auto-generate-certificates"
]
image : "k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3"
livenessProbe: {
httpGet : {
path : "/"
port : 8443
scheme: "HTTPS"
}
initialDelaySeconds: 30
timeoutSeconds : 30
}
name : "kubernetes-dashboard"
ports : [
[0]: {
containerPort: 8443
protocol : "TCP"
}
]
volumeMounts : [
[0]: {
mountPath: "/certs"
name : "kubernetes-dashboard-certs"
}
[1]: {
mountPath: "/tmp"
name : "tmp-volume"
}
]
}
]
serviceAccountName: "kubernetes-dashboard"
tolerations : [
[0]: {
effect: "NoSchedule"
key : "node-role.kubernetes.io/master"
}
]
volumes : [
[0]: {
name : "kubernetes-dashboard-certs"
secret: {
secretName: "kubernetes-dashboard-certs"
}
}
[1]: {
name : "tmp-volume"
}
]
}
}
}
Do you want to perform this update? no
confirmation declined, not proceeding with the update
Note the:
Outputs:
+ 0 : "0"
+ 1 : "4"
+ 10: "0"
+ 11: "e"
+ 12: "4"
+ 13: "-"
+ 14: "4"
+ 15: "6"
+ 16: "f"
+ 17: "7"
+ 18: "-"
+ 19: "9"
+ 2 : "d"
+ 20: "6"
+ 21: "e"
+ 22: "c"
+ 23: "-"
+ 24: "b"
+ 25: "5"
+ 26: "6"
+ 27: "f"
+ 28: "f"
+ 29: "0"
+ 3 : "a"
+ 30: "3"
+ 31: "3"
+ 32: "1"
+ 33: "b"
+ 34: "a"
+ 35: "9"
+ 4 : "6"
+ 5 : "b"
+ 6 : "5"
+ 7 : "4"
+ 8 : "-"
+ 9 : "8"
This is from the code in the examples repo, https://github.com/pulumi/examples/blob/master/gcp-ts-gke/index.ts, which definitely does not export an unknown string at the top-level:
// Export the Kubeconfig so that clients can easily access our cluster.
export let kubeConfig = k8sConfig;
Kudos to @pgavlin for recognizing that this is actually the UnknownStringValue
GUID:
pulumi/pkg/resource/plugin/rpc.go
Line 50 in 0e9c4ed
UnknownStringValue = "04da6b54-80e4-46f7-96ec-b56ff0331ba9" |
Unfortunately, I've not been able to repro this, after making (and undoing) an edit to the same program. Now when I run it, I see:
Outputs:
+ kubeconfig: output<string>
as I would expect. Perhaps it's a timing/interleaving issue with promise resolution?
For fun, now that we know what this outcome represents, if I change the export line to:
module.exports = cluster.kubeconfig;
the same thing happens. But this is most certainly not what the program was doing originally.