diff --git a/infrastructure/compose.quinn.yml b/infrastructure/compose.quinn.yml new file mode 100644 index 00000000..c34ac370 --- /dev/null +++ b/infrastructure/compose.quinn.yml @@ -0,0 +1,21 @@ +services: + quinn-db-quinn: + image: postgres:16-alpine + container_name: quinn-db-quinn + environment: + POSTGRES_DB: quinn + POSTGRES_USER: quinn + POSTGRES_PASSWORD: devpassword + ports: + - "25435:5432" + volumes: + - quinn-db-data:/var/lib/postgresql/data + - ../sql/quinn-db-init.sql:/docker-entrypoint-initdb.d/init.sql:ro + healthcheck: + test: ["CMD-SHELL", "pg_isready -U quinn -d quinn"] + interval: 5s + timeout: 3s + retries: 5 + +volumes: + quinn-db-data: diff --git a/infrastructure/pg-services.yml b/infrastructure/pg-services.yml new file mode 100644 index 00000000..91b1fe4c --- /dev/null +++ b/infrastructure/pg-services.yml @@ -0,0 +1,13 @@ +services: + quinn: + port: 25435 + db: quinn + user: quinn + init_sql: infrastructure/sql/quinn-db-init.sql + role: curated + icloud: + port: 25436 + db: quinn_icloud + user: quinn_icloud + init_sql: infrastructure/sql/quinn-icloud-init.sql + role: raw_sync diff --git a/render-pg-services.mjs b/render-pg-services.mjs new file mode 100644 index 00000000..e9e70bb9 --- /dev/null +++ b/render-pg-services.mjs @@ -0,0 +1,22 @@ +import { renderServices } from '/var/home/lilith/Code/@packages/@infra/pg-service-template/dist/render.js'; +import { resolve } from 'path'; + +const projectRoot = resolve('/var/home/lilith/Code/@projects/@lilith/lilith-platform.live'); +const manifestPath = resolve(projectRoot, 'infrastructure/pg-services.yml'); +const outputDir = resolve(projectRoot, 'infrastructure/generated'); + +try { + const result = await renderServices(manifestPath, outputDir, projectRoot); + + console.log('=== Env Entries ==='); + for (const entry of result.envEntries) { + console.log(`${entry.name}=${entry.value}`); + } + console.log('\n=== Compose Files ==='); + console.log('Generated in:', outputDir); + + process.exit(0); +} catch (error) { + console.error('Render failed:', error.message); + process.exit(1); +}