Observer integration step

This commit is contained in:
2026-10-23 10:20:58 -04:00
parent bd3d36a7e1
commit 216a419c0b
7 changed files with 161 additions and 45 deletions
+10 -1
View File
@@ -14,11 +14,20 @@ test('private pilot Compose stack is loopback-bound, isolated, and mock-only', a
assert.match(compose, /financial: \{internal: true\}/);
assert.match(compose, /pg-runtime:\/secrets\/runtime:ro/);
assert.doesNotMatch(compose, /POSTGRES_PASSWORD:\s|5432:5432/i);
assert.doesNotMatch(compose, /^\s+(?:monero|wallet-rpc|observer):/im);
assert.doesNotMatch(compose, /^\s+(?:monero|wallet-rpc):/im);
assert.match(compose, /daemon-check:\n\s+image: wikideck:private-pilot/);
assert.match(compose, /profiles: \["monero-check"\]/);
assert.match(compose, /scripts\/monero-daemon-check\.ts/);
assert.match(compose, /target: \/run\/monero\/daemon\.json\n\s+read_only: true/);
assert.match(compose, /pilot-observer:\n\s+image: wikideck:private-pilot\n\s+profiles: \["pilot-observer"\]/);
assert.match(compose, /scripts\/pilot-monero-observe-once\.ts/);
const observer = compose.split(' pilot-observer:')[1].split('\nnetworks:')[0];
assert.doesNotMatch(observer, /ports:|depends_on:|pg-runtime:|pg-admin:|pg-owner:/);
assert.match(observer, /pilot-observation-only-no-credit/);
assert.match(observer, /target: \/run\/secrets\/pilot-observer-db-url\n\s+read_only: true/);
assert.match(observer, /target: \/run\/secrets\/observer-client\.key\n\s+read_only: true/);
assert.match(observer, /networks: \[observer-egress\]/);
assert.match(observer, /restart: "no"/);
const database = compose.split(' database:')[1].split(' migrate:')[0];
assert.doesNotMatch(database, /ports:/);
const app = compose.split(' wikideck:')[1].split('networks:\n financial:')[0];