Merge branch 'sidetree'

This commit is contained in:
2026-09-10 11:41:35 +02:00
6 changed files with 492 additions and 150 deletions
+1
View File
@@ -9,5 +9,6 @@ WEBINAR_CHECK_INTERVAL=60
REDIS_HOST=redis REDIS_HOST=redis
REDIS_PORT=6379 REDIS_PORT=6379
PLAYWRIGHT_WS=ws://playwright-service:3000/ws PLAYWRIGHT_WS=ws://playwright-service:3000/ws
TZ=Europe/Kyiv
WEBINAR_TELEGRAM_TOKEN=your_telegram_bot_token_here WEBINAR_TELEGRAM_TOKEN=your_telegram_bot_token_here
WEBINAR_ADMIN_ID=123456789 WEBINAR_ADMIN_ID=123456789
View File
+6 -6
View File
@@ -1,17 +1,17 @@
# Разовый Job для переноса состояния redis из docker compose в k8s (maintenance window). # One-time Job to migrate redis state from docker compose to k8s (maintenance window).
# Файл .example -> deploy-пайплайн его не применяет (маска *.example.yaml). # The .example file is not applied by the deploy pipeline (mask *.example.yaml).
# #
# Runbook: # Runbook:
# 1. docker compose -f <repo>/edu_master/compose.yaml stop # SIGTERM -> redis сбросит dump.rdb # 1. docker compose -f <repo>/edu_master/compose.yaml stop # SIGTERM -> redis will flush dump.rdb
# 2. docker run --rm -v edu_master_redis-data:/data \ # 2. docker run --rm -v edu_master_redis-data:/data \
# -v /tmp/edu-master-backup:/backup \ # -v /tmp/edu-master-backup:/backup \
# redis:alpine sh -c "cp /data/dump.rdb /backup/ && ls -la /backup" # redis:alpine sh -c "cp /data/dump.rdb /backup/ && ls -la /backup"
# 3. kubectl apply -f edu_master/k8s/namespace.yaml # 3. kubectl apply -f edu_master/k8s/namespace.yaml
# 4. kubectl apply -f <только PVC из redis.yaml> # seed строго ДО старта redis-пода # 4. kubectl apply -f <only the PVC from redis.yaml> # seed must come BEFORE redis pod starts
# 5. kubectl apply -f edu_master/k8s/restore-seed-job.yaml.example # 5. kubectl apply -f edu_master/k8s/restore-seed-job.yaml.example
# kubectl wait --for=condition=complete job/redis-restore-seed -n edu-master --timeout=120s # kubectl wait --for=condition=complete job/redis-restore-seed -n edu-master --timeout=120s
# 6. kubectl delete job redis-restore-seed -n edu-master # 6. kubectl delete job redis-restore-seed -n edu-master
# 7. kubectl apply -f edu_master/k8s/ -R # остальные манифесты # 7. kubectl apply -f edu_master/k8s/ -R # apply remaining manifests
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
metadata: metadata:
@@ -47,4 +47,4 @@ spec:
- name: backup - name: backup
hostPath: hostPath:
path: /tmp/edu-master-backup path: /tmp/edu-master-backup
type: DirectoryOrCreate type: DirectoryOrCreate
+3 -2
View File
@@ -5,7 +5,7 @@ metadata:
namespace: edu-master namespace: edu-master
type: Opaque type: Opaque
stringData: stringData:
# PHPSESSID keeper # Session keeper credentials
KEEPER_LOGIN: "" KEEPER_LOGIN: ""
KEEPER_PASSWORD: "" KEEPER_PASSWORD: ""
KEEPER_INTERVAL: "10" KEEPER_INTERVAL: "10"
@@ -23,4 +23,5 @@ stringData:
WEBINAR_CHECK_INTERVAL: "60" WEBINAR_CHECK_INTERVAL: "60"
# Database # Database
REDIS_HOST: "redis" REDIS_HOST: "redis"
REDIS_PORT: "6379" REDIS_PORT: "6379"
TZ: "Europe/Kyiv"
+5 -2
View File
@@ -15,9 +15,9 @@ spec:
labels: labels:
app: edu-master-webinar-checker app: edu-master-webinar-checker
spec: spec:
# Enforces dependency order like compose depends_on:
# redis healthy -> session-keeper healthy (EXISTS EDU_PHPSESSID) -> playwright started
initContainers: initContainers:
# Держит порядок зависимостей как в compose depends_on:
# redis healthy -> session-keeper healthy (EXISTS EDU_PHPSESSID) -> playwright started
- name: wait-deps - name: wait-deps
image: redis:alpine image: redis:alpine
command: command:
@@ -50,6 +50,9 @@ spec:
envFrom: envFrom:
- secretRef: - secretRef:
name: edu-master-secrets name: edu-master-secrets
env:
- name: TZ
value: "Europe/Kyiv"
resources: resources:
requests: requests:
cpu: 25m cpu: 25m
File diff suppressed because it is too large Load Diff