Migrate to Blazor WASM, MSSQL platform DB, and durable audio PVC.
build-and-deploy / deploy (push) Failing after 15m11s

Remove in-cluster Postgres; serve WASM via nginx; add audio import job for Gooya archives.
This commit is contained in:
2026-10-09 22:40:53 +03:30
parent 7f06856f45
commit ae746d65ba
32 changed files with 760 additions and 525 deletions
+26 -72
View File
@@ -10,8 +10,9 @@ metadata:
namespace: tafsirquran
type: Opaque
stringData:
POSTGRES_PASSWORD: tafsir_pg_2026
MSSQL_SA_PASSWORD: "87zH26nbqT"
Jwt__Key: TafsirQuran-Prod-Secret-Key-Change-Me-32chars
ConnectionStrings__Default: "Server=mssql-svc.platform.svc.cluster.local,1433;Database=TafsirQuran;User Id=sa;Password=87zH26nbqT;TrustServerCertificate=True;Encrypt=False"
---
apiVersion: v1
kind: ConfigMap
@@ -20,7 +21,7 @@ metadata:
namespace: tafsirquran
data:
ASPNETCORE_URLS: "http://+:5080"
ConnectionStrings__Default: "Host=tafsirquran-postgres;Port=5432;Database=tafsirquran;Username=tafsir;Password=tafsir_pg_2026"
AudioRoot: "/data/audio"
Jwt__Issuer: "TafsirQuran"
Jwt__Audience: "TafsirQuran"
Jwt__ExpireMinutes: "43200"
@@ -31,75 +32,19 @@ metadata:
name: tafsirquran-web-env
namespace: tafsirquran
data:
ASPNETCORE_URLS: "http://+:8080"
ApiBaseAddress: "http://185.252.31.44:30821/"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tafsirquran-pg-data
name: tafsirquran-audio
namespace: tafsirquran
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: local-path
resources:
requests:
storage: 5Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tafsirquran-postgres
namespace: tafsirquran
spec:
replicas: 1
selector:
matchLabels:
app: tafsirquran-postgres
template:
metadata:
labels:
app: tafsirquran-postgres
spec:
containers:
- name: postgres
image: postgres:16-alpine
ports:
- containerPort: 5432
env:
- name: POSTGRES_USER
value: tafsir
- name: POSTGRES_DB
value: tafsirquran
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: tafsirquran-secrets
key: POSTGRES_PASSWORD
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
readinessProbe:
exec:
command: ["pg_isready", "-U", "tafsir", "-d", "tafsirquran"]
initialDelaySeconds: 5
periodSeconds: 5
volumes:
- name: data
persistentVolumeClaim:
claimName: tafsirquran-pg-data
---
apiVersion: v1
kind: Service
metadata:
name: tafsirquran-postgres
namespace: tafsirquran
spec:
selector:
app: tafsirquran-postgres
ports:
- port: 5432
targetPort: 5432
storage: 100Gi
---
apiVersion: apps/v1
kind: Deployment
@@ -131,18 +76,30 @@ spec:
secretKeyRef:
name: tafsirquran-secrets
key: Jwt__Key
- name: ConnectionStrings__Default
valueFrom:
secretKeyRef:
name: tafsirquran-secrets
key: ConnectionStrings__Default
volumeMounts:
- name: audio
mountPath: /data/audio
readinessProbe:
httpGet:
path: /
port: 5080
initialDelaySeconds: 10
initialDelaySeconds: 15
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 5080
initialDelaySeconds: 30
initialDelaySeconds: 40
periodSeconds: 20
volumes:
- name: audio
persistentVolumeClaim:
claimName: tafsirquran-audio
---
apiVersion: v1
kind: Service
@@ -178,21 +135,18 @@ spec:
image: tafsirquran-web:latest
imagePullPolicy: Never
ports:
- containerPort: 8080
envFrom:
- configMapRef:
name: tafsirquran-web-env
- containerPort: 80
readinessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 10
port: 80
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 30
port: 80
initialDelaySeconds: 15
periodSeconds: 20
---
apiVersion: v1
@@ -205,6 +159,6 @@ spec:
selector:
app: tafsirquran-web
ports:
- port: 8080
targetPort: 8080
- port: 80
targetPort: 80
nodePort: 30820