I'm seeing a strange issue. I'm creating a kuberne...
# general
w
I'm seeing a strange issue. I'm creating a kubernetes "ServiceDeployment" component. When I run
pulumi up
, I can see that annotations I wish to place on the service are included in the plan, but when I actually run it, the resulting service only has a single
<http://kubectl.kubernetes.io/last-applied-configuration|kubectl.kubernetes.io/last-applied-configuration>
that includes my annotation amongst others, but all other annotations are gone, see in thread...
Relevant excerpt from the plan:
Copy code
+ kubernetes:core/v1:Service: (create)
            [urn=urn:pulumi:local-dev::hello-world-k8s::lib:k8s:ServiceDeployment$kubernetes:core/v1:Service::default-hello-world-service]
            [provider=urn:pulumi:local-dev::hello-world-k8s::pulumi:providers:kubernetes::default_3_26_0::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
            apiVersion: "v1"
            kind      : "Service"
            metadata  : {
                annotations: {
                    <http://pulumi.com/autonamed|pulumi.com/autonamed>: "true"
                    workbench/local-port: 8080
                }
                labels     : {
                    <http://app.kubernetes.io/managed-by|app.kubernetes.io/managed-by>: "pulumi"
                    env                         : "dev"
                }
                name       : "default-hello-world-service-03456255"
                namespace  : "default"
            }
            spec      : {
                ports   : [
                    [0]: {
                        name      : "http"
                        port      : 80
                        targetPort: "http"
                    }
                ]
                selector: {
                    app: "hello-world"
                }
                type    : "ClusterIP"
The actual resource manifest:
Copy code
apiVersion: v1
kind: Service
metadata:
  annotations:
    <http://kubectl.kubernetes.io/last-applied-configuration|kubectl.kubernetes.io/last-applied-configuration>: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"<http://pulumi.com/autonamed|pulumi.com/autonamed>":"true","workbench/local-port":8080},"labels":{"<http://app.kubernetes.io/managed-by|app.kubernetes.io/managed-by>":"pulumi","env":"dev"},"name":"default-hello-world-service-7e2e994e","namespace":"default"},"spec":{"ports":[{"name":"http","port":80,"targetPort":"http"}],"selector":{"app":"hello-world"},"type":"ClusterIP"}}
  creationTimestamp: "2023-05-07T17:40:58Z"
  labels:
    <http://app.kubernetes.io/managed-by|app.kubernetes.io/managed-by>: pulumi
    env: dev
  name: default-hello-world-service-7e2e994e
  namespace: default
  resourceVersion: "5065"
  uid: 38a63bca-ab5a-41be-b121-8cba10528eb2
spec:
  clusterIP: 10.108.68.83
  clusterIPs:
  - 10.108.68.83
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: http
  selector:
    app: hello-world
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}
I'm interested in the
workbench/local-port
annotation
Ah... a type issue perhaps, making the value a string did the trick