Skip to content

feat: cpa#3966

Merged
rebelchris merged 10 commits into
mainfrom
feat-cpa
Jul 3, 2026
Merged

feat: cpa#3966
rebelchris merged 10 commits into
mainfrom
feat-cpa

Merge branch 'main' into feat-cpa

aa52558
Select commit
Loading
Failed to load commit list.
Pulumi / api/prod - Update (preview) succeeded Jul 3, 2026 in 18s

Update (preview)

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

Visit the Pulumi Service for more information.

Details

Resource Changes

    Name                                                       Type                           Operation
~   vpc-native-clean-zombie-images-cron                        kubernetes:batch/v1:CronJob    update
-   vpc-native-api-db-migration-b2f24ff5                       kubernetes:batch/v1:Job        delete
~   vpc-native-update-current-streak-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-deployment                                      kubernetes:apps/v1:Deployment  update
~   vpc-native-generate-search-invites-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-updated-sync-cron                  kubernetes:batch/v1:CronJob    update
+   vpc-native-api-clickhouse-migration-9b51f59f               kubernetes:batch/v1:Job        create
~   vpc-native-clean-channel-highlights-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-user-posts-analytics-refresh-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-temporal-deployment                             kubernetes:apps/v1:Deployment  update
~   vpc-native-materialize-monthly-best-post-archives-cron     kubernetes:batch/v1:CronJob    update
~   vpc-native-rotate-daily-quests-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-opportunities-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-users-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-user-companies-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-stale-user-transactions-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-subscription-anniversary-achievements-cron      kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-old-notifications-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-squad-posts-analytics-refresh-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-gifted-plus-cron                          kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-public-threshold-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-expired-better-auth-sessions-cron         kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-deployment                  kubernetes:apps/v1:Deployment  update
~   vpc-native-expire-super-agent-trial-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-channel-highlights-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-achievements-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-post-lifecycle-state-clickhouse-cron            kubernetes:batch/v1:CronJob    update
~   vpc-native-calculate-top-readers-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-rotate-weekly-quests-cron                       kubernetes:batch/v1:CronJob    update
~   vpc-native-update-trending-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-update-achievement-rarity-cron                  kubernetes:batch/v1:CronJob    update
+   vpc-native-api-db-migration-9b51f59f                       kubernetes:batch/v1:Job        create
~   vpc-native-post-analytics-history-day-clickhouse-cron      kubernetes:batch/v1:CronJob    update
~   vpc-native-materialize-yearly-best-post-archives-cron      kubernetes:batch/v1:CronJob    update
~   vpc-native-check-analytics-report-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-analytics-clickhouse-cron          kubernetes:batch/v1:CronJob    update
~   vpc-native-hourly-notification-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-ws-deployment                                   kubernetes:apps/v1:Deployment  update
~   vpc-native-channel-digests-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-bg-deployment                                   kubernetes:apps/v1:Deployment  update
~   vpc-native-update-tags-str-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-validate-active-users-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-private-deployment                              kubernetes:apps/v1:Deployment  update
~   vpc-native-generic-referral-reminder-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-analytics-history-clickhouse-cron  kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-clickhouse-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-daily-digest-cron                               kubernetes:batch/v1:CronJob    update
~   vpc-native-update-views-cron                               kubernetes:batch/v1:CronJob    update
-   vpc-native-api-clickhouse-migration-b2f24ff5               kubernetes:batch/v1:Job        delete
~   vpc-native-worker-job-deployment                           kubernetes:apps/v1:Deployment  update
~   vpc-native-update-highlighted-views-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tag-materialized-views-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-sync-subscription-with-cio-cron                 kubernetes:batch/v1:CronJob    update

Detailed Diff

View diff
pulumi:pulumi:Stack: (same)
    [urn=urn:pulumi:prod::api::pulumi:pulumi:Stack::api-prod]
    --outputs:--
    redisHost: "10.23.0.187"
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::api::pulumi:pulumi:StackReference::dailydotdev/infra/prod]
        name: "dailydotdev/infra/prod"
    + kubernetes:batch/v1:Job: (create)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:Job::vpc-native-api-db-migration-9b51f59f]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
    + kubernetes:batch/v1:Job: (create)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:Job::vpc-native-api-clickhouse-migration-9b51f59f]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]

        --outputs:--
      + metadata  : {
          + creationTimestamp: "2026-07-03T08:27:57Z"
          + generation       : 1
          + labels           : {
              + app                      : "[secret]-db-migration"
              + app.kubernetes.io/name   : "[secret]-db-migration"
              + app.kubernetes.io/version: "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
          + managedFields    : [
          +     [0]: {
                  + apiVersion: "batch/v1"
                  + fieldsType: "FieldsV1"
                  + fieldsV1  : {
                      + f:metadata: {
                          + f:labels: {
                              + f:app                      : {}
                              + f:app.kubernetes.io/name   : {}
                              + f:app.kubernetes.io/version: {}
                            }
                        }
                      + f:spec    : {
                          + f:completions: {}
                          + f:template   : {
                              + f:metadata: {
                                  + f:labels: {
                                      + f:app                      : {}
                                      + f:app.kubernetes.io/name   : {}
                                      + f:app.kubernetes.io/version: {}
                                    }
                                }
                              + f:spec    : {
                                  + f:containers        : {
                                      + k:{"name":"api-db-migration"}: {
                                          + .        : {}
                                          + f:args   : {}
                                          + f:env    : {
                                              + k:{"name":"OTEL_SERVICE_NAME"}   : {
                                                  + .      : {}
                                                  + f:name : {}
                                                  + f:value: {}
                                                }
                                              + k:{"name":"OTEL_SERVICE_VERSION"}: {
                                                  + .      : {}
                                                  + f:name : {}
                                                  + f:value: {}
                                                }
                                            }
                                          + f:envFrom: {}
                                          + f:image  : {}
                                          + f:name   : {}
                                        }
                                    }
                                  + f:restartPolicy     : {}
                                  + f:serviceAccountName: {}
                                  + f:tolerations       : {}
                                }
                            }
                        }
                    }
                  + manager   : "pulumi-kubernetes-47fb05df"
                  + operation : "Apply"
                  + time      : "2026-07-03T08:27:57Z"
                }
            ]
          + name             : "[secret]-db-migration-9b51f59f"
          + namespace        : "daily"
          + uid              : "27dd40b6-361f-45dd-b9f4-6ad8a057f606"
        }
      + spec      : {
          + backoffLimit        : 6
          + completionMode      : "NonIndexed"
          + completions         : 1
          + manualSelector      : false
          + parallelism         : 1
          + podReplacementPolicy: "TerminatingOrFailed"
          + selector            : {
              + matchLabels: {
                  + batch.kubernetes.io/controller-uid: "27dd40b6-361f-45dd-b9f4-6ad8a057f606"
                }
            }
          + suspend             : false
          + template            : {
              + metadata: {
                  + labels: {
                      + app                               : "[secret]-db-migration"
                      + app.kubernetes.io/name            : "[secret]-db-migration"
                      + app.kubernetes.io/version         : "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                      + batch.kubernetes.io/controller-uid: "27dd40b6-361f-45dd-b9f4-6ad8a057f606"
                      + batch.kubernetes.io/job-name      : "[secret]-db-migration-9b51f59f"
                      + controller-uid                    : "27dd40b6-361f-45dd-b9f4-6ad8a057f606"
                      + job-name                          : "[secret]-db-migration-9b51f59f"
                    }
                }
              + spec    : {
                  + containers                   : [
                  +     [0]: {
                          + args                    : [
                          +     [0]: "node"
                          +     [1]: "./node_modules/typeorm/cli.js"
                          +     [2]: "migration:run"
                          +     [3]: "-d"
                          +     [4]: "src/data-source.js"
                            ]
                          + env                     : [
                          +     [0]: {
                                  + name : "OTEL_SERVICE_NAME"
                                  + value: "[secret]-db-migration"
                                }
                          +     [1]: {
                                  + name : "OTEL_SERVICE_VERSION"
                                  + value: "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                }
                            ]
                          + envFrom                 : [
                          +     [0]: {
                                  + secretRef: {
                                      + name: "[secret]"
                                    }
                                }
                            ]
                          + image                   : "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                          + imagePullPolicy         : "IfNotPresent"
                          + name                    : "[secret]-db-migration"
                          + resources               : {}
                          + terminationMessagePath  : "/dev/termination-log"
                          + terminationMessagePolicy: "File"
                        }
                    ]
                  + dnsPolicy                    : "ClusterFirst"
                  + restartPolicy                : "Never"
                  + schedulerName                : "default-scheduler"
                  + securityContext              : {}
                  + serviceAccount               : "[secret]"
                  + serviceAccountName           : "[secret]"
                  + terminationGracePeriodSeconds: 30
                  + tolerations                  : [
                  +     [0]: {
                          + effect  : "NoSchedule"
                          + key     : "spot"
                          + operator: "Equal"
                          + value   : "true"
                        }
                  +     [1]: {
                          + effect  : "NoSchedule"
                          + key     : "preemptible"
                          + operator: "Equal"
                          + value   : "true"
                        }
                    ]
                }
            }
        }

        --outputs:--
      + metadata  : {
          + creationTimestamp: "2026-07-03T08:27:57Z"
          + generation       : 1
          + labels           : {
              + app                      : "[secret]-clickhouse-migration"
              + app.kubernetes.io/name   : "[secret]-clickhouse-migration"
              + app.kubernetes.io/version: "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
          + managedFields    : [
          +     [0]: {
                  + apiVersion: "batch/v1"
                  + fieldsType: "FieldsV1"
                  + fieldsV1  : {
                      + f:metadata: {
                          + f:labels: {
                              + f:app                      : {}
                              + f:app.kubernetes.io/name   : {}
                              + f:app.kubernetes.io/version: {}
                            }
                        }
                      + f:spec    : {
                          + f:completions: {}
                          + f:template   : {
                              + f:metadata: {
                                  + f:labels: {
                                      + f:app                      : {}
                                      + f:app.kubernetes.io/name   : {}
                                      + f:app.kubernetes.io/version: {}
                                    }
                                }
                              + f:spec    : {
                                  + f:containers        : {
                                      + k:{"name":"api-clickhouse-migration"}: {
                                          + .        : {}
                                          + f:args   : {}
                                          + f:env    : {
                                              + k:{"name":"OTEL_SERVICE_NAME"}   : {
                                                  + .      : {}
                                                  + f:name : {}
                                                  + f:value: {}
                                                }
                                              + k:{"name":"OTEL_SERVICE_VERSION"}: {
                                                  + .      : {}
                                                  + f:name : {}
                                                  + f:value: {}
                                                }
                                            }
                                          + f:envFrom: {}
                                          + f:image  : {}
                                          + f:name   : {}
                                        }
                                    }
                                  + f:restartPolicy     : {}
                                  + f:serviceAccountName: {}
                                }
                            }
                        }
                    }
                  + manager   : "pulumi-kubernetes-acfc094a"
                  + operation : "Apply"
                  + time      : "2026-07-03T08:27:57Z"
                }
            ]
          + name             : "[secret]-clickhouse-migration-9b51f59f"
          + namespace        : "daily"
          + uid              : "bc36e728-019b-4f88-84ee-b436c14f9f16"
        }
      + spec      : {
          + backoffLimit        : 6
          + completionMode      : "NonIndexed"
          + completions         : 1
          + manualSelector      : false
          + parallelism         : 1
          + podReplacementPolicy: "TerminatingOrFailed"
          + selector            : {
              + matchLabels: {
                  + batch.kubernetes.io/controller-uid: "bc36e728-019b-4f88-84ee-b436c14f9f16"
                }
            }
          + suspend             : false
          + template            : {
              + metadata: {
                  + labels: {
                      + app                               : "[secret]-clickhouse-migration"
                      + app.kubernetes.io/name            : "[secret]-clickhouse-migration"
                      + app.kubernetes.io/version         : "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                      + batch.kubernetes.io/controller-uid: "bc36e728-019b-4f88-84ee-b436c14f9f16"
                      + batch.kubernetes.io/job-name      : "[secret]-clickhouse-migration-9b51f59f"
                      + controller-uid                    : "bc36e728-019b-4f88-84ee-b436c14f9f16"
                      + job-name                          : "[secret]-clickhouse-migration-9b51f59f"
                    }
                }
              + spec    : {
                  + containers                   : [
                  +     [0]: {
                          + args                    : [
                          +     [0]: "node"
                          +     [1]: "./bin/runClickhouseMigrations.js"
                            ]
                          + env                     : [
                          +     [0]: {
                                  + name : "OTEL_SERVICE_NAME"
                                  + value: "[secret]-clickhouse-migration"
                                }
                          +     [1]: {
                                  + name : "OTEL_SERVICE_VERSION"
                                  + value: "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                }
                            ]
                          + envFrom                 : [
                          +     [0]: {
                                  + secretRef: {
                                      + name: "[secret]"
                                    }
                                }
                            ]
                          + image                   : "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                          + imagePullPolicy         : "IfNotPresent"
                          + name                    : "[secret]-clickhouse-migration"
                          + resources               : {}
                          + terminationMessagePath  : "/dev/termination-log"
                          + terminationMessagePolicy: "File"
                        }
                    ]
                  + dnsPolicy                    : "ClusterFirst"
                  + restartPolicy                : "Never"
                  + schedulerName                : "default-scheduler"
                  + securityContext              : {}
                  + serviceAccount               : "[secret]"
                  + serviceAccountName           : "[secret]"
                  + terminationGracePeriodSeconds: 30
                }
            }
        }
    ~ kubernetes:apps/v1:Deployment: (update)
        [urn=urn:pulumi:prod::api::kubernetes:apps/v1:Deployment::vpc-native-private-deployment]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
      ~ metadata: {
          ~ labels: {
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
              ~ version                  : "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
        }
      ~ spec    : {
          ~ template: {
              ~ metadata: {
                  ~ labels: {
                      ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                    }
                }
              ~ spec    : {
                  ~ containers: [
                      ~ [0]: {
                              ~ env  : [
                                  ~ [1]: {
                                          ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                        }
                                ]
                              ~ image: "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                            }
                    ]
                }
            }
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-clean-zombie-users-cron]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
      ~ metadata: {
          ~ labels: {
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-sync-subscription-with-cio-cron]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
      ~ metadata: {
          ~ labels: {
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-user-profile-analytics-clickhouse-cron]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
      ~ metadata: {
          ~ labels: {
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-personalized-digest-cron]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
      ~ metadata: {
          ~ labels: {
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-user-profile-analytics-history-clickhouse-cron]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
      ~ metadata: {
          ~ labels: {
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ kubernetes:apps/v1:Deployment: (update)
        [urn=urn:pulumi:prod::api::kubernetes:apps/v1:Deployment::vpc-native-bg-deployment]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
      ~ metadata: {
          ~ labels: {
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
              ~ version                  : "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
        }
      ~ spec    : {
          ~ template: {
              ~ metadata: {
                  ~ labels: {
                      ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                    }
                }
              ~ spec    : {
                  ~ containers: [
                      ~ [0]: {
                              ~ env  : [
                                  ~ [1]: {
                                          ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                        }
                                ]
                              ~ image: "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                            }
                    ]
                }
            }
        }
        --outputs:--
      ~ metadata  : {
          ~ annotations      : {
              ~ deployment.kubernetes.io/revision: "473" => "474"
            }
            creationTimestamp: "2026-02-21T12:18:26Z"
          ~ generation       : 552 => 553
          ~ labels           : {
                app                      : "[secret]-private"
                app.kubernetes.io/name   : "[secret]-private"
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
              ~ version                  : "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
          ~ managedFields    : [
              ~ [0]: {
                        apiVersion: "apps/v1"
                        fieldsType: "FieldsV1"
                        fieldsV1  : {
                            f:metadata: {
                                f:labels: {
                                    f:app                      : {}
                                    f:app.kubernetes.io/name   : {}
                                    f:app.kubernetes.io/version: {}
                                    f:version                  : {}
                                }
                            }
                            f:spec    : {
                                f:selector: {}
                                f:strategy: {
                                    f:rollingUpdate: {
                                        f:maxUnavailable: {}
                                    }
                                    f:type         : {}
                                }
                                f:template: {
                                    f:metadata: {
                                        f:annotations: {
                                            f:gke-gcsfuse/cpu-limit     : {}
                                            f:gke-gcsfuse/cpu-request   : {}
                                            f:gke-gcsfuse/memory-limit  : {}
                                            f:gke-gcsfuse/memory-request: {}
                                            f:gke-gcsfuse/volumes       : {}
                                        }
                                        f:labels     : {
                                            f:app                      : {}
                                            f:app.kubernetes.io/name   : {}
                                            f:app.kubernetes.io/version: {}
                                        }
                                    }
                                    f:spec    : {
                                        f:containers        : {
                                            k:{"name":"api-private"}: {
                                                .               : {}
                                                f:env           : {
                                                    k:{"name":"ENABLE_PRIVATE_ROUTES"}: {
                                                        .      : {}
                                                        f:name : {}
                                                        f:value: {}
                                                    }
                                                    k:{"name":"JWT_PRIVATE_KEY_PATH"} : {
                                                        .      : {}
                                                        f:name : {}
                                                        f:value: {}
                                                    }
                                                    k:{"name":"JWT_PUBLIC_KEY_PATH"}  : {
                                                        .      : {}
                                                        f:name : {}
                                                        f:value: {}
                                                    }
                                                    k:{"name":"NODE_OPTIONS"}         : {
                                                        .      : {}
                                                        f:name : {}
                                                        f:value: {}
                                                    }
                                                    k:{"name":"OTEL_SERVICE_NAME"}    : {
                                                        .      : {}
                                                        f:name : {}
                                                        f:value: {}
                                                    }
                                                    k:{"name":"OTEL_SERVICE_VERSION"} : {
                                                        .      : {}
                                                        f:name : {}
                                                        f:value: {}
                                                    }
                                                }
                                                f:envFrom       : {}
                                                f:image         : {}
                                                f:livenessProbe : {
                                                    f:failureThreshold   : {}
                                                    f:httpGet            : {
                                                        f:path: {}
                                                        f:port: {}
                                                    }
                                                    f:initialDelaySeconds: {}
                                                    f:periodSeconds      : {}
                                                }
                                                f:name          : {}
                                                f:ports         : {
                                                    k:{"containerPort":3000,"protocol":"TCP"}: {
                                                        .              : {}
                                                        f:containerPort: {}
                                                        f:name         : {}
                                                        f:protocol     : {}
                                                    }
                                                }
                                                f:readinessProbe: {
                                                    f:failureThreshold   : {}
                                                    f:httpGet            : {
                                                        f:path: {}
                                                        f:port: {}
                                                    }
                                                    f:initialDelaySeconds: {}
                                                    f:periodSeconds      : {}
                                                }
                                                f:resources     : {
                                                    f:limits  : {
                                                        f:memory: {}
                                                    }
                                                    f:requests: {
                                                        f:cpu   : {}
                                                        f:memory: {}
                                                    }
                                                }
                                                f:volumeMounts  : {
                                                    k:{"mountPath":"/opt/app/apple"}   : {
                                                        .          : {}
                                                        f:mountPath: {}
                                                        f:name     : {}
                                                    }
                                                    k:{"mountPath":"/opt/app/cert"}    : {
                                                        .          : {}
                                                        f:mountPath: {}
                                                        f:name     : {}
                                                    }
                                                    k:{"mountPath":"/opt/app/temporal"}: {
                                                        .          : {}
                                                        f:mountPath: {}
                                                        f:name     : {}
                                                    }
                                                    k:{"mountPath":"/usr/share/geoip"} : {
                                                        .          : {}
                                                        f:mountPath: {}
                                                        f:name     : {}
                                                        f:readOnly : {}
                                                    }
                                                }
                                            }
                                        }
                                        f:serviceAccountName: {}
                                        f:volumes           : {
                                            k:{"name":"apple-auth"}: {
                                                .       : {}
                                                f:name  : {}
                                                f:secret: {
                                                    f:secretName: {}
                                                }
                                            }
                                            k:{"name":"cert"}      : {
                                                .       : {}
                                                f:name  : {}
                                                f:secret: {
                                                    f:secretName: {}
                                                }
                                            }
                                            k:{"name":"geoip-data"}: {
                                                .     : {}
                                                f:csi : {
                                                    f:driver          : {}
                                                    f:volumeAttributes: {
                                                        f:bucketName  : {}
                                                        f:mountOptions: {}
                                                    }
                                                }
                                                f:name: {}
                                            }
                                            k:{"name":"temporal"}  : {
                                                .       : {}
                                                f:name  : {}
                                                f:secret: {
                                                    f:secretName: {}
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        manager   : "pulumi-kubernetes-7d76501e"
                        operation : "Apply"
                      ~ time      : "2026-07-02T18:47:39Z" => "2026-07-03T08:27:57Z"
                    }
              ~ [1]: {
                        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-07-02T18:21:44Z" => "2026-07-02T18:48:07Z"
                    }
            ]
            name             : "[secret]-private"
            namespace        : "daily"
          ~ resourceVersion  : "1783018059041903012" => "1783018087960415012"
            uid              : "1ce81109-c439-4055-b863-3b5359bf85eb"
        }
      ~ spec      : {
            progressDeadlineSeconds: 600
            replicas               : 2
            revisionHistoryLimit   : 10
            selector               : {
                matchLabels: {
                    app                   : "[secret]-private"
                    app.kubernetes.io/name: "[secret]-private"
                }
            }
            strategy               : {
                rollingUpdate: {
                    maxSurge      : "25%"
                    maxUnavailable: 1
                }
                type         : "RollingUpdate"
            }
          ~ template               : {
              ~ metadata: {
                    annotations: {
                        gke-gcsfuse/cpu-limit     : "0"
                        gke-gcsfuse/cpu-request   : "10m"
                        gke-gcsfuse/memory-limit  : "0"
                        gke-gcsfuse/memory-request: "32Mi"
                        gke-gcsfuse/volumes       : "true"
                    }
                  ~ labels     : {
                        app                      : "[secret]-private"
                        app.kubernetes.io/name   : "[secret]-private"
                      ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                    }
                }
              ~ spec    : {
                  ~ containers                   : [
                      ~ [0]: {
                              ~ env                     : [
                                    [0]: {
                                            name : "OTEL_SERVICE_NAME"
                                            value: "[secret]-private"
                                        }
                                  ~ [1]: {
                                            name : "OTEL_SERVICE_VERSION"
                                          ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                        }
                                    [2]: {
                                            name : "NODE_OPTIONS"
                                            value: "--max-old-space-size=630"
                                        }
                                    [3]: {
                                            name : "ENABLE_PRIVATE_ROUTES"
                                            value: "true"
                                        }
                                    [4]: {
                                            name : "JWT_PUBLIC_KEY_PATH"
                                            value: "/opt/app/cert/public.pem"
                                        }
                                    [5]: {
                                            name : "JWT_PRIVATE_KEY_PATH"
                                            value: "/opt/app/cert/key.pem"
                                        }
                                ]
                                envFrom                 : [
                                    [0]: {
                                        secretRef: {
                                            name: "[secret]"
                                        }
                                    }
                                ]
                              ~ image                   : "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                imagePullPolicy         : "IfNotPresent"
                                livenessProbe           : {
                                    failureThreshold   : 3
                                    httpGet            : {
                                        path  : "/liveness"
                                        port  : "http"
                                        scheme: "HTTP"
                                    }
                                    initialDelaySeconds: 20
                                    periodSeconds      : 5
                                    successThreshold   : 1
                                    timeoutSeconds     : 1
                                }
                                name                    : "[secret]-private"
                                ports                   : [
                                    [0]: {
                                        containerPort: 3000
                                        name         : "http"
                                        protocol     : "TCP"
                                    }
                                ]
                                readinessProbe          : {
                                    failureThreshold   : 2
                                    httpGet            : {
                                        path  : "/health"
                                        port  : "http"
                                        scheme: "HTTP"
                                    }
                                    initialDelaySeconds: 20
                                    periodSeconds      : 2
                                    successThreshold   : 1
                                    timeoutSeconds     : 1
                                }
                                resources               : {
                                    limits  : {
                                        memory: "700Mi"
                                    }
                                    requests: {
                                        cpu   : "10m"
                                        memory: "500Mi"
                                    }
                                }
                                terminationMessagePath  : "/dev/termination-log"
                                terminationMessagePolicy: "File"
                                volumeMounts            : [
                                    [0]: {
                                        mountPath: "/opt/app/cert"
                                        name     : "cert"
                                    }
                                    [1]: {
                                        mountPath: "/opt/app/temporal"
                                        name     : "temporal"
                                    }
                                    [2]: {
                                        mountPath: "/opt/app/apple"
                                        name     : "apple-auth"
                                    }
                                    [3]: {
                                        mountPath: "/usr/share/geoip"
                                        name     : "geoip-data"
                                        readOnly : true
                                    }
                                ]
                            }
                    ]
                    dnsPolicy                    : "ClusterFirst"
                    restartPolicy                : "Always"
                    schedulerName                : "default-scheduler"
                    serviceAccount               : "[secret]"
                    serviceAccountName           : "[secret]"
                    terminationGracePeriodSeconds: 30
                    volumes                      : [
                        [0]: {
                            name  : "cert"
                            secret: {
                                defaultMode: 420
                                secretName : "cert-secret"
                            }
                        }
                        [1]: {
                            name  : "temporal"
                            secret: {
                                defaultMode: 420
                                secretName : "temporal-secret"
                            }
                        }
                        [2]: {
                            name  : "apple-auth"
                            secret: {
                                defaultMode: 420
                                secretName : "apple-auth-secret"
                            }
                        }
                        [3]: {
                            csi : {
                                driver          : "gcsfuse.csi.storage.gke.io"
                                volumeAttributes: {
                                    bucketName  : "geoipupdate-storage"
                                    mountOptions: "implicit-dirs"
                                }
                            }
                            name: "geoip-data"
                        }
                    ]
                }
            }
        }
      ~ status    : {
            availableReplicas  : 2
          ~ conditions         : [
                [0]: {
                        lastTransitionTime: "2026-06-24T10:16:56Z"
                        lastUpdateTime    : "2026-06-24T10:16:56Z"
                        message           : "Deployment has minimum availability."
                        reason            : "MinimumReplicasAvailable"
                        status            : "True"
                        type              : "Available"
                    }
              ~ [1]: {
                        lastTransitionTime: "2026-04-22T09:17:47Z"
                      ~ lastUpdateTime    : "2026-07-02T18:21:39Z" => "2026-07-02T18:48:04Z"
                      ~ message           : "ReplicaSet \"[secret]-private-8568b84485\" has successfully progressed." => "ReplicaSet \"[secret]-private-78585d7b84\" has successfully progressed."
                        reason            : "NewReplicaSetAvailable"
                        status            : "True"
                        type              : "Progressing"
                    }
            ]
          ~ observedGeneration : 551 => 552
            readyReplicas      : 2
            replicas           : 2
            terminatingReplicas: 0
            updatedReplicas    : 2
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-update-tags-str-cron]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
      ~ metadata: {
          ~ labels: {
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "us.gcr.io/daily-ops/daily-[secret]:aa52558218109f2e367759c8fae3fa3f9b51f59f"
                                    }
                            ]
                        }
                    }
                }
            }
        }
        --outputs:--
      ~ metadata  : {
            creationTimestamp: "2026-02-21T12:17:57Z"
          ~ generation       : 476 => 477
          ~ labels           : {
                app                      : "[secret]-clean-zombie-users"
                app-type                 : "cron"
                app.kubernetes.io/name   : "[secret]-clean-zombie-users"
              ~ app.kubernetes.io/version: "53087a188d55a0e6ce9e525e2ea43633b2f24ff5" => "aa52558218109f2e367759c8fae3fa3f9b51f59f"
            }
          ~ managedFields    : [
              ~ [0]: {
                        apiVersion: "batch/v1"
                        fieldsType: "FieldsV1"
                        fieldsV1  : {
                            f:metadata: {
                                f:labels: {
                                    f:app                      : {}
                                    f:app-type                 : {}
                                    f:app.kubernetes.io/name   : {}
                                    f:app.kubernetes.io/version: {}
                                }
                            }
                            f:spec    : {
                                f:concurrencyPolicy         : {}
                                f:failedJobsHistoryLimit    : {}
                                f:jobTemplate               : {
                                    f:spec: {
                                        f:activeDeadlineSeconds: {}
                                        f:template             : {
                                            f:metadata: {
                                                f:annotations: {
                                                    f:gke-gcsfuse/cpu-limit     : {}
                                                    f:gke-gcsfuse/cpu-request   : {}
                                                    f:gke-gcsfuse/memory-limit  : {}
                                                    f:gke-gcsfuse/memory-request: {}
                                                    f:gke-gcsfuse/volumes       : {}
                                                }
                                                f:labels     : {
                                                    f:app                      : {}
                                                    f:app-type                 : {}
                                                    f:app.kubernetes.io/name   : {}
                                                    f:app.kubernetes.io/version: {}
                                                }
                                            }
                                            f:spec    : {
                                                f:affinity          : {
                                                    f:nodeAffinity: {
                                                        f:preferredDuringSchedulingIgnoredDuringExecution: {}
                                                    }
                                                }
                                                f:containers        : {
                                                    k:{"name":"api-clean-zombie-users"}: {
                                                        .             : {}
                                                        f:args        : {}
                                                        f:env         : {
                                                            k:{"name":"OTEL_SERVICE_NAME"}   : {
                                                                .      : {}
                                                                f:name : {}
                                                                f:value: {}
                                                            }
                                                            k:{"name":"OTEL_SERVICE_VERSION"}: {
                                                                .      : {}
                                                                f:name : {}
                                                                f:value: {}
                                                            }
                                                        }
                                                        f:envFrom     : {}
                                                        f:image       : {}
                                                        f:name        : {}
                                                        f:resources   : {
                                                            f:limits  : {
                                                                f:memory: {}
                                                            }
                                                            f:requests: {
                                                                f:cpu   : {}
                                                                f:memory: {}
                                                            }
                                                        }
                                                        f:volumeMounts: {
                                                            k:{"mountPath":"/opt/app/apple"}   : {
                                                                .          : {}
                                                                f:mountPath: {}
                                                                f:name     : {}
                                                            }
                                                            k:{"mountPath":"/opt/app/cert"}    : {
                                                                .          : {}
                                                                f:mountPath: {}
                                                                f:name     : {}
                                                            }
                                                            k:{"mountPath":"/opt/app/temporal"}: {
                                                                .          : {}
                                                                f:mountPat

---
*Output truncated. View full details in the Pulumi Console.*