Hey all, I’ve been noticing a strange issue with `...
# general
s
Hey all, I’ve been noticing a strange issue with
pulumi preview --diff
where the diff from the CLI is vastly different than the one shown in the UI - I would expect these to be the same but the one in the UI is a lot more verbose, and is pretty difficult to parse and find the relevant changes. This is affecting development for us because we use the Pulumi Github action for CI, which links to the UI - is there a way to make the UI diff more similar to the one output by the CLI? Pasting diffs in thread:
Diff from CLI:
Copy code
> pulumi preview --diff
Previewing update (<stack>)
View Live: <link-to-UI>

  pulumi:pulumi:Stack: (same)
    ~ kubernetes:apps/v1:Deployment: (update)
      ~ spec: {
          ~ template: {
              ~ metadata: {
                  ~ labels: {
                      - test_label: "value_1"
                      + test_label : "value_2"
                    }
                }
            }
        }
Resources:
    ~ 1 to update
    76 unchanged
Diff from UI:
Copy code
~  kubernetes:apps/v1:Deployment (update)
    [urn=urn:pulumi:stage::services::kubernetes:apps/v1:Deployment::my-deployment]
    __initialApiVersion: "apps/v1"
    __inputs           : {
        apiVersion: "apps/v1"
        kind      : "Deployment"
        metadata  : {
            labels   : {
                app                         : "my-deployment"
                <http://app.kubernetes.io/managed-by|app.kubernetes.io/managed-by>: "pulumi"
            }
            name     : "my-deployment"
            namespace: "default"
        }
        spec      : {
            replicas: 3
            selector: {
                matchLabels: {
                    app: "my-deployment"
                }
            }
            strategy: {
                rollingUpdate: {
                    maxSurge: "100%"
                }
                type         : "RollingUpdate"
            }
            template: {
                metadata: {
                    labels     : {
                        app                       : "my-deployment"
                        name                      : "my-deployment"
                    }
                }
                spec    : {
                    containers               : [secret]
                    topologySpreadConstraints: [
                        [0]: {
                            labelSelector    : {
                                matchLabels: {
                                    app: "my-deployment"
                                }
                            }
                            maxSkew          : 1
                            topologyKey      : "<http://topology.kubernetes.io/zone|topology.kubernetes.io/zone>"
                            whenUnsatisfiable: "ScheduleAnyway"
                        }
                    ]
                }
            }
        }
    }
    metadata           : {
        annotations      : {
            <http://deployment.kubernetes.io/revision|deployment.kubernetes.io/revision>               : "688"
            <http://kubectl.kubernetes.io/last-applied-configuration|kubectl.kubernetes.io/last-applied-configuration>: [secret]
        }
        creationTimestamp: "2022-01-20T16:10:23Z"
        generation       : 688
        managedFields    : [
            [0]: {
                apiVersion: "apps/v1"
                fieldsType: "FieldsV1"
                fieldsV1  : {
                    f:metadata: {
                        f:annotations: {
                            .                                                 : {}
                            f:<http://kubectl.kubernetes.io/last-applied-configuration|kubectl.kubernetes.io/last-applied-configuration>: {}
                        }
                        f:labels     : {
                            .                             : {}
                            f:app                         : {}
                            f:<http://app.kubernetes.io/managed-by|app.kubernetes.io/managed-by>: {}
                        }
                    }
                    f:spec    : {
                        f:progressDeadlineSeconds: {}
                        f:replicas               : {}
                        f:revisionHistoryLimit   : {}
                        f:selector               : {}
                        f:strategy               : {
                            f:rollingUpdate: {
                                .               : {}
                                f:maxSurge      : {}
                                f:maxUnavailable: {}
                            }
                            f:type         : {}
                        }
                        f:template               : {
                            f:metadata: {
                                f:annotations: {}
                                f:labels     : {
                                    .                           : {}
                                    f:app                       : {}
                                    f:name                      : {}
                                }
                            }
                            f:spec    : {
                                f:containers                   : {
                                    k:{"name":"my-deployment"}: {
                                        .                         : {}
                                        f:env                     : {}
                                        f:image                   : {}
                                        f:imagePullPolicy         : {}
                                        f:name                    : {}
                                        f:ports                   : {}
                                        f:readinessProbe          : {
                                            .                    : {}
                                            f:failureThreshold   : {}
                                            f:httpGet            : {
                                                .       : {}
                                                f:path  : {}
                                                f:port  : {}
                                                f:scheme: {}
                                            }
                                            f:initialDelaySeconds: {}
                                            f:periodSeconds      : {}
                                            f:successThreshold   : {}
                                            f:timeoutSeconds     : {}
                                        }
                                        f:resources               : {
                                            .         : {}
                                            f:limits  : {
                                                .       : {}
                                                f:cpu   : {}
                                                f:memory: {}
                                            }
                                            f:requests: {
                                                .       : {}
                                                f:cpu   : {}
                                                f:memory: {}
                                            }
                                        }
                                        f:terminationMessagePath  : {}
                                        f:terminationMessagePolicy: {}
                                    }
                                }
                                f:dnsPolicy                    : {}
                                f:restartPolicy                : {}
                                f:securityContext              : {}
                                f:serviceAccount               : {}
                                f:serviceAccountName           : {}
                                f:terminationGracePeriodSeconds: {}
                                f:topologySpreadConstraints    : {
                                    .                                                                                   : {}
                                    k:{"topologyKey":"<http://topology.kubernetes.io/zone|topology.kubernetes.io/zone>","whenUnsatisfiable":"ScheduleAnyway"}: {
                                        .                  : {}
                                        f:labelSelector    : {}
                                        f:maxSkew          : {}
                                        f:topologyKey      : {}
                                        f:whenUnsatisfiable: {}
                                    }
                                }
                            }
                        }
                    }
                }
                manager   : "pulumi-resource-kubernetes"
                operation : "Update"
                time      : "2022-03-04T21:17:14Z"
            }
            [1]: {
                apiVersion: "apps/v1"
                fieldsType: "FieldsV1"
                fieldsV1  : {
                    f:metadata: {
                        f:annotations: {
                            f:<http://deployment.kubernetes.io/revision|deployment.kubernetes.io/revision>: {}
                        }
                    }
                    f:status  : {
                        f:availableReplicas : {}
                        f:conditions        : {
                            .                       : {}
                            k:{"type":"Available"}  : {
                                .                   : {}
                                f:lastTransitionTime: {}
                                f:lastUpdateTime    : {}
                                f:message           : {}
                                f:reason            : {}
                                f:status            : {}
                                f:type              : {}
                            }
                            k:{"type":"Progressing"}: {
                                .                   : {}
                                f:lastTransitionTime: {}
                                f:lastUpdateTime    : {}
                                f:message           : {}
                                f:reason            : {}
                                f:status            : {}
                                f:type              : {}
                            }
                        }
                        f:observedGeneration: {}
                        f:readyReplicas     : {}
                        f:replicas          : {}
                        f:updatedReplicas   : {}
                    }
                }
                manager   : "kube-controller-manager"
                operation : "Update"
                time      : "2022-04-28T22:14:55Z"
            }
        ]
    }
    spec               : {
        progressDeadlineSeconds: 600
        revisionHistoryLimit   : 10
        strategy               : {
            rollingUpdate: {
                maxUnavailable: "25%"
            }
        }
        template               : {
            metadata: {
                labels     : {
                    test_label: "value_1"
                    test_label: "value_2"
                }
            }
            spec    : {
                dnsPolicy                    : "ClusterFirst"
                restartPolicy                : "Always"
                securityContext              : {}
                serviceAccount               : "my-service-account-lrz1euu6"
                terminationGracePeriodSeconds: 30
            }
        }
    }
    status             : {
        availableReplicas : 3
        conditions        : [
            [0]: {
                lastTransitionTime: "2022-04-28T15:47:38Z"
                lastUpdateTime    : "2022-04-28T15:47:38Z"
                message           : "Deployment has minimum availability."
                reason            : "MinimumReplicasAvailable"
                status            : "True"
                type              : "Available"
            }
            [1]: {
                lastTransitionTime: "2022-01-20T16:10:23Z"
                lastUpdateTime    : "2022-04-28T22:14:55Z"
                message           : "ReplicaSet "my-deployment-b9589b6cc" has successfully progressed."
                reason            : "NewReplicaSetAvailable"
                status            : "True"
                type              : "Progressing"
            }
        ]
        observedGeneration: 688
        readyReplicas     : 3
        replicas          : 3
        updatedReplicas   : 3
    }
b
hi! could you open an issue here? https://github.com/pulumi/service-requests
s
will do!
🙏 1