iac/apps/documentations/cronjobs/wb/workspace-recovery.yaml
2026-11-05 15:18:54 +02:00

120 lines
4.5 KiB
YAML

---
apiVersion: batch/v1
kind: CronJob
metadata:
name: cde-api-workspace-recovery
namespace: documentations
labels:
app.kubernetes.io/name: cde-api-workspace-recovery
app.kubernetes.io/part-of: cde-api
spec:
schedule: "0 */12 * * *"
timeZone: Etc/UTC
suspend: false
concurrencyPolicy: Forbid
startingDeadlineSeconds: 1800
successfulJobsHistoryLimit: 2
failedJobsHistoryLimit: 3
jobTemplate:
spec:
backoffLimit: 0
activeDeadlineSeconds: 21600
template:
metadata:
labels:
app.kubernetes.io/name: cde-api-workspace-recovery
annotations:
proxy.istio.io/config: '{"terminationDrainDuration":"0s"}'
sidecar.istio.io/inject: "true"
sidecar.istio.io/nativeSidecar: "true"
spec:
restartPolicy: Never
terminationGracePeriodSeconds: 30
imagePullSecrets:
- name: dockerhub
containers:
- name: workspace-recovery
image: cr.yandex/crp3ccidau046kdj8g9q/cde-api-worker-workspace-recovery:prod_c9bc246
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: 100m
memory: 128Mi
env:
- name: CDE_API_APP_NAME
value: "worker-workspace-recovery"
- name: CDE_API_LOG_LEVEL
value: "info"
- name: CDE_API_REDIS__HOST
value: "redis"
- name: CDE_API_REDIS__PORT
value: "6379"
- name: CDE_API_REDIS__DB
value: "5"
- name: CDE_API_REDIS__SSL
value: "false"
- name: CDE_API_REDIS__DIAL_TIMEOUT_MS
value: "5000"
- name: CDE_API_REDIS__READ_TIMEOUT_MS
value: "3000"
- name: CDE_API_REDIS__WRITE_TIMEOUT_MS
value: "3000"
- name: CDE_API_REDIS__POOL_SIZE
value: "2"
- name: CDE_API_REDIS__MIN_IDLE_CONNS
value: "0"
- name: CDE_API_WORKSPACE_BASE_URL
value: "http://workspaces-service.workspaces.svc.cluster.local:8000"
- name: CDE_API_WORKSPACE_TIMEOUT_MS
value: "10000"
- name: CDE_API_WORKSPACE_RETRY_COUNT
value: "0"
- name: CDE_API_WORKSPACE_RECOVERY_CONCURRENCY
value: "1"
- name: CDE_API_WORKSPACE_RECOVERY_CURSOR_KEY
value: "cde-api:production:workspace-recovery:cursor"
- name: CDE_API_WORKSPACE_RECOVERY_BATCH_SIZE
value: "100"
- name: CDE_API_WORKSPACE_RECOVERY_MIN_AGE
value: "1h"
- name: CDE_API_WORKSPACE_RECOVERY_REQUEST_INTERVAL
value: "1s"
- name: CDE_API_WORKSPACE_RECOVERY_BATCH_INTERVAL
value: "5s"
- name: CDE_API_WORKSPACE_RECOVERY_MAX_ERROR_DELAY
value: "1m"
- name: CDE_API_WORKSPACE_RECOVERY_RUN_TIMEOUT
value: "6h"
- name: CDE_API_DATABASE_POOL_SIZE
value: "2"
- name: CDE_API_DATABASE_MAX_CONN_LIFETIME
value: "30m"
- name: CDE_API_DATABASE_MAX_CONN_IDLE_TIME
value: "10m"
- name: CDE_API_DATABASE_HEALTH_CHECK_PERIOD
value: "30s"
- name: CDE_API_DATABASE_OBSERVABILITY_ENABLE
value: "false"
- name: CDE_API_OBSERVABILITY_ENABLE
value: "false"
- name: CDE_API_DATABASE__SSLMODE
value: "disable"
- name: CDE_API_DATABASE__INSECURE_SKIP_TLS
value: "false"
- name: CDE_API_DATABASE__HOST
value: "sarex-vpsql-01.xc.wb.ru"
- name: CDE_API_DATABASE__PORT
value: "5432"
- name: CDE_API_DATABASE__NAME
value: "documentations_db"
- name: CDE_API_DATABASE__USER
valueFrom:
secretKeyRef:
name: postgres-secret
key: username
- name: CDE_API_DATABASE__PASSWORD
valueFrom:
secretKeyRef:
name: postgres-secret
key: password