Skip to content

Outputs are the unknown string GUID (as a string/array) #3571

@joeduffy

Description

@joeduffy

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:

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions