Add compatibility matrix fixture execution

Run package test jobs across every selected provider combination with isolated lane state, released-image canaries, controlled OIDC DNS, and deterministic cleanup.
This commit is contained in:
ms2k 2026-07-16 05:39:51 +09:00
commit 20ea9557fd

View file

@ -2,12 +2,14 @@ apiVersion: v1
kind: Namespace
metadata:
name: remora-testbed
labels: {fixture.remora.dev/component: common}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-init
namespace: remora-testbed
labels: {fixture.remora.dev/component: postgres}
data:
01-keycloak.sql: |
CREATE USER keycloak WITH PASSWORD 'synthetic-keycloak-db';
@ -18,8 +20,9 @@ kind: Deployment
metadata:
name: postgres
namespace: remora-testbed
labels: {fixture.remora.dev/component: postgres}
spec:
replicas: 1
replicas: @@POSTGRES_REPLICAS@@
selector:
matchLabels: {app: postgres}
template:
@ -59,6 +62,7 @@ kind: Service
metadata:
name: postgres
namespace: remora-testbed
labels: {fixture.remora.dev/component: postgres}
spec:
selector: {app: postgres}
ports:
@ -69,8 +73,9 @@ kind: Deployment
metadata:
name: redis
namespace: remora-testbed
labels: {fixture.remora.dev/component: redis}
spec:
replicas: 1
replicas: @@REDIS_REPLICAS@@
selector:
matchLabels: {app: redis}
template:
@ -99,6 +104,7 @@ kind: Service
metadata:
name: redis
namespace: remora-testbed
labels: {fixture.remora.dev/component: redis}
spec:
selector: {app: redis}
ports:
@ -109,8 +115,9 @@ kind: Deployment
metadata:
name: dragonfly
namespace: remora-testbed
labels: {fixture.remora.dev/component: dragonfly}
spec:
replicas: 1
replicas: @@DRAGONFLY_REPLICAS@@
selector:
matchLabels: {app: dragonfly}
template:
@ -138,6 +145,7 @@ kind: Service
metadata:
name: dragonfly
namespace: remora-testbed
labels: {fixture.remora.dev/component: dragonfly}
spec:
selector: {app: dragonfly}
ports:
@ -148,8 +156,9 @@ kind: Deployment
metadata:
name: vault
namespace: remora-testbed
labels: {fixture.remora.dev/component: vault}
spec:
replicas: 1
replicas: @@VAULT_REPLICAS@@
selector:
matchLabels: {app: vault}
template:
@ -182,6 +191,7 @@ kind: Service
metadata:
name: vault
namespace: remora-testbed
labels: {fixture.remora.dev/component: vault}
spec:
selector: {app: vault}
ports:
@ -192,8 +202,9 @@ kind: Deployment
metadata:
name: keycloak
namespace: remora-testbed
labels: {fixture.remora.dev/component: keycloak}
spec:
replicas: 1
replicas: @@KEYCLOAK_REPLICAS@@
selector:
matchLabels: {app: keycloak}
template:
@ -230,6 +241,7 @@ kind: Service
metadata:
name: keycloak
namespace: remora-testbed
labels: {fixture.remora.dev/component: keycloak}
spec:
clusterIP: 10.96.0.55
selector: {app: keycloak}
@ -241,8 +253,9 @@ kind: Deployment
metadata:
name: zitadel
namespace: remora-testbed
labels: {fixture.remora.dev/component: zitadel}
spec:
replicas: 1
replicas: @@ZITADEL_REPLICAS@@
selector:
matchLabels: {app: zitadel}
template:
@ -264,6 +277,10 @@ spec:
- {name: ZITADEL_EXTERNALPORT, value: "8080"}
- {name: ZITADEL_FIRSTINSTANCE_ORG_HUMAN_USERNAME, value: remora-admin}
- {name: ZITADEL_FIRSTINSTANCE_ORG_HUMAN_PASSWORD, value: Synthetic-Zitadel-1!}
- {name: ZITADEL_FIRSTINSTANCE_PATPATH, value: /bootstrap/admin.pat}
- {name: ZITADEL_FIRSTINSTANCE_ORG_MACHINE_MACHINE_USERNAME, value: fixture-admin}
- {name: ZITADEL_FIRSTINSTANCE_ORG_MACHINE_MACHINE_NAME, value: Fixture Admin}
- {name: ZITADEL_FIRSTINSTANCE_ORG_MACHINE_PAT_EXPIRATIONDATE, value: "2099-01-01T00:00:00Z"}
ports:
- {name: http, containerPort: 8080}
readinessProbe:
@ -277,12 +294,28 @@ spec:
resources:
requests: {cpu: 200m, memory: 512Mi}
limits: {cpu: "2", memory: 1Gi}
volumeMounts:
- {name: bootstrap, mountPath: /bootstrap}
- name: provisioner
image: @@CURL_IMAGE@@
imagePullPolicy: Never
command: [/bin/sh, -ec]
args: ["while :; do sleep 3600; done"]
resources:
requests: {cpu: 10m, memory: 16Mi}
limits: {cpu: "1", memory: 64Mi}
volumeMounts:
- {name: bootstrap, mountPath: /bootstrap, readOnly: true}
volumes:
- name: bootstrap
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: zitadel
namespace: remora-testbed
labels: {fixture.remora.dev/component: zitadel}
spec:
clusterIP: 10.96.0.56
selector: {app: zitadel}
@ -294,6 +327,7 @@ kind: ConfigMap
metadata:
name: garage-config
namespace: remora-testbed
labels: {fixture.remora.dev/component: garage}
data:
garage.toml: |
metadata_dir = "/data/meta"
@ -317,8 +351,9 @@ kind: Deployment
metadata:
name: garage
namespace: remora-testbed
labels: {fixture.remora.dev/component: garage}
spec:
replicas: 1
replicas: @@GARAGE_REPLICAS@@
selector:
matchLabels: {app: garage}
template:
@ -373,6 +408,7 @@ kind: Service
metadata:
name: garage
namespace: remora-testbed
labels: {fixture.remora.dev/component: garage}
spec:
selector: {app: garage}
ports:
@ -383,8 +419,9 @@ kind: Deployment
metadata:
name: versitygw
namespace: remora-testbed
labels: {fixture.remora.dev/component: versitygw}
spec:
replicas: 1
replicas: @@VERSITYGW_REPLICAS@@
selector:
matchLabels: {app: versitygw}
template:
@ -437,6 +474,7 @@ kind: Service
metadata:
name: versitygw
namespace: remora-testbed
labels: {fixture.remora.dev/component: versitygw}
spec:
selector: {app: versitygw}
ports:
@ -447,6 +485,7 @@ kind: ConfigMap
metadata:
name: controlled-dns
namespace: remora-testbed
labels: {fixture.remora.dev/component: controlled-dns}
data:
Corefile: |
.:53 {
@ -464,8 +503,9 @@ kind: Deployment
metadata:
name: controlled-dns
namespace: remora-testbed
labels: {fixture.remora.dev/component: controlled-dns}
spec:
replicas: 1
replicas: @@COREDNS_REPLICAS@@
selector:
matchLabels: {app: controlled-dns}
template:
@ -499,6 +539,7 @@ kind: Service
metadata:
name: controlled-dns
namespace: remora-testbed
labels: {fixture.remora.dev/component: controlled-dns}
spec:
clusterIP: 10.96.0.53
selector: {app: controlled-dns}