Skip to content

build(deps): bump uuid and @dailydotdev/pulumi-common in /.infra

9ffad34
Select commit
Loading
Failed to load commit list.
Open

build(deps): bump uuid and @dailydotdev/pulumi-common in /.infra #621

build(deps): bump uuid and @dailydotdev/pulumi-common in /.infra
9ffad34
Select commit
Loading
Failed to load commit list.
Pulumi / scraper/prod - Update (preview) succeeded May 2, 2026 in 13s

Update (preview)

🍹 The Update (preview) for dailydotdev/scraper/prod was successful.

Visit the Pulumi Service for more information.

Details

Resource Changes

    Name                   Type                                               Operation
~   vpc-native-hpa         kubernetes:autoscaling/v2:HorizontalPodAutoscaler  update
~   vpc-native-service     kubernetes:core/v1:Service                         update
~   vpc-native             pulumi:providers:kubernetes                        update
~   vpc-native-pdb         kubernetes:policy/v1:PodDisruptionBudget           update
+-  vpc-native-deployment  kubernetes:apps/v1:Deployment                      create-replacement

Detailed Diff

View diff
pulumi:pulumi:Stack: (same)
    [urn=urn:pulumi:prod::scraper::pulumi:pulumi:Stack::scraper-prod]
warning: failed to get regions list: failed to create compute service: credentials: could not find default credentials. See https://cloud.google.com/docs/authentication/external/set-up-adc for more information
    > pulumi:pulumi:StackReference: (read)
        [urn=urn:pulumi:prod::scraper::pulumi:pulumi:StackReference::dailydotdev/infra/prod]
        name: "dailydotdev/infra/prod"
    ~ pulumi:providers:kubernetes: (update)
        [urn=urn:pulumi:prod::scraper::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native]
    ~ kubernetes:policy/v1:PodDisruptionBudget: (update)
        [urn=urn:pulumi:prod::scraper::kubernetes:policy/v1:PodDisruptionBudget::vpc-native-pdb]
        [provider=urn:pulumi:prod::scraper::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::6d23d03d-0fc2-4be6-a379-495fe0e96fbd]
      ~ metadata: {
          ~ labels: {
              + app.kubernetes.io/name: "scraper"
            }
        }
      ~ spec    : {
          ~ selector: {
              ~ matchLabels: {
                  + app.kubernetes.io/name: "scraper"
                }
            }
        }
        --outputs:--
      - status    : {
          - conditions        : [
          -     [0]: {
                  - lastTransitionTime: "2026-03-15T16:11:17Z"
                  - message           : ""
                  - observedGeneration: 1
                  - reason            : "SufficientPods"
                  - status            : "True"
                  - type              : "DisruptionAllowed"
                }
            ]
          - currentHealthy    : 8
          - desiredHealthy    : 7
          - disruptionsAllowed: 1
          - expectedPods      : 8
          - observedGeneration: 1
        }
    ~ kubernetes:autoscaling/v2:HorizontalPodAutoscaler: (update)
        [urn=urn:pulumi:prod::scraper::kubernetes:autoscaling/v2:HorizontalPodAutoscaler::vpc-native-hpa]
        [provider=urn:pulumi:prod::scraper::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::6d23d03d-0fc2-4be6-a379-495fe0e96fbd]
      ~ metadata: {
          ~ labels: {
              + app.kubernetes.io/name: "scraper"
            }
        }
        --outputs:--
      - status    : {
          - conditions     : [
          -     [0]: {
                  - lastTransitionTime: "2026-03-15T17:50:53Z"
                  - message           : "recommended size matches current size"
                  - reason            : "ReadyForNewScale"
                  - status            : "True"
                  - type              : "AbleToScale"
                }
          -     [1]: {
                  - lastTransitionTime: "2026-03-15T17:18:22Z"
                  - message           : "the HPA was able to successfully calculate a replica count from memory resource utilization (percentage of request)"
                  - reason            : "ValidMetricFound"
                  - status            : "True"
                  - type              : "ScalingActive"
                }
          -     [2]: {
                  - lastTransitionTime: "2026-03-11T17:18:27Z"
                  - message           : "the desired count is within the acceptable range"
                  - reason            : "DesiredWithinRange"
                  - status            : "False"
                  - type              : "ScalingLimited"
                }
            ]
          - currentMetrics : [
          -     [0]: {
                  - resource: {
                      - current: {
                          - averageUtilization: 53
                          - averageValue      : "76m"
                          - value             : "609m"
                        }
                      - name   : "cpu"
                    }
                  - type    : "Resource"
                }
          -     [1]: {
                  - resource: {
                      - current: {
                          - averageUtilization: 136
                          - averageValue      : "1277000704"
                          - value             : "10216005632"
                        }
                      - name   : "memory"
                    }
                  - type    : "Resource"
                }
            ]
          - currentReplicas: 8
          - desiredReplicas: 8
          - lastScaleTime  : "2026-03-15T16:21:13Z"
        }
    --kubernetes:apps/v1:Deployment: (delete-replaced)
        [urn=urn:pulumi:prod::scraper::kubernetes:apps/v1:Deployment::vpc-native-deployment]
        [provider=urn:pulumi:prod::scraper::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::6d23d03d-0fc2-4be6-a379-495fe0e96fbd]
        apiVersion: "apps/v1"
        kind      : "Deployment"
        metadata  : {
            labels   : {
                app                         : "scraper"
                app.kubernetes.io/managed-by: "pulumi"
                version                     : "9f45e2682bdff4b104bd16ef3a947eb8c1f7b870"
            }
            name     : "scraper"
            namespace: "daily"
        }
        spec      : {
            selector: {
                matchLabels: {
                    app: "scraper"
                }
            }
            strategy: {
                rollingUpdate: {
                    maxUnavailable: 1
                }
                type         : "RollingUpdate"
            }
            template: {
                metadata: {
                    labels: {
                        app: "scraper"
                    }
                }
                spec    : {
                    affinity          : {
                        nodeAffinity: {
                            preferredDuringSchedulingIgnoredDuringExecution: [
                                [0]: {
                                    preference: {
                                        matchExpressions: [
                                            [0]: {
                                                key     : "node.daily.dev/spot"
                                                operator: "Exists"
                                            }
                                        ]
                                    }
                                    weight    : 99
                                }
                                [1]: {
                                    preference: {
                                        matchExpressions: [
                                            [0]: {
                                                key     : "node.daily.dev/spot"
                                                operator: "DoesNotExist"
                                            }
                                        ]
                                    }
                                    weight    : 1
                                }
                            ]
                        }
                    }
                    containers        : [
                        [0]: {
                            env           : [
                                [0]: {
                                    name : "NODE_OPTIONS"
                                    value: "--max-old-space-size=1843"
                                }
                            ]
                            envFrom       : [
                                [0]: {
                                    secretRef: {
                                        name: "scraper"
                                    }
                                }
                            ]
                            image         : "gcr.io/daily-ops/daily-scraper:9f45e2682bdff4b104bd16ef3a947eb8c1f7b870"
                            livenessProbe : {
                                httpGet            : {
                                    path: "/ready"
                                    port: "http"
                                }
                                initialDelaySeconds: 10
                            }
                            name          : "app"
                            ports         : [
                                [0]: {
                                    containerPort: 3000
                                    name         : "http"
                                }
                            ]
                            readinessProbe: {
                                httpGet            : {
                                    path: "/ready"
                                    port: "http"
                                }
                                initialDelaySeconds: 10
                            }
                            resources     : {
                                limits  : {
                                    memory: "2Gi"
                                }
                                requests: {
                                    cpu   : "144m"
                                    memory: "896Mi"
                                }
                            }
                        }
                    ]
                    serviceAccountName: "scraper"
                    tolerations       : [
                        [0]: {
                            effect  : "NoSchedule"
                            key     : "spot"
                            operator: "Equal"
                            value   : "true"
                        }
                    ]
                }
            }
        }
        --outputs:--
      - apiVersion: "apps/v1"
      - kind      : "Deployment"
      - metadata  : {
          - annotations      : {
              - deployment.kubernetes.io/revision: "48"
            }
          - creationTimestamp: "2022-09-15T06:41:56Z"
          - generation       : 54456
          - labels           : {
              - app                         : "scraper"
              - app.kubernetes.io/managed-by: "pulumi"
              - version                     : "9f45e2682bdff4b104bd16ef3a947eb8c1f7b870"
            }
          - managedFields    : [
          -     [0]: {
                  - apiVersion: "apps/v1"
                  - fieldsType: "FieldsV1"
                  - fieldsV1  : {
                      - f:metadata: {
                          - f:labels: {
                              - f:app                         : {}
                              - f:app.kubernetes.io/managed-by: {}
                              - f:version                     : {}
                            }
                        }
                      - f:spec    : {
                          - f:selector: {}
                          - f:strategy: {
                              - f:rollingUpdate: {
                                  - f:maxUnavailable: {}
                                }
                              - f:type         : {}
                            }
                          - f:template: {
                              - f:metadata: {
                                  - f:labels: {
                                      - f:app: {}
                                    }
                                }
                              - f:spec    : {
                                  - f:affinity          : {
                                      - f:nodeAffinity: {
                                          - f:preferredDuringSchedulingIgnoredDuringExecution: {}
                                        }
                                    }
                                  - f:containers        : {
                                      - k:{"name":"app"}: {
                                          - .               : {}
                                          - f:env           : {
                                              - k:{"name":"NODE_OPTIONS"}: {
                                                  - .      : {}
                                                  - f:name : {}
                                                  - f:value: {}
                                                }
                                            }
                                          - f:envFrom       : {}
                                          - f:image         : {}
                                          - f:livenessProbe : {
                                              - f:httpGet            : {
                                                  - f:path: {}
                                                  - f:port: {}
                                                }
                                              - f:initialDelaySeconds: {}
                                            }
                                          - f:name          : {}
                                          - f:ports         : {
                                              - k:{"containerPort":3000,"protocol":"TCP"}: {
                                                  - .              : {}
                                                  - f:containerPort: {}
                                                  - f:name         : {}
                                                }
                                            }
                                          - f:readinessProbe: {
                                              - f:httpGet            : {
                                                  - f:path: {}
                                                  - f:port: {}
                                                }
                                              - f:initialDelaySeconds: {}
                                            }
                                          - f:resources     : {
                                              - f:limits  : {
                                                  - f:memory: {}
                                                }
                                              - f:requests: {
                                                  - f:cpu   : {}
                                                  - f:memory: {}
                                                }
                                            }
                                        }
                                    }
                                  - f:serviceAccountName: {}
                                  - f:tolerations       : {}
                                }
                            }
                        }
                    }
                  - manager   : "pulumi-kubernetes-383a9d2f"
                  - operation : "Apply"
                  - time      : "2026-03-15T17:55:17Z"
                }
          -     [1]: {
                  - apiVersion : "apps/v1"
                  - fieldsType : "FieldsV1"
                  - fieldsV1   : {
                      - f:spec: {
                          - f:replicas: {}
                        }
                    }
                  - manager    : "vpa-recommender"
                  - operation  : "Update"
                  - subresource: "scale"
                }
          -     [2]: {
                  - apiVersion : "apps/v1"
                  - fieldsType : "FieldsV1"
                  - fieldsV1   : {
                      - f:metadata: {
                          - f:annotations: {
                              - f: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:terminatingReplicas: {}
                          - f:updatedReplicas    : {}
                        }
                    }
                  - manager    : "kube-controller-manager"
                  - operation  : "Update"
                  - subresource: "status"
                  - time       : "2026-03-15T17:56:10Z"
                }
            ]
          - name             : "scraper"
          - namespace        : "daily"
          - resourceVersion  : "1773597370995583018"
          - uid              : "a6ca65fd-b601-47e1-b186-b9f1360535dc"
        }
      - spec      : {
          - progressDeadlineSeconds: 600
          - replicas               : 8
          - revisionHistoryLimit   : 10
          - selector               : {
              - matchLabels: {
                  - app: "scraper"
                }
            }
          - strategy               : {
              - rollingUpdate: {
                  - maxSurge      : "25%"
                  - maxUnavailable: 1
                }
              - type         : "RollingUpdate"
            }
          - template               : {
              - metadata: {
                  - labels: {
                      - app: "scraper"
                    }
                }
              - spec    : {
                  - affinity                     : {
                      - nodeAffinity: {
                          - preferredDuringSchedulingIgnoredDuringExecution: [
                          -     [0]: {
                                  - preference: {
                                      - matchExpressions: [
                                      -     [0]: {
                                              - key     : "node.daily.dev/spot"
                                              - operator: "Exists"
                                            }
                                        ]
                                    }
                                  - weight    : 99
                                }
                          -     [1]: {
                                  - preference: {
                                      - matchExpressions: [
                                      -     [0]: {
                                              - key     : "node.daily.dev/spot"
                                              - operator: "DoesNotExist"
                                            }
                                        ]
                                    }
                                  - weight    : 1
                                }
                            ]
                        }
                    }
                  - containers                   : [
                  -     [0]: {
                          - env                     : [
                          -     [0]: {
                                  - name : "NODE_OPTIONS"
                                  - value: "--max-old-space-size=1843"
                                }
                            ]
                          - envFrom                 : [
                          -     [0]: {
                                  - secretRef: {
                                      - name: "scraper"
                                    }
                                }
                            ]
                          - image                   : "gcr.io/daily-ops/daily-scraper:9f45e2682bdff4b104bd16ef3a947eb8c1f7b870"
                          - imagePullPolicy         : "IfNotPresent"
                          - livenessProbe           : {
                              - failureThreshold   : 3
                              - httpGet            : {
                                  - path  : "/ready"
                                  - port  : "http"
                                  - scheme: "HTTP"
                                }
                              - initialDelaySeconds: 10
                              - periodSeconds      : 10
                              - successThreshold   : 1
                              - timeoutSeconds     : 1
                            }
                          - name                    : "app"
                          - ports                   : [
                          -     [0]: {
                                  - containerPort: 3000
                                  - name         : "http"
                                  - protocol     : "TCP"
                                }
                            ]
                          - readinessProbe          : {
                              - failureThreshold   : 3
                              - httpGet            : {
                                  - path  : "/ready"
                                  - port  : "http"
                                  - scheme: "HTTP"
                                }
                              - initialDelaySeconds: 10
                              - periodSeconds      : 10
                              - successThreshold   : 1
                              - timeoutSeconds     : 1
                            }
                          - resources               : {
                              - limits  : {
                                  - memory: "2Gi"
                                }
                              - requests: {
                                  - cpu   : "144m"
                                  - memory: "896Mi"
                                }
                            }
                          - terminationMessagePath  : "/dev/termination-log"
                          - terminationMessagePolicy: "File"
                        }
                    ]
                  - dnsPolicy                    : "ClusterFirst"
                  - restartPolicy                : "Always"
                  - schedulerName                : "default-scheduler"
                  - securityContext              : {}
                  - serviceAccount               : "scraper"
                  - serviceAccountName           : "scraper"
                  - terminationGracePeriodSeconds: 30
                  - tolerations                  : [
                  -     [0]: {
                          - effect  : "NoSchedule"
                          - key     : "spot"
                          - operator: "Equal"
                          - value   : "true"
                        }
                    ]
                }
            }
        }
      - status    : {
          - availableReplicas  : 8
          - conditions         : [
          -     [0]: {
                  - lastTransitionTime: "2026-03-15T16:11:16Z"
                  - lastUpdateTime    : "2026-03-15T16:11:16Z"
                  - message           : "Deployment has minimum availability."
                  - reason            : "MinimumReplicasAvailable"
                  - status            : "True"
                  - type              : "Available"
                }
          -     [1]: {
                  - lastTransitionTime: "2022-09-15T06:41:56Z"
                  - lastUpdateTime    : "2026-03-15T17:56:10Z"
                  - message           : "ReplicaSet \"scraper-7877c67dbb\" has successfully progressed."
                  - reason            : "NewReplicaSetAvailable"
                  - status            : "True"
                  - type              : "Progressing"
                }
            ]
          - observedGeneration : 54456
          - readyReplicas      : 8
          - replicas           : 8
          - terminatingReplicas: 4
          - updatedReplicas    : 8
        }
    +-kubernetes:apps/v1:Deployment: (replace)
        [urn=urn:pulumi:prod::scraper::kubernetes:apps/v1:Deployment::vpc-native-deployment]
        [provider=urn:pulumi:prod::scraper::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::6d23d03d-0fc2-4be6-a379-495fe0e96fbd]
      ~ metadata: {
          ~ labels: {
              + app.kubernetes.io/name   : "scraper"
              + app.kubernetes.io/version: "9ffad340205c5d476446745b6270da23850127dc"
              ~ version                  : "9f45e2682bdff4b104bd16ef3a947eb8c1f7b870" => "9ffad340205c5d476446745b6270da23850127dc"
            }
        }
      ~ spec    : {
          ~ selector: {
              ~ matchLabels: {
                  + app.kubernetes.io/name: "scraper"
                }
            }
          ~ template: {
              ~ metadata: {
                  ~ labels: {
                      + app.kubernetes.io/name   : "scraper"
                      + app.kubernetes.io/version: "9ffad340205c5d476446745b6270da23850127dc"
                    }
                }
              ~ spec    : {
                  ~ affinity   : {
                      ~ nodeAffinity: {
                          ~ preferredDuringSchedulingIgnoredDuringExecution: [
                              ~ [0]: {
                                      ~ weight: 99 => 1
                                    }
                              ~ [1]: {
                                      ~ preference: {
                                          ~ matchExpressions: [
                                              ~ [0]: {
                                                      ~ key     : "node.daily.dev/spot" => "node.daily.dev/preemptible"
                                                      ~ operator: "DoesNotExist" => "Exists"
                                                    }
                                            ]
                                        }
                                    }
                            ]
                        }
                    }
                  ~ containers : [
                      ~ [0]: {
                              ~ env  : [
                                  ~ [0]: {
                                          ~ name : "NODE_OPTIONS" => "OTEL_SERVICE_NAME"
                                          ~ value: "--max-old-space-size=1843" => "scraper"
                                        }
                                  + [1]: {
                                          + name : "OTEL_SERVICE_VERSION"
                                          + value: "9ffad340205c5d476446745b6270da23850127dc"
                                        }
                                  + [2]: {
                                          + name : "NODE_OPTIONS"
                                          + value: "--max-old-space-size=1843"
                                        }
                                ]
                              ~ image: "gcr.io/daily-ops/daily-scraper:9f45e2682bdff4b104bd16ef3a947eb8c1f7b870" => "gcr.io/daily-ops/daily-scraper:9ffad340205c5d476446745b6270da23850127dc"
                              ~ name : "app" => "scraper"
                            }
                    ]
                  ~ tolerations: [
                      + [1]: {
                              + effect  : "NoSchedule"
                              + key     : "preemptible"
                              + operator: "Equal"
                              + value   : "true"
                            }
                    ]
                }
            }
        }
        --outputs:--
      - apiVersion: "apps/v1"
      - kind      : "Deployment"
      - metadata  : {
          - annotations      : {
              - deployment.kubernetes.io/revision: "48"
            }
          - creationTimestamp: "2022-09-15T06:41:56Z"
          - generation       : 54456
          - labels           : {
              - app                         : "scraper"
              - app.kubernetes.io/managed-by: "pulumi"
              - version                     : "9f45e2682bdff4b104bd16ef3a947eb8c1f7b870"
            }
          - managedFields    : [
          -     [0]: {
                  - apiVersion: "apps/v1"
                  - fieldsType: "FieldsV1"
                  - fieldsV1  : {
                      - f:metadata: {
                          - f:labels: {
                              - f:app                         : {}
                              - f:app.kubernetes.io/managed-by: {}
                              - f:version                     : {}
                            }
                        }
                      - f:spec    : {
                          - f:selector: {}
                          - f:strategy: {
                              - f:rollingUpdate: {
                                  - f:maxUnavailable: {}
                                }
                              - f:type         : {}
                            }
                          - f:template: {
                              - f:metadata: {
                                  - f:labels: {
                                      - f:app: {}
                                    }
                                }
                              - f:spec    : {
                                  - f:affinity          : {
                                      - f:nodeAffinity: {
                                          - f:preferredDuringSchedulingIgnoredDuringExecution: {}
                                        }
                                    }
                                  - f:containers        : {
                                      - k:{"name":"app"}: {
                                          - .               : {}
                                          - f:env           : {
                                              - k:{"name":"NODE_OPTIONS"}: {
                                                  - .      : {}
                                                  - f:name : {}
                                                  - f:value: {}
                                                }
                                            }
                                          - f:envFrom       : {}
                                          - f:image         : {}
                                          - f:livenessProbe : {
                                              - f:httpGet            : {
                                                  - f:path: {}
                                                  - f:port: {}
                                                }
                                              - f:initialDelaySeconds: {}
                                            }
                                          - f:name          : {}
                                          - f:ports         : {
                                              - k:{"containerPort":3000,"protocol":"TCP"}: {
                                                  - .              : {}
                                                  - f:containerPort: {}
                                                  - f:name         : {}
                                                }
                                            }
                                          - f:readinessProbe: {
                                              - f:httpGet            : {
                                                  - f:path: {}
                                                  - f:port: {}
                                                }
                                              - f:initialDelaySeconds: {}
                                            }
                                          - f:resources     : {
                                              - f:limits  : {
                                                  - f:memory: {}
                                                }
                                              - f:requests: {
                                                  - f:cpu   : {}
                                                  - f:memory: {}
                                                }
                                            }
                                        }
                                    }
                                  - f:serviceAccountName: {}
                                  - f:tolerations       : {}
                                }
                            }
                        }
                    }
                  - manager   : "pulumi-kubernetes-383a9d2f"
                  - operation : "Apply"
                  - time      : "2026-03-15T17:55:17Z"
                }
          -     [1]: {
                  - apiVersion : "apps/v1"
                  - fieldsType : "FieldsV1"
                  - fieldsV1   : {
                      - f:spec: {
                          - f:replicas: {}
                        }
                    }
                  - manager    : "vpa-recommender"
                  - operation  : "Update"
                  - subresource: "scale"
                }
          -     [2]: {
                  - apiVersion : "apps/v1"
                  - fieldsType : "FieldsV1"
                  - fieldsV1   : {
                      - f:metadata: {
                          - f:annotations: {
                              - f: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:terminatingReplicas: {}
                          - f:updatedReplicas    : {}
                        }
                    }
                  - manager    : "kube-controller-manager"
                  - operation  : "Update"
                  - subresource: "status"
                  - time       : "2026-03-15T17:56:10Z"
                }
            ]
          - name             : "scraper"
          - namespace        : "daily"
          - resourceVersion  : "1773597370995583018"
          - uid              : "a6ca65fd-b601-47e1-b186-b9f1360535dc"
        }
      - spec      : {
          - progressDeadlineSeconds: 600
          - replicas               : 8
          - revisionHistoryLimit   : 10
          - selector               : {
              - matchLabels: {
                  - app: "scraper"
                }
            }
          - strategy               : {
              - rollingUpdate: {
                  - maxSurge      : "25%"
                  - maxUnavailable: 1
                }
              - type         : "RollingUpdate"
            }
          - template               : {
              - metadata: {
                  - labels: {
                      - app: "scraper"
                    }
                }
              - spec    : {
                  - affinity                     : {
                      - nodeAffinity: {
                          - preferredDuringSchedulingIgnoredDuringExecution: [
                          -     [0]: {
                                  - preference: {
                                      - matchExpressions: [
                                      -     [0]: {
                                              - key     : "node.daily.dev/spot"
                                              - operator: "Exists"
                                            }
                                        ]
                                    }
                                  - weight    : 99
                                }
                          -     [1]: {
                                  - preference: {
                                      - matchExpressions: [
                                      -     [0]: {
                                              - key     : "node.daily.dev/spot"
                                              - operator: "DoesNotExist"
                                            }
                                        ]
                                    }
                                  - weight    : 1
                                }
                            ]
                        }
                    }
                  - containers                   : [
                  -     [0]: {
                          - env                     : [
                          -     [0]: {
                                  - name : "NODE_OPTIONS"
                                  - value: "--max-old-space-size=1843"
                                }
                            ]
                          - envFrom                 : [
                          -     [0]: {
                                  - secretRef: {
                                      - name: "scraper"
                                    }
                                }
                            ]
                          - image                   : "gcr.io/daily-ops/daily-scraper:9f45e2682bdff4b104bd16ef3a947eb8c1f7b870"
                          - imagePullPolicy         : "IfNotPresent"
                          - livenessProbe           : {
                              - failureThreshold   : 3
                              - httpGet            : {
                                  - path  : "/ready"
                                  - port  : "http"
                                  - scheme: "HTTP"
                                }
                              - initialDelaySeconds: 10
                              - periodSeconds      : 10
                              - successThreshold   : 1
                              - timeoutSeconds     : 1
                            }
                          - name                    : "app"
                          - ports                   : [
                          -     [0]: {
                                  - containerPort: 3000
                                  - name         : "http"
                                  - protocol     : "TCP"
                                }
                            ]
                          - readinessProbe          : {
                              - failureThreshold   : 3
                              - httpGet            : {
                                  - path  : "/ready"
                                  - port  : "http"
                                  - scheme: "HTTP"
                                }
                              - initialDelaySeconds: 10
                              - periodSeconds      : 10
                              - successThreshold   : 1
                              - timeoutSeconds     : 1
                            }
                          - resources               : {
                              - limits  : {
                                  - memory: "2Gi"
                                }
                              - requests: {
                                  - cpu   : "144m"
                                  - memory: "896Mi"
                                }
                            }
                          - terminationMessagePath  : "/dev/termination-log"
                          - terminationMessagePolicy: "File"
                        }
                    ]
                  - dnsPolicy                    : "ClusterFirst"
                  - restartPolicy                : "Always"
                  - schedulerName                : "default-scheduler"
                  - securityContext              : {}
                  - serviceAccount               : "scraper"
                  - serviceAccountName           : "scraper"
                  - terminationGracePeriodSeconds: 30
                  - tolerations                  : [
                  -     [0]: {
                          - effect  : "NoSchedule"
                          - key     : "spot"
                          - operator: "Equal"
                          - value   : "true"
                        }
                    ]
                }
            }
        }
      - status    : {
          - availableReplicas  : 8
          - conditions         : [
          -     [0]: {
                  - lastTransitionTime: "2026-03-15T16:11:16Z"
                  - lastUpdateTime    : "2026-03-15T16:11:16Z"
                  - message           : "Deployment has minimum availability."
                  - reason            : "MinimumReplicasAvailable"
                  - status            : "True"
                  - type              : "Available"
                }
          -     [1]: {
                  - lastTransitionTime: "2022-09-15T06:41:56Z"
                  - lastUpdateTime    : "2026-03-15T17:56:10Z"
                  - message           : "ReplicaSet \"scraper-7877c67dbb\" has successfully progressed."
                  - reason            : "NewReplicaSetAvailable"
                  - status            : "True"
                  - type              : "Progressing"
                }
            ]
          - observedGeneration : 54456
          - readyReplicas      : 8
          - replicas           : 8
          - terminatingReplicas: 4
          - updatedReplicas    : 8
        }
    ++kubernetes:apps/v1:Deployment: (create-replacement)
        [urn=urn:pulumi:prod::scraper::kubernetes:apps/v1:Deployment::vpc-native-deployment]
        [provider=urn:pulumi:prod::scraper::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::6d23d03d-0fc2-4be6-a379-495fe0e96fbd]
      ~ metadata: {
          ~ labels: {
              + app.kubernetes.io/name   : "scraper"
              + app.kubernetes.io/version: "9ffad340205c5d476446745b6270da23850127dc"
              ~ version                  : "9f45e2682bdff4b104bd16ef3a947eb8c1f7b870" => "9ffad340205c5d476446745b6270da23850127dc"
            }
        }
      ~ spec    : {
          ~ selector: {
              ~ matchLabels: {
                  + app.kubernetes.io/name: "scraper"
                }
            }
          ~ template: {
              ~ metadata: {
                  ~ labels: {
                      + app.kubernetes.io/name   : "scraper"
                      + app.kubernetes.io/version: "9ffad340205c5d476446745b6270da23850127dc"
                    }
                }
              ~ spec    : {
                  ~ affinity   : {
                      ~ nodeAffinity: {
                          ~ preferredDuringSchedulingIgnoredDuringExecution: [
                              ~ [0]: {
                                      ~ weight: 99 => 1
                                    }
                              ~ [1]: {
                                      ~ preference: {
                                          ~ matchExpressions: [
                                              ~ [0]: {
                                                      ~ key     : "node.daily.dev/spot" => "node.daily.dev/preemptible"
                                                      ~ operator: "DoesNotExist" => "Exists"
                                                    }
                                            ]
                                        }
                                    }
                            ]
                        }
                    }
                  ~ containers : [
                      ~ [0]: {
                              ~ env  : [
                                  ~ [0]: {
                                          ~ name : "NODE_OPTIONS" => "OTEL_SERVICE_NAME"
                                          ~ value: "--max-old-space-size=1843" => "scraper"
                                        }
                                  + [1]: {
                                          + name : "OTEL_SERVICE_VERSION"
                                          + value: "9ffad340205c5d476446745b6270da23850127dc"
                                        }
                                  + [2]: {
                                          + name : "NODE_OPTIONS"
                                          + value: "--max-old-space-size=1843"
                                        }
                                ]
                              ~ image: "gcr.io/daily-ops/daily-scraper:9f45e2682bdff4b104bd16ef3a947eb8c1f7b870" => "gcr.io/daily-ops/daily-scraper:9ffad340205c5d476446745b6270da23850127dc"
                              ~ name : "app" => "scraper"
                            }
                    ]
                  ~ tolerations: [
                      + [1]: {
                              + effect  : "NoSchedule"
                              + key     : "preemptible"
                              + operator: "Equal"
                              + value   : "true"
                            }
                    ]
                }
            }
        }
        --outputs:--
      - status    : {
          - availableReplicas  : 8
          - conditions         : [
          -     [0]: {
                  - lastTransitionTime: "2026-03-15T16:11:16Z"
                  - lastUpdateTime    : "2026-03-15T16:11:16Z"
                  - message           : "Deployment has minimum availability."
                  - reason            : "MinimumReplicasAvailable"
                  - status            : "True"
                  - type              : "Available"
                }
          -     [1]: {
                  - lastTransitionTime: "2022-09-15T06:41:56Z"
                  - lastUpdateTime    : "2026-03-15T17:56:10Z"
                  - message           : "ReplicaSet \"scraper-7877c67dbb\" has successfully progressed."
                  - reason            : "NewReplicaSetAvailable"
                  - status            : "True"
                  - type              : "Progressing"
                }
            ]
          - observedGeneration : 54456
          - readyReplicas      : 8
          - replicas           : 8
          - terminatingReplicas: 4
          - updatedReplicas    : 8
        }
    ~ kubernetes:core/v1:Service: (update)
        [urn=urn:pulumi:prod::scraper::kubernetes:core/v1:Service::vpc-native-service]
        [provider=urn:pulumi:prod::scraper::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::6d23d03d-0fc2-4be6-a379-495fe0e96fbd]
      ~ metadata: {
          ~ labels: {
              + app.kubernetes.io/name: "scraper"
            }
        }
      ~ spec    : {
          ~ selector: {
              + app.kubernetes.io/name: "scraper"
            }
        }
        --outputs:--
      - status    : {
          - loadBalancer: {}
        }