feat: 声明 PikaOA 独立测试数据库
This commit is contained in:
@@ -10,6 +10,7 @@ metadata:
|
||||
- 281
|
||||
- 297
|
||||
- 300
|
||||
- 2078
|
||||
|
||||
cluster:
|
||||
role: primary
|
||||
@@ -374,6 +375,16 @@ postgres:
|
||||
user: pikaoa
|
||||
address: 152.53.229.148/32
|
||||
method: scram-sha-256
|
||||
- type: hostssl
|
||||
database: pikaoa_test
|
||||
user: pikaoa_test
|
||||
address: 10.0.8.0/22
|
||||
method: scram-sha-256
|
||||
- type: hostssl
|
||||
database: pikaoa_test
|
||||
user: pikaoa_test
|
||||
address: 152.53.229.148/32
|
||||
method: scram-sha-256
|
||||
|
||||
secrets:
|
||||
source: master-local
|
||||
@@ -491,6 +502,20 @@ secrets:
|
||||
PIKAOA_DB_NAME: pikaoa
|
||||
randomHex:
|
||||
PIKAOA_DB_PASSWORD: 32
|
||||
- name: pikaoa-test-db-credentials
|
||||
sourceRef: platform-db/pikaoa-test-db.env
|
||||
type: env
|
||||
requiredKeys:
|
||||
- PIKAOA_TEST_DB_USER
|
||||
- PIKAOA_TEST_DB_PASSWORD
|
||||
- PIKAOA_TEST_DB_NAME
|
||||
createIfMissing:
|
||||
enabled: true
|
||||
values:
|
||||
PIKAOA_TEST_DB_USER: pikaoa_test
|
||||
PIKAOA_TEST_DB_NAME: pikaoa_test
|
||||
randomHex:
|
||||
PIKAOA_TEST_DB_PASSWORD: 32
|
||||
objects:
|
||||
roles:
|
||||
- name: sub2api
|
||||
@@ -565,6 +590,15 @@ objects:
|
||||
createdb: false
|
||||
createrole: false
|
||||
superuser: false
|
||||
- name: pikaoa_test
|
||||
passwordRef:
|
||||
sourceRef: platform-db/pikaoa-test-db.env
|
||||
key: PIKAOA_TEST_DB_PASSWORD
|
||||
login: true
|
||||
attributes:
|
||||
createdb: false
|
||||
createrole: false
|
||||
superuser: false
|
||||
databases:
|
||||
- name: sub2api
|
||||
owner: sub2api
|
||||
@@ -606,6 +640,11 @@ objects:
|
||||
encoding: UTF8
|
||||
locale: C.UTF-8
|
||||
extensions: []
|
||||
- name: pikaoa_test
|
||||
owner: pikaoa_test
|
||||
encoding: UTF8
|
||||
locale: C.UTF-8
|
||||
extensions: []
|
||||
|
||||
exports:
|
||||
connectionStrings:
|
||||
@@ -764,6 +803,22 @@ exports:
|
||||
- scope: pikaoa
|
||||
secret: pikaoa-runtime
|
||||
key: DATABASE_URL
|
||||
- name: pikaoa-test-database-url
|
||||
sourceSecretRef: platform-db/pikaoa-test-db.env
|
||||
render:
|
||||
envKey: DATABASE_URL
|
||||
format: postgresql://$(PIKAOA_TEST_DB_USER):$(PIKAOA_TEST_DB_PASSWORD)@$(PGHOST):$(PGPORT)/$(PIKAOA_TEST_DB_NAME)?sslmode=require
|
||||
variables:
|
||||
PGHOST: 82.156.23.220
|
||||
PGPORT: "5432"
|
||||
writeToSecretSource:
|
||||
sourceRef: platform-infra/pikaoa-test.env
|
||||
key: DATABASE_URL
|
||||
mode: update-or-insert
|
||||
consumers:
|
||||
- scope: pikaoa-test
|
||||
secret: pikaoa-test-runtime
|
||||
key: DATABASE_URL
|
||||
|
||||
backup:
|
||||
phase: minimum-restoreable
|
||||
@@ -812,6 +867,9 @@ observability:
|
||||
- kind: psql-app-role
|
||||
database: pikaoa
|
||||
user: pikaoa
|
||||
- kind: psql-app-role
|
||||
database: pikaoa_test
|
||||
user: pikaoa_test
|
||||
- kind: disk-free
|
||||
path: /var/lib/postgresql/16/main
|
||||
minFreeGiB: 10
|
||||
|
||||
+15
-14
@@ -1113,27 +1113,28 @@ function compactPlan(
|
||||
transport: pg.postgres.network.transport,
|
||||
sslmode: pg.postgres.network.sslmode,
|
||||
},
|
||||
roles: pg.objects.roles.map((role) => ({
|
||||
roles: compactActionableSummary(pg.objects.roles.map((role) => ({
|
||||
name: role.name,
|
||||
exists: observedRoles.find((item) => item.name === role.name)?.exists ?? null,
|
||||
action: observedRoles.some((item) => item.name === role.name && item.exists) ? "none" : "create-or-update",
|
||||
})),
|
||||
databases: pg.objects.databases.map((database) => ({
|
||||
})), {
|
||||
passed: (item) => item.action === "none",
|
||||
missing: (item) => item.exists !== true,
|
||||
actionable: (item) => item.action !== "none",
|
||||
project: (item) => item,
|
||||
}),
|
||||
databases: compactActionableSummary(pg.objects.databases.map((database) => ({
|
||||
name: database.name,
|
||||
owner: database.owner,
|
||||
exists: observedDatabases.find((item) => item.name === database.name)?.exists ?? null,
|
||||
action: observedDatabases.some((item) => item.name === database.name && item.exists) ? "none" : "create",
|
||||
})),
|
||||
secrets: {
|
||||
ok: secrets.ok,
|
||||
root: secrets.root,
|
||||
entries: secrets.entries.map((entry) => ({
|
||||
sourceRef: entry.sourceRef,
|
||||
missingKeys: entry.missingKeys,
|
||||
action: entry.action,
|
||||
})),
|
||||
valuesPrinted: false,
|
||||
},
|
||||
})), {
|
||||
passed: (item) => item.action === "none",
|
||||
missing: (item) => item.exists !== true,
|
||||
actionable: (item) => item.action !== "none",
|
||||
project: (item) => item,
|
||||
}),
|
||||
secrets: compactSecretInspection(secrets),
|
||||
exports: pg.exports.connectionStrings.map((item) => ({
|
||||
name: item.name,
|
||||
sourceRef: item.sourceSecretRef,
|
||||
|
||||
Reference in New Issue
Block a user