feat: publish highlighted posts #3781
Merged
Pulumi / api/prod - Update (preview)
succeeded
Apr 8, 2026 in 17s
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-personalized-digest-cron kubernetes:batch/v1:CronJob update
~ vpc-native-generic-referral-reminder-cron kubernetes:batch/v1:CronJob update
+ vpc-native-api-clickhouse-migration-ecea2e75 kubernetes:batch/v1:Job create
~ vpc-native-update-tags-str-cron kubernetes:batch/v1:CronJob update
- vpc-native-api-db-migration-9da9d39f kubernetes:batch/v1:Job delete
- vpc-native-api-clickhouse-migration-9da9d39f kubernetes:batch/v1:Job delete
~ vpc-native-update-achievement-rarity-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-expired-better-auth-sessions-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-updated-sync-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-users-cron kubernetes:batch/v1:CronJob update
+ vpc-native-api-db-migration-ecea2e75 kubernetes:batch/v1:Job create
~ vpc-native-hourly-notification-cron kubernetes:batch/v1:CronJob update
~ vpc-native-personalized-digest-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-calculate-top-readers-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-temporal-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-rotate-weekly-quests-cron kubernetes:batch/v1:CronJob update
~ vpc-native-squad-posts-analytics-refresh-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-trending-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-source-public-threshold-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-highlighted-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-post-analytics-history-day-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-expire-super-agent-trial-cron kubernetes:batch/v1:CronJob update
~ vpc-native-post-analytics-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-channel-highlights-cron kubernetes:batch/v1:CronJob update
~ vpc-native-materialize-yearly-best-post-archives-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-generate-search-invites-cron kubernetes:batch/v1:CronJob update
~ vpc-native-worker-job-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-update-current-streak-cron kubernetes:batch/v1:CronJob update
~ vpc-native-ws-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-materialize-monthly-best-post-archives-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-stale-user-transactions-cron kubernetes:batch/v1:CronJob update
+- vpc-native-debezium-props kubernetes:core/v1:Secret create-replacement
~ vpc-native-channel-digests-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-rotate-daily-quests-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-user-companies-cron kubernetes:batch/v1:CronJob update
+- vpc-native-debezium-deployment kubernetes:apps/v1:Deployment create-replacement
~ vpc-native-clean-zombie-images-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-opportunities-cron kubernetes:batch/v1:CronJob update
~ vpc-native-sync-subscription-with-cio-cron kubernetes:batch/v1:CronJob update
~ vpc-native-bg-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-check-analytics-report-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-tag-materialized-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-analytics-history-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-channel-highlights-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-gifted-plus-cron kubernetes:batch/v1:CronJob update
~ vpc-native-daily-digest-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:apps/v1:Deployment: (delete-replaced)
[urn=urn:pulumi:prod::api::kubernetes:apps/v1:Deployment::vpc-native-debezium-deployment]
[provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
apiVersion: "apps/v1"
kind : "Deployment"
metadata : {
name : "[secret]-[secret]"
namespace: "daily"
}
spec : {
replicas: 1
selector: {
matchLabels: {
app : "[secret]"
parent: "[secret]"
}
}
strategy: {
type: "Recreate"
}
template: {
metadata: {
labels: {
app : "[secret]"
parent: "[secret]"
props : "9da0c07c61fa82eac7321b058e649c02"
}
}
spec : {
containers : [
[0]: {
env : [
[0]: {
name : "GOOGLE_APPLICATION_CREDENTIALS"
value: "/var/secrets/google/key.json"
}
[1]: {
name : "JMX_EXPORTER_PORT"
value: "9404"
}
[2]: {
name : "ENABLE_DEBEZIUM_SCRIPTING"
value: "true"
}
]
image : "quay.io/[secret]/server:3.4.1.Final"
livenessProbe: {
httpGet : {
path: "/q/health"
port: "http"
}
initialDelaySeconds: 60
periodSeconds : 30
}
name : "[secret]"
ports : [
[0]: {
containerPort: 8080
name : "http"
}
[1]: {
containerPort: 9404
name : "metrics"
}
]
resources : {
limits : {
memory: "900Mi"
}
requests: {
cpu : "50m"
memory: "450Mi"
}
}
volumeMounts : [
[0]: {
mountPath: "/[secret]/config"
name : "config"
}
[1]: {
mountPath: "/var/secrets/google"
name : "service-account-key"
}
[2]: {
mountPath: "/[secret]/data"
name : "data"
}
]
}
]
initContainers : [
[0]: {
command : [
[0]: "sh"
[1]: "-c"
[2]: "cp /props/application.properties /config/application.properties; cp -r /[secret]/config/* /config/"
]
image : "quay.io/[secret]/server:3.4.1.Final"
name : "copy-config"
volumeMounts: [
[0]: {
mountPath: "/props"
name : "props"
}
[1]: {
mountPath: "/config"
name : "config"
}
]
}
]
securityContext: {
fsGroup : 185
runAsGroup: 185
runAsUser : 185
}
tolerations : [
[0]: {
effect : "NoSchedule"
key : "spot"
operator: "Equal"
value : "true"
}
[1]: {
effect : "NoSchedule"
key : "preemptible"
operator: "Equal"
value : "true"
}
]
volumes : [
[0]: {
name : "props"
secret: {
secretName: "[secret]-[secret]-props"
}
}
[1]: {
emptyDir: {}
name : "config"
}
[2]: {
name : "service-account-key"
secret: {
secretName: "[secret]-[secret]-sa"
}
}
[3]: {
name : "data"
persistentVolumeClaim: {
claimName: "[secret]-[secret]-data"
}
}
]
}
}
}
--outputs:--
- apiVersion: "apps/v1"
- kind : "Deployment"
- metadata : {
- annotations : {
- deployment.kubernetes.io/revision: "1"
}
- creationTimestamp: "2026-03-15T21:48:38Z"
- generation : 1
- managedFields : [
- [0]: {
- apiVersion: "apps/v1"
- fieldsType: "FieldsV1"
- fieldsV1 : {
- f:spec: {
- f:replicas: {}
- f:selector: {}
- f:strategy: {
- f:type: {}
}
- f:template: {
- f:metadata: {
- f:labels: {
- f:app : {}
- f:parent: {}
- f:props : {}
}
}
- f:spec : {
- f:containers : {
- k:{"name":"debezium"}: {
- . : {}
- f:env : {
- k:{"name":"ENABLE_DEBEZIUM_SCRIPTING"} : {
- . : {}
- f:name : {}
- f:value: {}
}
- k:{"name":"GOOGLE_APPLICATION_CREDENTIALS"}: {
- . : {}
- f:name : {}
- f:value: {}
}
- k:{"name":"JMX_EXPORTER_PORT"} : {
- . : {}
- f:name : {}
- f:value: {}
}
}
- f:image : {}
- f:livenessProbe: {
- f:httpGet : {
- f:path: {}
- f:port: {}
}
- f:initialDelaySeconds: {}
- f:periodSeconds : {}
}
- f:name : {}
- f:ports : {
- k:{"containerPort":8080,"protocol":"TCP"}: {
- . : {}
- f:containerPort: {}
- f:name : {}
}
- k:{"containerPort":9404,"protocol":"TCP"}: {
- . : {}
- f:containerPort: {}
- f:name : {}
}
}
- f:resources : {
- f:limits : {
- f:memory: {}
}
- f:requests: {
- f:cpu : {}
- f:memory: {}
}
}
- f:volumeMounts : {
- k:{"mountPath":"/debezium/config"} : {
- . : {}
- f:mountPath: {}
- f:name : {}
}
- k:{"mountPath":"/debezium/data"} : {
- . : {}
- f:mountPath: {}
- f:name : {}
}
- k:{"mountPath":"/var/secrets/google"}: {
- . : {}
- f:mountPath: {}
- f:name : {}
}
}
}
}
- f:initContainers : {
- k:{"name":"copy-config"}: {
- . : {}
- f:command : {}
- f:image : {}
- f:name : {}
- f:volumeMounts: {
- k:{"mountPath":"/config"}: {
- . : {}
- f:mountPath: {}
- f:name : {}
}
- k:{"mountPath":"/props"} : {
- . : {}
- f:mountPath: {}
- f:name : {}
}
}
}
}
- f:securityContext: {
- f:fsGroup : {}
- f:runAsGroup: {}
- f:runAsUser : {}
}
- f:tolerations : {}
- f:volumes : {
- k:{"name":"config"} : {
- . : {}
- f:emptyDir: {}
- f:name : {}
}
- k:{"name":"data"} : {
- . : {}
- f:name : {}
- f:persistentVolumeClaim: {
- f:claimName: {}
}
}
- k:{"name":"props"} : {
- . : {}
- f:name : {}
- f:secret: {
- f:secretName: {}
}
}
- k:{"name":"service-account-key"}: {
- . : {}
- f:name : {}
- f:secret: {
- f:secretName: {}
}
}
}
}
}
}
}
- manager : "pulumi-kubernetes-a60a20c7"
- operation : "Apply"
- time : "2026-03-15T21:48:38Z"
}
- [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-04-03T04:25:37Z"
}
]
- name : "[secret]-[secret]"
- namespace : "daily"
- resourceVersion : "1775190337700095020"
- uid : "ca84fcea-77c2-4fcb-a1c9-81e3dd5c6802"
}
- spec : {
- progressDeadlineSeconds: 600
- replicas : 1
- revisionHistoryLimit : 10
- selector : {
- matchLabels: {
- app : "[secret]"
- parent: "[secret]"
}
}
- strategy : {
- type: "Recreate"
}
- template : {
- metadata: {
- labels: {
- app : "[secret]"
- parent: "[secret]"
- props : "9da0c07c61fa82eac7321b058e649c02"
}
}
- spec : {
- containers : [
- [0]: {
- env : [
- [0]: {
- name : "GOOGLE_APPLICATION_CREDENTIALS"
- value: "/var/secrets/google/key.json"
}
- [1]: {
- name : "JMX_EXPORTER_PORT"
- value: "9404"
}
- [2]: {
- name : "ENABLE_DEBEZIUM_SCRIPTING"
- value: "true"
}
]
- image : "quay.io/[secret]/server:3.4.1.Final"
- imagePullPolicy : "IfNotPresent"
- livenessProbe : {
- failureThreshold : 3
- httpGet : {
- path : "/q/health"
- port : "http"
- scheme: "HTTP"
}
- initialDelaySeconds: 60
- periodSeconds : 30
- successThreshold : 1
- timeoutSeconds : 1
}
- name : "[secret]"
- ports : [
- [0]: {
- containerPort: 8080
- name : "http"
- protocol : "TCP"
}
- [1]: {
- containerPort: 9404
- name : "metrics"
- protocol : "TCP"
}
]
- resources : {
- limits : {
- memory: "900Mi"
}
- requests: {
- cpu : "50m"
- memory: "450Mi"
}
}
- terminationMessagePath : "/dev/termination-log"
- terminationMessagePolicy: "File"
- volumeMounts : [
- [0]: {
- mountPath: "/[secret]/config"
- name : "config"
}
- [1]: {
- mountPath: "/var/secrets/google"
- name : "service-account-key"
}
- [2]: {
- mountPath: "/[secret]/data"
- name : "data"
}
]
}
]
- dnsPolicy : "ClusterFirst"
- initContainers : [
- [0]: {
- command : [
- [0]: "sh"
- [1]: "-c"
- [2]: "cp /props/application.properties /config/application.properties; cp -r /[secret]/config/* /config/"
]
- image : "quay.io/[secret]/server:3.4.1.Final"
- imagePullPolicy : "IfNotPresent"
- name : "copy-config"
- resources : {}
- terminationMessagePath : "/dev/termination-log"
- terminationMessagePolicy: "File"
- volumeMounts : [
- [0]: {
- mountPath: "/props"
- name : "props"
}
- [1]: {
- mountPath: "/config"
- name : "config"
}
]
}
]
- restartPolicy : "Always"
- schedulerName : "default-scheduler"
- securityContext : {
- fsGroup : 185
- runAsGroup: 185
- runAsUser : 185
}
- terminationGracePeriodSeconds: 30
- tolerations : [
- [0]: {
- effect : "NoSchedule"
- key : "spot"
- operator: "Equal"
- value : "true"
}
- [1]: {
- effect : "NoSchedule"
- key : "preemptible"
- operator: "Equal"
- value : "true"
}
]
- volumes : [
- [0]: {
- name : "props"
- secret: {
- defaultMode: 420
- secretName : "[secret]-[secret]-props"
}
}
- [1]: {
- emptyDir: {}
- name : "config"
}
- [2]: {
- name : "service-account-key"
- secret: {
- defaultMode: 420
- secretName : "[secret]-[secret]-sa"
}
}
- [3]: {
- name : "data"
- persistentVolumeClaim: {
- claimName: "[secret]-[secret]-data"
}
}
]
}
}
}
- status : {
- availableReplicas : 1
- conditions : [
- [0]: {
- lastTransitionTime: "2026-03-15T21:48:38Z"
- lastUpdateTime : "2026-03-15T21:48:42Z"
- message : "ReplicaSet \"[secret]-[secret]-f6c5f884c\" has successfully progressed."
- reason : "NewReplicaSetAvailable"
- status : "True"
- type : "Progressing"
}
- [1]: {
- lastTransitionTime: "2026-04-03T04:25:37Z"
- lastUpdateTime : "2026-04-03T04:25:37Z"
- message : "Deployment has minimum availability."
- reason : "MinimumReplicasAvailable"
- status : "True"
- type : "Available"
}
]
- observedGeneration : 1
- readyReplicas : 1
- replicas : 1
- terminatingReplicas: 0
- updatedReplicas : 1
}
--kubernetes:core/v1:Secret: (delete-replaced)
[urn=urn:pulumi:prod::api::kubernetes:core/v1:Secret::vpc-native-debezium-props]
[provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
+-kubernetes:core/v1:Secret: (replace)
[urn=urn:pulumi:prod::api::kubernetes:core/v1:Secret::vpc-native-debezium-props]
[provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
~ data: {
}
++kubernetes:core/v1:Secret: (create-replacement)
[urn=urn:pulumi:prod::api::kubernetes:core/v1:Secret::vpc-native-debezium-props]
[provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
~ data: {
}
+ kubernetes:batch/v1:Job: (create)
[urn=urn:pulumi:prod::api::kubernetes:batch/v1:Job::vpc-native-api-clickhouse-migration-ecea2e75]
[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-db-migration-ecea2e75]
[provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
+-kubernetes:apps/v1:Deployment: (replace)
[urn=urn:pulumi:prod::api::kubernetes:apps/v1:Deployment::vpc-native-debezium-deployment]
[provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
apiVersion: "apps/v1"
kind : "Deployment"
metadata : {
name : "[secret]-[secret]"
namespace: "daily"
}
spec : {
replicas: 1
selector: {
matchLabels: {
app : "[secret]"
parent: "[secret]"
}
}
strategy: {
type: "Recreate"
}
template: {
metadata: {
labels: {
app : "[secret]"
parent: "[secret]"
props : "9da0c07c61fa82eac7321b058e649c02"
}
}
spec : {
containers : [
[0]: {
env : [
[0]: {
name : "GOOGLE_APPLICATION_CREDENTIALS"
value: "/var/secrets/google/key.json"
}
[1]: {
name : "JMX_EXPORTER_PORT"
value: "9404"
}
[2]: {
name : "ENABLE_DEBEZIUM_SCRIPTING"
value: "true"
}
]
image : "quay.io/[secret]/server:3.4.1.Final"
livenessProbe: {
httpGet : {
path: "/q/health"
port: "http"
}
initialDelaySeconds: 60
periodSeconds : 30
}
name : "[secret]"
ports : [
[0]: {
containerPort: 8080
name : "http"
}
[1]: {
containerPort: 9404
name : "metrics"
}
]
resources : {
limits : {
memory: "900Mi"
}
requests: {
cpu : "50m"
memory: "450Mi"
}
}
volumeMounts : [
[0]: {
mountPath: "/[secret]/config"
name : "config"
}
[1]: {
mountPath: "/var/secrets/google"
name : "service-account-key"
}
[2]: {
mountPath: "/[secret]/data"
name : "data"
}
]
}
]
initContainers : [
[0]: {
command : [
[0]: "sh"
[1]: "-c"
[2]: "cp /props/application.properties /config/application.properties; cp -r /[secret]/config/* /config/"
]
image : "quay.io/[secret]/server:3.4.1.Final"
name : "copy-config"
volumeMounts: [
[0]: {
mountPath: "/props"
name : "props"
}
[1]: {
mountPath: "/config"
name : "config"
}
]
}
]
securityContext: {
fsGroup : 185
runAsGroup: 185
runAsUser : 185
}
tolerations : [
[0]: {
effect : "NoSchedule"
key : "spot"
operator: "Equal"
value : "true"
}
[1]: {
effect : "NoSchedule"
key : "preemptible"
operator: "Equal"
value : "true"
}
]
volumes : [
[0]: {
name : "props"
secret: {
secretName: "[secret]-[secret]-props"
}
}
[1]: {
emptyDir: {}
name : "config"
}
[2]: {
name : "service-account-key"
secret: {
secretName: "[secret]-[secret]-sa"
}
}
[3]: {
name : "data"
persistentVolumeClaim: {
claimName: "[secret]-[secret]-data"
}
}
]
}
}
}
--outputs:--
- apiVersion: "apps/v1"
- kind : "Deployment"
- metadata : {
- annotations : {
- deployment.kubernetes.io/revision: "1"
}
- creationTimestamp: "2026-03-15T21:48:38Z"
- generation : 1
- managedFields : [
- [0]: {
- apiVersion: "apps/v1"
- fieldsType: "FieldsV1"
- fieldsV1 : {
- f:spec: {
- f:replicas: {}
- f:selector: {}
- f:strategy: {
- f:type: {}
}
- f:template: {
- f:metadata: {
- f:labels: {
- f:app : {}
- f:parent: {}
- f:props : {}
}
}
- f:spec : {
- f:containers : {
- k:{"name":"debezium"}: {
- . : {}
- f:env : {
- k:{"name":"ENABLE_DEBEZIUM_SCRIPTING"} : {
- . : {}
- f:name : {}
- f:value: {}
}
- k:{"name":"GOOGLE_APPLICATION_CREDENTIALS"}: {
- . : {}
- f:name : {}
- f:value: {}
}
- k:{"name":"JMX_EXPORTER_PORT"} : {
- . : {}
- f:name : {}
- f:value: {}
}
}
- f:image : {}
- f:livenessProbe: {
- f:httpGet : {
- f:path: {}
- f:port: {}
}
- f:initialDelaySeconds: {}
- f:periodSeconds : {}
}
- f:name : {}
- f:ports : {
- k:{"containerPort":8080,"protocol":"TCP"}: {
- . : {}
- f:containerPort: {}
- f:name : {}
}
- k:{"containerPort":9404,"protocol":"TCP"}: {
- . : {}
- f:containerPort: {}
- f:name : {}
}
}
- f:resources : {
- f:limits : {
- f:memory: {}
}
- f:requests: {
- f:cpu : {}
- f:memory: {}
}
}
- f:volumeMounts : {
- k:{"mountPath":"/debezium/config"} : {
- . : {}
- f:mountPath: {}
- f:name : {}
}
- k:{"mountPath":"/debezium/data"} : {
- . : {}
- f:mountPath: {}
- f:name : {}
}
- k:{"mountPath":"/var/secrets/google"}: {
- . : {}
- f:mountPath: {}
- f:name : {}
}
}
}
}
- f:initContainers : {
- k:{"name":"copy-config"}: {
- . : {}
- f:command : {}
- f:image : {}
- f:name : {}
- f:volumeMounts: {
- k:{"mountPath":"/config"}: {
- . : {}
- f:mountPath: {}
- f:name : {}
}
- k:{"mountPath":"/props"} : {
- . : {}
- f:mountPath: {}
- f:name : {}
}
}
}
}
- f:securityContext: {
- f:fsGroup : {}
- f:runAsGroup: {}
- f:runAsUser : {}
}
- f:tolerations : {}
- f:volumes : {
- k:{"name":"config"} : {
- . : {}
- f:emptyDir: {}
- f:name : {}
}
- k:{"name":"data"} : {
- . : {}
- f:name : {}
- f:persistentVolumeClaim: {
- f:claimName: {}
}
}
- k:{"name":"props"} : {
- . : {}
- f:name : {}
- f:secret: {
- f:secretName: {}
}
}
- k:{"name":"service-account-key"}: {
- . : {}
- f:name : {}
- f:secret: {
- f:secretName: {}
}
}
}
}
}
}
}
- manager : "pulumi-kubernetes-a60a20c7"
- operation : "Apply"
- time : "2026-03-15T21:48:38Z"
}
- [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-04-03T04:25:37Z"
}
]
- name : "[secret]-[secret]"
- namespace : "daily"
- resourceVersion : "1775190337700095020"
- uid : "ca84fcea-77c2-4fcb-a1c9-81e3dd5c6802"
}
- spec : {
- progressDeadlineSeconds: 600
- replicas : 1
- revisionHistoryLimit : 10
- selector : {
- matchLabels: {
- app : "[secret]"
- parent: "[secret]"
}
}
- strategy : {
- type: "Recreate"
}
- template : {
- metadata: {
- labels: {
- app : "[secret]"
- parent: "[secret]"
- props : "9da0c07c61fa82eac7321b058e649c02"
}
}
- spec : {
- containers : [
- [0]: {
- env : [
- [0]: {
- name : "GOOGLE_APPLICATION_CREDENTIALS"
- value: "/var/secrets/google/key.json"
}
- [1]: {
- name : "JMX_EXPORTER_PORT"
- value: "9404"
}
- [2]: {
- name : "ENABLE_DEBEZIUM_SCRIPTING"
- value: "true"
}
]
- image : "quay.io/[secret]/server:3.4.1.Final"
- imagePullPolicy : "IfNotPresent"
- livenessProbe : {
- failureThreshold : 3
- httpGet : {
- path : "/q/health"
- port : "http"
- scheme: "HTTP"
}
- initialDelaySeconds: 60
- periodSeconds : 30
- successThreshold : 1
- timeoutSeconds : 1
}
- name : "[secret]"
- ports : [
- [0]: {
- containerPort: 8080
- name : "http"
- protocol : "TCP"
}
- [1]: {
- containerPort: 9404
- name : "metrics"
- protocol : "TCP"
}
]
- resources : {
- limits : {
- memory: "900Mi"
}
- requests: {
- cpu : "50m"
- memory: "450Mi"
}
}
- terminationMessagePath : "/dev/termination-log"
- terminationMessagePolicy: "File"
- volumeMounts : [
- [0]: {
- mountPath: "/[secret]/config"
- name : "config"
}
- [1]: {
- mountPath: "/var/secrets/google"
- name : "service-account-key"
}
- [2]: {
- mountPath: "/[secret]/data"
- name : "data"
}
]
}
]
- dnsPolicy : "ClusterFirst"
- initContainers : [
- [0]: {
- command : [
- [0]: "sh"
- [1]: "-c"
- [2]: "cp /props/application.properties /config/application.properties; cp -r /[secret]/config/* /config/"
]
- image : "quay.io/[secret]/server:3.4.1.Final"
- imagePullPolicy : "IfNotPresent"
- name : "copy-config"
- resources : {}
- terminationMessagePath : "/dev/termination-log"
- terminationMessagePolicy: "File"
- volumeMounts : [
- [0]: {
- mountPath: "/props"
- name : "props"
}
- [1]: {
- mountPath: "/config"
- name : "config"
}
]
}
]
- restartPolicy : "Always"
- schedulerName : "default-scheduler"
- securityContext : {
- fsGroup : 185
- runAsGroup: 185
- runAsUser : 185
}
- terminationGracePeriodSeconds: 30
- tolerations : [
- [0]: {
- effect : "NoSchedule"
- key : "spot"
- operator: "Equal"
- value : "true"
}
- [1]: {
- effect : "NoSchedule"
- key : "preemptible"
- operator: "Equal"
- value : "true"
}
]
- volumes : [
- [0]: {
- name : "props"
- secret: {
- defaultMode: 420
- secretName : "[secret]-[secret]-props"
}
}
- [1]: {
- emptyDir: {}
- name : "config"
}
- [2]: {
- name : "service-account-key"
- secret: {
- defaultMode: 420
- secretName : "[secret]-[secret]-sa"
}
}
- [3]: {
- name : "data"
- persistentVolumeClaim: {
- claimName: "[secret]-[secret]-data"
}
}
]
}
}
}
- status : {
- availableReplicas : 1
- conditions : [
- [0]: {
- lastTransitionTime: "2026-03-15T21:48:38Z"
- lastUpdateTime : "2026-03-15T21:48:42Z"
- message : "ReplicaSet \"[secret]-[secret]-f6c5f884c\" has successfully progressed."
- reason : "NewReplicaSetAvailable"
- status : "True"
- type : "Progressing"
}
- [1]: {
- lastTransitionTime: "2026-04-03T04:25:37Z"
- lastUpdateTime : "2026-04-03T04:25:37Z"
- message : "Deployment has minimum availability."
- reason : "MinimumReplicasAvailable"
- status : "True"
- type : "Available"
}
]
- observedGeneration : 1
- readyReplicas : 1
- replicas : 1
- terminatingReplicas: 0
- updatedReplicas : 1
}
++kubernetes:apps/v1:Deployment: (create-replacement)
[urn=urn:pulumi:prod::api::kubernetes:apps/v1:Deployment::vpc-native-debezium-deployment]
[provider=urn:pulumi:prod::api::dailydotdev:kubernetes:GkeCluster$pulumi:providers:kubernetes::vpc-native::fcfbd2f7-4f6b-44a5-b398-0533832a829e]
apiVersion: "apps/v1"
kind : "Deployment"
metadata : {
name : "[secret]-[secret]"
namespace: "daily"
}
spec : {
replicas: 1
selector: {
matchLabels: {
app : "[secret]"
parent: "[secret]"
}
}
strategy: {
type: "Recreate"
}
template: {
metadata: {
labels: {
app : "[secret]"
parent: "[secret]"
props : "9da0c07c61fa82eac7321b058e649c02"
}
}
spec : {
containers : [
[0]: {
env : [
[0]: {
name : "GOOGLE_APPLICATION_CREDENTIALS"
value: "/var/secrets/google/key.json"
}
[1]: {
name : "JMX_EXPORTER_PORT"
value: "9404"
}
[2]: {
name : "ENABLE_DEBEZIUM_SCRIPTING"
value: "true"
}
]
image : "quay.io/[secret]/server:3.4.1.Final"
livenessProbe: {
httpGet : {
path: "/q/health"
port: "http"
}
initialDelaySeconds: 60
periodSeconds : 30
}
name : "[secret]"
ports : [
[0]: {
containerPort: 8080
name : "http"
}
[1]: {
containerPort: 9404
name : "metrics"
}
]
resources : {
limits : {
memory: "900Mi"
}
requests: {
cpu : "50m"
memory: "450Mi"
}
}
volumeMounts : [
[0]: {
mountPath: "/[secret]/config"
name : "config"
}
[1]: {
mountPath: "/var/secrets/google"
name : "service-account-key"
}
[2]: {
mountPath: "/[secret]/data"
name : "data"
}
]
}
]
initContainers : [
[0]: {
command : [
---
*Output truncated. View full details in the Pulumi Console.*
Loading