Skip to content

feat(personal-context): generate & persist user personal context - #4023

Merged
capJavert merged 3 commits into
mainfrom
feat/personal-context
Jul 24, 2026
Merged

feat(personal-context): generate & persist user personal context#4023
capJavert merged 3 commits into
mainfrom
feat/personal-context

Merge branch 'main' into feat/personal-context

a6b8c60
Select commit
Loading
Failed to load commit list.
Pulumi / api/prod - Update (preview) succeeded Jul 24, 2026 in 19s

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-materialize-monthly-best-post-archives-cron     kubernetes:batch/v1:CronJob           update
~   vpc-native-worker-job-deployment                           kubernetes:apps/v1:Deployment         update
~   vpc-native-clean-expired-better-auth-sessions-cron         kubernetes:batch/v1:CronJob           update
~   vpc-native-hourly-notification-cron                        kubernetes:batch/v1:CronJob           update
~   vpc-native-post-analytics-history-day-clickhouse-cron      kubernetes:batch/v1:CronJob           update
~   vpc-native-user-profile-updated-sync-cron                  kubernetes:batch/v1:CronJob           update
~   vpc-native-temporal-deployment                             kubernetes:apps/v1:Deployment         update
~   vpc-native-clean-channel-highlights-cron                   kubernetes:batch/v1:CronJob           update
~   vpc-native-private-deployment                              kubernetes:apps/v1:Deployment         update
~   vpc-native-calculate-top-readers-cron                      kubernetes:batch/v1:CronJob           update
~   vpc-native-clean-zombie-images-cron                        kubernetes:batch/v1:CronJob           update
~   vpc-native-update-tag-materialized-views-cron              kubernetes:batch/v1:CronJob           update
~   vpc-native-update-views-cron                               kubernetes:batch/v1:CronJob           update
~   vpc-native-update-trending-cron                            kubernetes:batch/v1:CronJob           update
~   vpc-native-sync-subscription-with-cio-cron                 kubernetes:batch/v1:CronJob           update
~   vpc-native-update-current-streak-cron                      kubernetes:batch/v1:CronJob           update
~   vpc-native-post-analytics-clickhouse-cron                  kubernetes:batch/v1:CronJob           update
~   vpc-native-personalized-digest-cron                        kubernetes:batch/v1:CronJob           update
~   vpc-native-channel-digests-cron                            kubernetes:batch/v1:CronJob           update
-   vpc-native-api-db-migration-5ff3281e                       kubernetes:batch/v1:Job               delete
+   vpc-native-api-clickhouse-migration-7ac75367               kubernetes:batch/v1:Job               create
~   vpc-native-daily-digest-cron                               kubernetes:batch/v1:CronJob           update
~   vpc-native-clean-zombie-user-companies-cron                kubernetes:batch/v1:CronJob           update
~   vpc-native-rotate-weekly-quests-cron                       kubernetes:batch/v1:CronJob           update
~   vpc-native-channel-highlights-cron                         kubernetes:batch/v1:CronJob           update
~   vpc-native-update-highlighted-views-cron                   kubernetes:batch/v1:CronJob           update
~   vpc-native-clean-stale-user-transactions-cron              kubernetes:batch/v1:CronJob           update
~   vpc-native-materialize-yearly-best-post-archives-cron      kubernetes:batch/v1:CronJob           update
~   vpc-native-personalized-digest-deployment                  kubernetes:apps/v1:Deployment         update
~   vpc-native-clean-zombie-opportunities-cron                 kubernetes:batch/v1:CronJob           update
+   api-sub-api.personal-context-generated                     gcp:pubsub/subscription:Subscription  create
~   vpc-native-bg-deployment                                   kubernetes:apps/v1:Deployment         update
~   vpc-native-clean-zombie-users-cron                         kubernetes:batch/v1:CronJob           update
~   vpc-native-subscription-anniversary-achievements-cron      kubernetes:batch/v1:CronJob           update
~   vpc-native-user-profile-analytics-history-clickhouse-cron  kubernetes:batch/v1:CronJob           update
~   vpc-native-clean-gifted-plus-cron                          kubernetes:batch/v1:CronJob           update
~   vpc-native-generic-referral-reminder-cron                  kubernetes:batch/v1:CronJob           update
~   vpc-native-rotate-daily-quests-cron                        kubernetes:batch/v1:CronJob           update
~   vpc-native-check-analytics-report-cron                     kubernetes:batch/v1:CronJob           update
~   vpc-native-squad-posts-analytics-refresh-cron              kubernetes:batch/v1:CronJob           update
+   api-sub-api.github-account-linked-personal-context         gcp:pubsub/subscription:Subscription  create
~   vpc-native-update-source-public-threshold-cron             kubernetes:batch/v1:CronJob           update
~   vpc-native-post-analytics-achievements-cron                kubernetes:batch/v1:CronJob           update
-   vpc-native-api-clickhouse-migration-5ff3281e               kubernetes:batch/v1:Job               delete
~   vpc-native-ws-deployment                                   kubernetes:apps/v1:Deployment         update
~   vpc-native-update-achievement-rarity-cron                  kubernetes:batch/v1:CronJob           update
~   vpc-native-generate-search-invites-cron                    kubernetes:batch/v1:CronJob           update
+   api-sub-api.user-updated-personal-context                  gcp:pubsub/subscription:Subscription  create
~   vpc-native-expire-super-agent-trial-cron                   kubernetes:batch/v1:CronJob           update
~   vpc-native-user-profile-analytics-clickhouse-cron          kubernetes:batch/v1:CronJob           update
~   vpc-native-user-posts-analytics-refresh-cron               kubernetes:batch/v1:CronJob           update
+   vpc-native-api-db-migration-7ac75367                       kubernetes:batch/v1:Job               create
~   vpc-native-deployment                                      kubernetes:apps/v1:Deployment         update
~   vpc-native-update-tags-str-cron                            kubernetes:batch/v1:CronJob           update
~   vpc-native-interest-scheduled-run-cron                     kubernetes:batch/v1:CronJob           update
~   vpc-native-clean-old-notifications-cron                    kubernetes:batch/v1:CronJob           update
~   vpc-native-validate-active-users-cron                      kubernetes:batch/v1:CronJob           update
~   vpc-native-post-lifecycle-state-clickhouse-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
    + gcp:pubsub/subscription:Subscription: (create)
        [urn=urn:pulumi:prod::api::gcp:pubsub/subscription:Subscription::api-sub-api.github-account-linked-personal-context]
        [provider=urn:pulumi:prod::api::pulumi:providers:gcp::default_9_12_0::db6cb682-d693-480f-991d-d9226e8fabf2]
    > pulumi:pulumi:StackReference: (read)
        [urn=urn:pulumi:prod::api::pulumi:pulumi:StackReference::dailydotdev/infra/prod]
        name: "dailydotdev/infra/prod"
    + gcp:pubsub/subscription:Subscription: (create)
        [urn=urn:pulumi:prod::api::gcp:pubsub/subscription:Subscription::api-sub-api.user-updated-personal-context]
        [provider=urn:pulumi:prod::api::pulumi:providers:gcp::default_9_12_0::db6cb682-d693-480f-991d-d9226e8fabf2]
    + gcp:pubsub/subscription:Subscription: (create)
        [urn=urn:pulumi:prod::api::gcp:pubsub/subscription:Subscription::api-sub-api.personal-context-generated]
        [provider=urn:pulumi:prod::api::pulumi:providers:gcp::default_9_12_0::db6cb682-d693-480f-991d-d9226e8fabf2]
    + kubernetes:batch/v1:Job: (create)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:Job::vpc-native-api-db-migration-7ac75367]
        [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-7ac75367]
        [provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]

        --outputs:--
      + metadata  : {
          + creationTimestamp: "2026-07-24T10:23:10Z"
          + generation       : 1
          + labels           : {
              + app                      : "[secret]-db-migration"
              + app.kubernetes.io/name   : "[secret]-db-migration"
              + app.kubernetes.io/version: "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
          + 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-7759cb06"
                  + operation : "Apply"
                  + time      : "2026-07-24T10:23:10Z"
                }
            ]
          + name             : "[secret]-db-migration-7ac75367"
          + namespace        : "daily"
          + uid              : "fa6466d9-20d6-4d9c-8cf0-cec2f4dc4efb"
        }
      + spec      : {
          + backoffLimit        : 6
          + completionMode      : "NonIndexed"
          + completions         : 1
          + manualSelector      : false
          + parallelism         : 1
          + podReplacementPolicy: "TerminatingOrFailed"
          + selector            : {
              + matchLabels: {
                  + batch.kubernetes.io/controller-uid: "fa6466d9-20d6-4d9c-8cf0-cec2f4dc4efb"
                }
            }
          + suspend             : false
          + template            : {
              + metadata: {
                  + labels: {
                      + app                               : "[secret]-db-migration"
                      + app.kubernetes.io/name            : "[secret]-db-migration"
                      + app.kubernetes.io/version         : "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                      + batch.kubernetes.io/controller-uid: "fa6466d9-20d6-4d9c-8cf0-cec2f4dc4efb"
                      + batch.kubernetes.io/job-name      : "[secret]-db-migration-7ac75367"
                      + controller-uid                    : "fa6466d9-20d6-4d9c-8cf0-cec2f4dc4efb"
                      + job-name                          : "[secret]-db-migration-7ac75367"
                    }
                }
              + 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: "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                }
                            ]
                          + envFrom                 : [
                          +     [0]: {
                                  + secretRef: {
                                      + name: "[secret]"
                                    }
                                }
                            ]
                          + image                   : "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                          + 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-24T10:23:10Z"
          + generation       : 1
          + labels           : {
              + app                      : "[secret]-clickhouse-migration"
              + app.kubernetes.io/name   : "[secret]-clickhouse-migration"
              + app.kubernetes.io/version: "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
          + 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-fe8fa3a8"
                  + operation : "Apply"
                  + time      : "2026-07-24T10:23:10Z"
                }
            ]
          + name             : "[secret]-clickhouse-migration-7ac75367"
          + namespace        : "daily"
          + uid              : "10bd2dfe-d9aa-4eea-a715-34115091c2dc"
        }
      + spec      : {
          + backoffLimit        : 6
          + completionMode      : "NonIndexed"
          + completions         : 1
          + manualSelector      : false
          + parallelism         : 1
          + podReplacementPolicy: "TerminatingOrFailed"
          + selector            : {
              + matchLabels: {
                  + batch.kubernetes.io/controller-uid: "10bd2dfe-d9aa-4eea-a715-34115091c2dc"
                }
            }
          + suspend             : false
          + template            : {
              + metadata: {
                  + labels: {
                      + app                               : "[secret]-clickhouse-migration"
                      + app.kubernetes.io/name            : "[secret]-clickhouse-migration"
                      + app.kubernetes.io/version         : "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                      + batch.kubernetes.io/controller-uid: "10bd2dfe-d9aa-4eea-a715-34115091c2dc"
                      + batch.kubernetes.io/job-name      : "[secret]-clickhouse-migration-7ac75367"
                      + controller-uid                    : "10bd2dfe-d9aa-4eea-a715-34115091c2dc"
                      + job-name                          : "[secret]-clickhouse-migration-7ac75367"
                    }
                }
              + 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: "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                }
                            ]
                          + envFrom                 : [
                          +     [0]: {
                                  + secretRef: {
                                      + name: "[secret]"
                                    }
                                }
                            ]
                          + image                   : "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                          + 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: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: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ 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: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
              ~ version                  : "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
        }
      ~ spec    : {
          ~ template: {
              ~ metadata: {
                  ~ labels: {
                      ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                    }
                }
              ~ spec    : {
                  ~ containers: [
                      ~ [0]: {
                              ~ env  : [
                                  ~ [1]: {
                                          ~ value: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                        }
                                ]
                              ~ image: "us.gcr.io/daily-ops/daily-[secret]:3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                            }
                    ]
                }
            }
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-update-views-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: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-clean-zombie-user-companies-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: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ kubernetes:apps/v1:Deployment: (update)
        [urn=urn:pulumi:prod::api::kubernetes:apps/v1:Deployment::vpc-native-ws-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: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
              ~ version                  : "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
        }
      ~ spec    : {
          ~ template: {
              ~ metadata: {
                  ~ labels: {
                      ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                    }
                }
              ~ spec    : {
                  ~ containers: [
                      ~ [0]: {
                              ~ env  : [
                                  ~ [1]: {
                                          ~ value: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                        }
                                ]
                              ~ image: "us.gcr.io/daily-ops/daily-[secret]:3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                            }
                    ]
                }
            }
        }
    ~ kubernetes:batch/v1:CronJob: (update)
        [urn=urn:pulumi:prod::api::kubernetes:batch/v1:CronJob::vpc-native-calculate-top-readers-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: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                    }
                            ]
                        }
                    }
                }
            }
        }
    ~ 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: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
        }
      ~ spec    : {
          ~ jobTemplate: {
              ~ spec: {
                  ~ template: {
                      ~ metadata: {
                          ~ labels: {
                              ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                            }
                        }
                      ~ spec    : {
                          ~ containers: [
                              ~ [0]: {
                                      ~ env  : [
                                          ~ [1]: {
                                                  ~ value: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                                }
                                        ]
                                      ~ image: "us.gcr.io/daily-ops/daily-[secret]:3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                    }
                            ]
                        }
                    }
                }
            }
        }
        --outputs:--
      ~ metadata  : {
          ~ annotations      : {
              ~ deployment.kubernetes.io/revision: "536" => "537"
            }
            creationTimestamp: "2026-02-21T12:18:27Z"
          ~ generation       : 8772 => 8775
          ~ labels           : {
                app                      : "[secret]-bg"
                app.kubernetes.io/name   : "[secret]-bg"
              ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
              ~ version                  : "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
          ~ 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:affinity          : {
                                            f:nodeAffinity: {
                                                f:preferredDuringSchedulingIgnoredDuringExecution: {}
                                            }
                                        }
                                        f:containers        : {
                                            k:{"name":"api-bg"}: {
                                                .             : {}
                                                f:args        : {}
                                                f:env         : {
                                                    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:name        : {}
                                                f:ports       : {
                                                    k:{"containerPort":9464,"protocol":"TCP"}: {
                                                        .              : {}
                                                        f:containerPort: {}
                                                        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:mountPath: {}
                                                        f:name     : {}
                                                    }
                                                    k:{"mountPath":"/usr/share/geoip"} : {
                                                        .          : {}
                                                        f:mountPath: {}
                                                        f:name     : {}
                                                        f:readOnly : {}
                                                    }
                                                }
                                            }
                                        }
                                        f:serviceAccountName: {}
                                        f:tolerations       : {}
                                        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-172d3f8a"
                        operation : "Apply"
                      ~ time      : "2026-07-24T09:25:29Z" => "2026-07-24T10:23:11Z"
                    }
              ~ [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-24T07:34:08Z" => "2026-07-24T10:13:43Z"
                    }
            ]
            name             : "[secret]-bg"
            namespace        : "daily"
          ~ resourceVersion  : "1784885129265999000" => "1784888023108719000"
            uid              : "44525505-0333-42e7-8c30-9d44ed104a0b"
        }
      ~ spec      : {
            progressDeadlineSeconds: 600
            replicas               : 2
            revisionHistoryLimit   : 10
            selector               : {
                matchLabels: {
                    app                   : "[secret]-bg"
                    app.kubernetes.io/name: "[secret]-bg"
                }
            }
            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]-bg"
                        app.kubernetes.io/name   : "[secret]-bg"
                      ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                    }
                }
              ~ spec    : {
                    affinity                     : {
                        nodeAffinity: {
                            preferredDuringSchedulingIgnoredDuringExecution: [
                                [0]: {
                                    preference: {
                                        matchExpressions: [
                                            [0]: {
                                                key     : "node.daily.dev/spot"
                                                operator: "Exists"
                                            }
                                        ]
                                    }
                                    weight    : 1
                                }
                                [1]: {
                                    preference: {
                                        matchExpressions: [
                                            [0]: {
                                                key     : "node.daily.dev/preemptible"
                                                operator: "Exists"
                                            }
                                        ]
                                    }
                                    weight    : 1
                                }
                            ]
                        }
                    }
                  ~ containers                   : [
                      ~ [0]: {
                                args                    : [
                                    [0]: "dumb-init"
                                    [1]: "node"
                                    [2]: "--require"
                                    [3]: "./src/telemetry/register.js"
                                    [4]: "bin/cli"
                                    [5]: "background"
                                ]
                              ~ env                     : [
                                    [0]: {
                                            name : "OTEL_SERVICE_NAME"
                                            value: "[secret]-bg"
                                        }
                                  ~ [1]: {
                                            name : "OTEL_SERVICE_VERSION"
                                          ~ value: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                        }
                                    [2]: {
                                            name : "NODE_OPTIONS"
                                            value: "--max-old-space-size=460"
                                        }
                                    [3]: {
                                            name : "JWT_PUBLIC_KEY_PATH"
                                            value: "/opt/app/cert/public.pem"
                                        }
                                    [4]: {
                                            name : "JWT_PRIVATE_KEY_PATH"
                                            value: "/opt/app/cert/key.pem"
                                        }
                                ]
                                envFrom                 : [
                                    [0]: {
                                        secretRef: {
                                            name: "[secret]"
                                        }
                                    }
                                ]
                              ~ image                   : "us.gcr.io/daily-ops/daily-[secret]:3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "us.gcr.io/daily-ops/daily-[secret]:a6b8c60826db6cdac019ab7f77d607b67ac75367"
                                imagePullPolicy         : "IfNotPresent"
                                name                    : "[secret]-bg"
                                ports                   : [
                                    [0]: {
                                        containerPort: 9464
                                        name         : "metrics"
                                        protocol     : "TCP"
                                    }
                                ]
                                resources               : {
                                    limits  : {
                                        memory: "512Mi"
                                    }
                                    requests: {
                                        cpu   : "50m"
                                        memory: "256Mi"
                                    }
                                }
                                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
                    tolerations                  : [
                        [0]: {
                            effect  : "NoSchedule"
                            key     : "spot"
                            operator: "Equal"
                            value   : "true"
                        }
                        [1]: {
                            effect  : "NoSchedule"
                            key     : "preemptible"
                            operator: "Equal"
                            value   : "true"
                        }
                    ]
                    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-02-21T12:18:27Z" => "2026-07-24T06:32:52Z"
                      ~ lastUpdateTime    : "2026-07-23T10:13:21Z" => "2026-07-24T06:32:52Z"
                      ~ message           : "ReplicaSet \"[secret]-bg-98ddf4c67\" has successfully progressed." => "Deployment has minimum availability."
                      ~ reason            : "NewReplicaSetAvailable" => "MinimumReplicasAvailable"
                        status            : "True"
                      ~ type              : "Progressing" => "Available"
                    }
              ~ [1]: {
                      ~ lastTransitionTime: "2026-07-24T06:32:52Z" => "2026-02-21T12:18:27Z"
                      ~ lastUpdateTime    : "2026-07-24T06:32:52Z" => "2026-07-24T09:25:35Z"
                      ~ message           : "Deployment has minimum availability." => "ReplicaSet \"[secret]-bg-6df688fcd9\" has successfully progressed."
                      ~ reason            : "MinimumReplicasAvailable" => "NewReplicaSetAvailable"
                        status            : "True"
                      ~ type              : "Available" => "Progressing"
                    }
            ]
          ~ observedGeneration : 8771 => 8774
            readyReplicas      : 2
            replicas           : 2
            terminatingReplicas: 0
            updatedReplicas    : 2
        }
        --outputs:--
      ~ metadata  : {
            creationTimestamp: "2026-02-21T12:17:57Z"
          ~ generation       : 539 => 540
          ~ labels           : {
                app                      : "[secret]-clean-zombie-users"
                app-type                 : "cron"
                app.kubernetes.io/name   : "[secret]-clean-zombie-users"
              ~ app.kubernetes.io/version: "3271bcc466b9e2327e1e6f7f76f4207b5ff3281e" => "a6b8c60826db6cdac019ab7f77d607b67ac75367"
            }
          ~ 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:mountPath: {}
                                                                f:name     : {}
                                                            }
                                                            k:{"mountPath":"/usr/share/geoip"} : {
                                                          

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