chore: restore independent prod gitops config

This commit is contained in:
Prodiglagla
2026-06-15 17:26:52 +08:00
parent c86deb5e12
commit 9e326c375a
40 changed files with 215 additions and 207 deletions
+22 -18
View File
@@ -1,27 +1,31 @@
# ircs-prod-config # ircs-prod-config
Independent GitOps repository for IRCS V3 production namespace `ircs-prod`. 独立 GitOps 仓库,负责 IRCS V3 生产 namespace `ircs-prod` 的 Kubernetes 运行配置。
This repo intentionally separates production runtime state from the source repository: 代码仓库只负责构建和推送镜像;Argo CD 不再同步后端仓库中的生产清单。所有生产配置入口都在本仓库:
- source repo: `gitea-admin/ircs-project-v3`, builds and pushes service images. - Argo CD Application`apps/`
- GitOps repo: `gitea-admin/ircs-prod-config`, declares Kubernetes runtime resources. - 生产 core 清单:`ircs-prod/core/`
- 生产 edge HTTPRoute`ircs-prod/edge-cutover/`
- 数据库迁移 Job`ircs-prod/migration/`
Secrets are not stored here. Run `scripts/prepare-prod-secrets.ps1` before syncing the core ArgoCD application. 当前 Argo CD repoURL
Deployment order: ```text
http://gitea-http.gitea.svc.cluster.local:3000/admin/ircs-prod-config.git
```
1. Prepare `ircs-prod` namespace and secrets. ## 发布链路
2. Apply `apps/ircs-prod-core-application.yaml` to ArgoCD and sync it.
3. Let the V3 migrator initialize a clean database. Do not migrate legacy `ircs-system` data by default.
4. Verify portals and BFF through cluster endpoints.
5. Sync `apps/ircs-prod-edge-application.yaml` or apply `ircs-prod/edge-cutover`, then remove old `ircs-system` business routes.
Edge cutover is isolated from core to avoid hostname conflict while the old `ircs-system` routes still own production domains. 1. 后端或前端仓库的 Gitea Actions 构建 ARM64 镜像并推送到 `registry.mnnu.eu.org/ircs`
2. Actions clone 本仓库并更新 `ircs-prod/` 中对应镜像标签。
3. Actions 将 tag 回写 commit push 到本仓库 `main`
4. Argo CD 同步本仓库中的 `ircs-prod-core``ircs-prod-edge`
5. `ircs-prod-migrator` 保留为手动同步对象,避免迁移 Job 被镜像标签变化反复触发。
Current cutover state: ## 当前域名
- `ircs-prod-core`: Synced/Healthy. - `huawai.mnnu.eu.org` -> `ircs-portal-frontend:3000`
- `ircs-prod-edge`: Synced/Healthy. - `admin.mnnu.eu.org` -> `ircs-admin-frontend:80`
- `ircs-system/huawai-route` and `ircs-system/ircs-route`: removed.
- `ircs-system/kibana-route`: retained. 公网 TLS 由 Envoy Gateway 和基础设施处理,业务 Pod 内部不配置 TLS。
+1 -1
View File
@@ -9,7 +9,7 @@ metadata:
spec: spec:
project: default project: default
source: source:
repoURL: https://gitea.mnnu.eu.org/gitea-admin/ircs-prod-config.git repoURL: http://gitea-http.gitea.svc.cluster.local:3000/admin/ircs-prod-config.git
targetRevision: main targetRevision: main
path: ircs-prod/core path: ircs-prod/core
destination: destination:
+4 -1
View File
@@ -9,13 +9,16 @@ metadata:
spec: spec:
project: default project: default
source: source:
repoURL: https://gitea.mnnu.eu.org/gitea-admin/ircs-prod-config.git repoURL: http://gitea-http.gitea.svc.cluster.local:3000/admin/ircs-prod-config.git
targetRevision: main targetRevision: main
path: ircs-prod/edge-cutover path: ircs-prod/edge-cutover
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: ircs-prod namespace: ircs-prod
syncPolicy: syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- ServerSideApply=true - ServerSideApply=true
+1 -1
View File
@@ -9,7 +9,7 @@ metadata:
spec: spec:
project: default project: default
source: source:
repoURL: https://gitea.mnnu.eu.org/gitea-admin/ircs-prod-config.git repoURL: http://gitea-http.gitea.svc.cluster.local:3000/admin/ircs-prod-config.git
targetRevision: main targetRevision: main
path: ircs-prod/migration path: ircs-prod/migration
destination: destination:
+6
View File
@@ -0,0 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ircs-prod-core-application.yaml
- ircs-prod-edge-application.yaml
- ircs-prod-migrator-application.yaml
+10 -15
View File
@@ -1,22 +1,17 @@
# HTTPRoute cutover runbook # HTTPRoute cutover runbook
Current production domains are owned by `ircs-system` routes: 状态:历史记录
- `huawai.sophia.fr.eu.org` -> `ircs-system/huawai-svc:80` 当前 `mnnu.eu.org` 生产入口已由本仓库 `ircs-prod/edge-cutover/httproutes.yaml` 管理;本文只保留旧 `sophia` 域名切流思路,不再作为当前操作步骤。
- `ircs.sophia.fr.eu.org` -> `ircs-system/ircs-frontend-svc:80`
V3 production routes are declared under `ircs-prod/edge-cutover`: 当前生产域名:
- `huawai.sophia.fr.eu.org` -> `ircs-prod/ircs-frontend-gateway:80` - `huawai.mnnu.eu.org` -> `ircs-prod/ircs-portal-frontend:3000`
- `ircs.sophia.fr.eu.org` -> `ircs-prod/ircs-frontend-gateway:8080` - `admin.mnnu.eu.org` -> `ircs-prod/ircs-admin-frontend:80`
Cutover order: 当前 API 路由:
1. Confirm `ircs-prod` pods are Ready. - `huawai.mnnu.eu.org/api/backend``/api/portal``/media` -> `ircs-prod/ircs-portal-bff:8080`
2. Confirm cluster-internal portal/admin smoke is healthy. - `admin.mnnu.eu.org/api/v1``/media` -> `ircs-prod/ircs-admin-bff:8080`
3. Disable automated sync on old `argocd/ircs-app` so it does not recreate old routes.
4. Apply edge routes and delete old `ircs-system` business routes.
5. Verify Envoy Gateway accepts the new routes.
6. Verify external domains through the NLB/Cloudflare path.
Use `scripts/cutover-httproute.ps1 -Execute` from this repo root when ready. 切流或新增域名时,直接修改 `ircs-prod/edge-cutover/httproutes.yaml` 并提交本仓库,由 Argo CD 自动同步。
+10 -15
View File
@@ -1,20 +1,15 @@
# ircs-system to ircs-prod compatible data migration # ircs-prod data migration runbook
Goal: migrate old `ircs-system` business data into V3 `ircs-prod` while allowing incompatible runtime tables to be discarded. 状态:历史记录
Required order: 当前 `ircs-prod` 按新环境干净初始化,不迁移旧 `ircs-system` 业务数据。`ircs-prod-migrator` 仍保留在 `ircs-prod/migration/`,但由 Argo CD 手动同步,避免迁移 Job 自动反复执行。
1. Back up old `ircs-system` PostgreSQL. 如果未来确实需要导入旧数据,先新增一份独立迁移方案并明确:
2. Prepare `ircs-prod` secrets with `scripts/prepare-prod-secrets.ps1`.
3. Sync `ircs-prod-core` and wait for PostgreSQL, RabbitMQ, Valkey, Elasticsearch, services, and migrator.
4. Run `scripts/migrate-compatible-data.ps1` once without `-Execute` to compare table presence.
5. Run `scripts/migrate-compatible-data.ps1 -Execute -TruncateTarget` only when `ircs-prod` has no valuable data.
6. Rebuild search/index derived state through V3 ops runners after migration.
Migration policy: - 源库和目标库。
- 需要复制的业务表。
- 必须跳过的 runtime、audit、outbox、lock、Liquibase 表。
- 回滚方式。
- 迁移前后只读校验 SQL。
- Copy compatible V1 business tables only. 不要直接复用旧 `ircs-system` 兼容迁移脚本作为生产操作入口。
- Do not copy `databasechangelog` or `databasechangeloglock`.
- Do not copy V3 derived audit/outbox/maintenance tables.
- If a table or column becomes incompatible, prefer explicit table-level skip plus a written note over silent lossy conversion.
- Existing R2 bucket remains `ircs` so historical media URLs stay valid.
+1 -1
View File
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: Namespace kind: Namespace
metadata: metadata:
name: ircs-prod name: ircs-prod
+1 -1
View File
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: ircs-prod-app-config name: ircs-prod-app-config
+1 -1
View File
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: ResourceQuota kind: ResourceQuota
metadata: metadata:
name: ircs-prod-quota name: ircs-prod-quota
+1 -2
View File
@@ -1,4 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- 00-namespace.yaml - 00-namespace.yaml
@@ -29,4 +29,3 @@ resources:
- manifests/storage-service.yaml - manifests/storage-service.yaml
- manifests/task-service.yaml - manifests/task-service.yaml
- manifests/valkey.yaml - manifests/valkey.yaml
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-aggregation-worker@sha256:659fd4e8e59dde4263b9710c5edd132e34d656aa9b58fe489ae1cac83fb28c14 image: registry.mnnu.eu.org/ircs/ircs-aggregation-worker:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -99,4 +99,3 @@ spec:
limits: limits:
cpu: 250m cpu: 250m
memory: 512Mi memory: 512Mi
@@ -22,10 +22,10 @@ spec:
environment: prod environment: prod
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-catalog-service@sha256:c460196c3fba553431fb0642d22995f389577628dee445e1397dcd5e7e8b4dc0 image: registry.mnnu.eu.org/ircs/ircs-catalog-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -99,4 +99,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
+2 -3
View File
@@ -22,10 +22,10 @@ spec:
environment: prod environment: prod
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-config-service@sha256:f09efcc3c57412ef4a5c879a93a67ce00aa022ef4178ba73ac757434b3f77a76 image: registry.mnnu.eu.org/ircs/ircs-config-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -107,4 +107,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
@@ -22,10 +22,10 @@ spec:
environment: prod environment: prod
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-content-service@sha256:b0761d6b17f95b87528e494b23bc4c09e8fee5dc0917724809d1108223f32bf0 image: registry.mnnu.eu.org/ircs/ircs-content-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -125,4 +125,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
@@ -22,10 +22,10 @@ spec:
environment: prod environment: prod
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-credential-service@sha256:749095ecaad722df22b593163bc1ed643861592a4160384b7365e6337a7741d8 image: registry.mnnu.eu.org/ircs/ircs-credential-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -110,4 +110,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
+4 -4
View File
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: elasticsearch-svc name: elasticsearch-svc
@@ -40,7 +40,6 @@ spec:
type: RollingUpdate type: RollingUpdate
rollingUpdate: rollingUpdate:
partition: 0 partition: 0
maxUnavailable: 1
selector: selector:
matchLabels: matchLabels:
app: elasticsearch app: elasticsearch
@@ -54,7 +53,9 @@ spec:
dnsPolicy: ClusterFirst dnsPolicy: ClusterFirst
restartPolicy: Always restartPolicy: Always
schedulerName: default-scheduler schedulerName: default-scheduler
securityContext: {} securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
initContainers: initContainers:
- name: install-plugins - name: install-plugins
@@ -173,4 +174,3 @@ spec:
resources: resources:
requests: requests:
storage: 5Gi storage: 5Gi
+4 -5
View File
@@ -27,10 +27,10 @@ spec:
ircs.prodigalgal.com/config-version: "bff-prod-targets-20260614-1" ircs.prodigalgal.com/config-version: "bff-prod-targets-20260614-1"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-portal-bff@sha256:4d3f2b8115635b111ec14cf5ac501707eb29b207487ce2317db117032b939e56 image: registry.mnnu.eu.org/ircs/ircs-portal-bff:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -140,10 +140,10 @@ spec:
ircs.prodigalgal.com/config-version: "bff-prod-targets-20260614-1" ircs.prodigalgal.com/config-version: "bff-prod-targets-20260614-1"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-admin-bff@sha256:e043f6a537aea4e02572e93766212bf4dc4465359ed1dbd255ae5b365fc9ca23 image: registry.mnnu.eu.org/ircs/ircs-admin-bff:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -232,4 +232,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: ircs-frontend-gateway-nginx name: ircs-frontend-gateway-nginx
@@ -308,10 +308,10 @@ spec:
ircs.prodigalgal.com/config-version: "bff-20260606-1" ircs.prodigalgal.com/config-version: "bff-20260606-1"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: huawai - name: huawai
image: harbor.mnnu.eu.org/ircs/huawai@sha256:a411c3498cd2871093953b570616a6e89b3f0d1621308e175692dffd109b2751 image: registry.mnnu.eu.org/ircs/ircs-huawai-frontend:sha-fbd4430f6682
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -369,10 +369,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: ircs-admin-frontend - name: ircs-admin-frontend
image: harbor.mnnu.eu.org/ircs/ircs-frontend@sha256:132b7d3bb073734ab8072769521e94885b25f8e9e319253e7c1c433d87c91302 image: registry.mnnu.eu.org/ircs/ircs-admin-frontend:sha-7a74ebb402ab
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -465,4 +465,3 @@ spec:
- name: nginx-config - name: nginx-config
configMap: configMap:
name: ircs-frontend-gateway-nginx name: ircs-frontend-gateway-nginx
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-identity-service@sha256:f055eeda67241fffde05adcd90904a9f92000910a182401c6f1f375f09db0777 image: registry.mnnu.eu.org/ircs/ircs-identity-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -146,4 +146,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-ingestion-worker@sha256:600b2f614b204a01d0dfd6565e87619f73bd5bc136f58ee92d12dee24c77ed8d image: registry.mnnu.eu.org/ircs/ircs-ingestion-worker:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -93,4 +93,3 @@ spec:
limits: limits:
cpu: 250m cpu: 250m
memory: 512Mi memory: 512Mi
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-interaction-service@sha256:77477b1dd77eb41752d8971c5a961b3903c44d87d74b34017f682c07fd52b7a4 image: registry.mnnu.eu.org/ircs/ircs-interaction-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -118,4 +118,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
+2 -3
View File
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-magnet-service@sha256:88783970566a3f9aa2667fe6001af5f9ccc3882d965f425d715cf4b0f4146bb0 image: registry.mnnu.eu.org/ircs/ircs-magnet-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -103,4 +103,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
@@ -22,10 +22,10 @@ spec:
environment: prod environment: prod
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-metadata-worker@sha256:c8389f1bd63d7d9b663ff434ed90bb87e2dfd6caa735148c6521b6eb44ea3189 image: registry.mnnu.eu.org/ircs/ircs-metadata-worker:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -113,4 +113,3 @@ spec:
limits: limits:
cpu: 250m cpu: 250m
memory: 512Mi memory: 512Mi
@@ -1,53 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: ircs-migrator
namespace: ircs-prod
labels:
app: ircs-migrator
app.kubernetes.io/part-of: ircs
environment: prod
spec:
backoffLimit: 0
ttlSecondsAfterFinished: 300
template:
metadata:
labels:
app: ircs-migrator
app.kubernetes.io/part-of: ircs
environment: prod
spec:
restartPolicy: Never
imagePullSecrets:
- name: harbor-secret
containers:
- name: migrator
image: harbor.mnnu.eu.org/ircs/ircs-migrator@sha256:64223fa99f7c2793b0145cc539bafa4b0c70fa3cc0af0e9059a2fed3bf7a2437
imagePullPolicy: IfNotPresent
env:
- name: SPRING_DATASOURCE_URL
valueFrom:
configMapKeyRef:
name: ircs-prod-app-config
key: DB_URL
- name: SPRING_DATASOURCE_USERNAME
value: postgres
- name: SPRING_DATASOURCE_PASSWORD
valueFrom:
secretKeyRef:
name: ircs-prod-secrets
key: DB_PASSWORD
- name: SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE
value: "2"
- name: SPRING_DATASOURCE_HIKARI_MINIMUM_IDLE
value: "0"
- name: SPRING_DATASOURCE_HIKARI_IDLE_TIMEOUT
value: "30000"
resources:
requests:
cpu: 25m
memory: 128Mi
limits:
cpu: 250m
memory: 512Mi
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-normalization-worker@sha256:1f82b17374a8c3e2307bbdd406a106587b5bacc28db4a3e6386a435fbcd8d697 image: registry.mnnu.eu.org/ircs/ircs-normalization-worker:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -124,4 +124,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
@@ -22,10 +22,10 @@ spec:
environment: prod environment: prod
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-notification-worker@sha256:46f41e02c0c76de3e1497ad1c1eaf554f72e0f6a47dfc3a56c798c5e6fc4cf82 image: registry.mnnu.eu.org/ircs/ircs-notification-worker:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -135,4 +135,3 @@ spec:
limits: limits:
cpu: 250m cpu: 250m
memory: 512Mi memory: 512Mi
@@ -1,4 +1,4 @@
apiVersion: monitoring.coreos.com/v1 apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: ircs-prod-service-monitor name: ircs-prod-service-monitor
@@ -67,4 +67,3 @@ spec:
interval: 30s interval: 30s
scrapeTimeout: 10s scrapeTimeout: 10s
honorLabels: true honorLabels: true
+2 -3
View File
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-ops-service@sha256:12bf1e9983f92145f318ad370370ef7ae27fdb68cd3f05c72b281cac94e761ce image: registry.mnnu.eu.org/ircs/ircs-ops-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -138,4 +138,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
+2 -3
View File
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-portal-service@sha256:c4270d97a20098164c5b68cec1fcad99a4e56f99f1493aa78683afd5395bb33e image: registry.mnnu.eu.org/ircs/ircs-portal-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -116,4 +116,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
+1 -3
View File
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: postgres-svc name: postgres-svc
@@ -37,7 +37,6 @@ spec:
type: RollingUpdate type: RollingUpdate
rollingUpdate: rollingUpdate:
partition: 0 partition: 0
maxUnavailable: 1
selector: selector:
matchLabels: matchLabels:
app: postgres app: postgres
@@ -121,4 +120,3 @@ spec:
resources: resources:
requests: requests:
storage: 2Gi storage: 2Gi
+1 -3
View File
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: rabbitmq-svc name: rabbitmq-svc
@@ -40,7 +40,6 @@ spec:
type: RollingUpdate type: RollingUpdate
rollingUpdate: rollingUpdate:
partition: 0 partition: 0
maxUnavailable: 1
selector: selector:
matchLabels: matchLabels:
app: rabbitmq app: rabbitmq
@@ -123,4 +122,3 @@ spec:
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-scraper-service@sha256:2a48db6d3df769248bf174129c534361be1303e1d7d7a87b973504ba29b82731 image: registry.mnnu.eu.org/ircs/ircs-scraper-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -130,4 +130,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
+2 -3
View File
@@ -22,10 +22,10 @@ spec:
environment: prod environment: prod
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-search-service@sha256:a7d4173655f20e7796b46bbc0cfe940c178d8f970d8b55f0b43e3f8b4e6fcfbf image: registry.mnnu.eu.org/ircs/ircs-search-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -146,4 +146,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
@@ -22,10 +22,10 @@ spec:
environment: prod environment: prod
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-storage-service@sha256:df6bfcdeb3a285e8b3842b0c0d99da2312b8f755c5fb1f49d35b0ccac8369749 image: registry.mnnu.eu.org/ircs/ircs-storage-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -144,4 +144,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
+2 -3
View File
@@ -24,10 +24,10 @@ spec:
ircs.prodigalgal.com/no-public-route: "true" ircs.prodigalgal.com/no-public-route: "true"
spec: spec:
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: app - name: app
image: harbor.mnnu.eu.org/ircs/ircs-task-service@sha256:b1897407cca7efa0223e0beceb0e03826940d7f694e2b5d7071f8b3ddba4ed5b image: registry.mnnu.eu.org/ircs/ircs-task-service:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- name: http - name: http
@@ -149,4 +149,3 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: http targetPort: http
+1 -2
View File
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: valkey-svc name: valkey-svc
@@ -74,4 +74,3 @@ spec:
limits: limits:
cpu: 250m cpu: 250m
memory: 256Mi memory: 256Mi
+101 -14
View File
@@ -1,4 +1,32 @@
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: huawai-http-redirect
namespace: ircs-prod
labels:
app.kubernetes.io/part-of: ircs
environment: prod
spec:
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: mnnu-gateway
namespace: gateway-system
sectionName: http
hostnames:
- huawai.mnnu.eu.org
rules:
- matches:
- path:
type: PathPrefix
value: /
filters:
- type: RequestRedirect
requestRedirect:
scheme: https
statusCode: 301
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: huawai-route name: huawai-route
@@ -7,14 +35,31 @@ metadata:
app.kubernetes.io/part-of: ircs app.kubernetes.io/part-of: ircs
environment: prod environment: prod
spec: spec:
hostnames:
- huawai.sophia.fr.eu.org
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
kind: Gateway kind: Gateway
name: production-gateway name: mnnu-gateway
namespace: envoy-gateway-system namespace: gateway-system
sectionName: https
hostnames:
- huawai.mnnu.eu.org
rules: rules:
- matches:
- path:
type: PathPrefix
value: /api/backend
- path:
type: PathPrefix
value: /api/portal
- path:
type: PathPrefix
value: /media
backendRefs:
- group: ""
kind: Service
name: ircs-portal-bff
port: 8080
weight: 1
- matches: - matches:
- path: - path:
type: PathPrefix type: PathPrefix
@@ -22,27 +67,69 @@ spec:
backendRefs: backendRefs:
- group: "" - group: ""
kind: Service kind: Service
name: ircs-frontend-gateway name: ircs-portal-frontend
port: 80 port: 3000
weight: 1 weight: 1
--- ---
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: ircs-route name: admin-http-redirect
namespace: ircs-prod namespace: ircs-prod
labels: labels:
app.kubernetes.io/part-of: ircs app.kubernetes.io/part-of: ircs
environment: prod environment: prod
spec: spec:
hostnames:
- ircs.sophia.fr.eu.org
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
kind: Gateway kind: Gateway
name: production-gateway name: mnnu-gateway
namespace: envoy-gateway-system namespace: gateway-system
sectionName: http
hostnames:
- admin.mnnu.eu.org
rules: rules:
- matches:
- path:
type: PathPrefix
value: /
filters:
- type: RequestRedirect
requestRedirect:
scheme: https
statusCode: 301
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: admin-route
namespace: ircs-prod
labels:
app.kubernetes.io/part-of: ircs
environment: prod
spec:
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: mnnu-gateway
namespace: gateway-system
sectionName: https
hostnames:
- admin.mnnu.eu.org
rules:
- matches:
- path:
type: PathPrefix
value: /api/v1
- path:
type: PathPrefix
value: /media
backendRefs:
- group: ""
kind: Service
name: ircs-admin-bff
port: 8080
weight: 1
- matches: - matches:
- path: - path:
type: PathPrefix type: PathPrefix
@@ -50,6 +137,6 @@ spec:
backendRefs: backendRefs:
- group: "" - group: ""
kind: Service kind: Service
name: ircs-frontend-gateway name: ircs-admin-frontend
port: 8080 port: 80
weight: 1 weight: 1
+1 -2
View File
@@ -1,5 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- httproutes.yaml - httproutes.yaml
+2 -3
View File
@@ -9,7 +9,6 @@ metadata:
environment: prod environment: prod
spec: spec:
backoffLimit: 0 backoffLimit: 0
ttlSecondsAfterFinished: 300
template: template:
metadata: metadata:
labels: labels:
@@ -19,10 +18,10 @@ spec:
spec: spec:
restartPolicy: Never restartPolicy: Never
imagePullSecrets: imagePullSecrets:
- name: harbor-secret - name: registry-secret
containers: containers:
- name: migrator - name: migrator
image: harbor.mnnu.eu.org/ircs/ircs-migrator@sha256:64223fa99f7c2793b0145cc539bafa4b0c70fa3cc0af0e9059a2fed3bf7a2437 image: registry.mnnu.eu.org/ircs/ircs-migrator:sha-de9957f9ced5
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: env:
- name: SPRING_DATASOURCE_URL - name: SPRING_DATASOURCE_URL