feat: cpa#3966
Merged
Merged
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.*
Loading