Files
apix-mvp/.env.example
T
Carsten Rehfeld 82a379e536
Deploy to Production / deploy (push) Failing after 47s
feat(admin): apix-admin UI at admin.api-index.org
Internal maintainer dashboard: global stats, sandbox list with
tier-filter and pagination, sandbox drill-down with D3 world map,
tier-promotion form. API-key auth via HttpOnly cookie. Port 8084,
rolling a/b deploy alongside the existing service pairs.

- apix-common: AdminSandboxSummary, AdminSandboxListResponse, AdminStatsResponse DTOs
- apix-registry: AdminResource (4 endpoints), SandboxService.listAllSandboxes + getGlobalStats
- apix-registry: SandboxResource GET /{uuid}/dashboard endpoint (was missing — fixes portal 500)
- apix-portal: RegistryClient path corrected to /dashboard
- apix-admin: new Quarkus module — auth filter, registry REST client, 3 resources, 6 Qute templates, admin.js
- infra: Dockerfile.admin, docker-compose admin-a/b services, Caddyfile admin.api-index.org block
- scripts: deploy-bluegreen.sh extended for admin-a/b

Co-Authored-By: Mira Rehfeld <noreply@anthropic.com>
2026-05-16 21:18:48 +02:00

44 lines
2.4 KiB
Bash

# APIX local development environment
# Copy to .env and adjust values before running setup-dev.sh.
# NEVER commit .env to version control.
# ── Database ──────────────────────────────────────────────────────────────────
APIX_DB_USER=apix
APIX_DB_PASSWORD=apix
APIX_DB_NAME=apix
APIX_DB_PORT=5432
# Quarkus datasource (consumed by apix-registry and apix-spider)
QUARKUS_DATASOURCE_JDBC_URL=jdbc:postgresql://localhost:5432/apix
QUARKUS_DATASOURCE_USERNAME=apix
QUARKUS_DATASOURCE_PASSWORD=apix
# ── API security ──────────────────────────────────────────────────────────────
# Protects write endpoints (POST /api/register, etc.)
# Change to a random string in any non-local environment.
APIX_API_KEY=dev-insecure-key-change-in-prod
# ── External APIs (optional in local dev — leave blank to disable) ─────────────
GLEIF_API_URL=https://api.gleif.org/api/v1
OPENCORPORATES_API_KEY=
# Path where the spider caches downloaded sanctions lists
SANCTIONS_CACHE_PATH=./sanctions-cache
# ── Spider ────────────────────────────────────────────────────────────────────
# Check interval in minutes (2 = dev, 15 = prod)
SPIDER_INTERVAL_MINUTES=2
# ── Portal → Registry ─────────────────────────────────────────────────────────
REGISTRY_BASE_URL=http://localhost:8180
# ── Logging ───────────────────────────────────────────────────────────────────
# DEBUG in dev; INFO in prod
LOG_LEVEL=DEBUG
# ── Observability ─────────────────────────────────────────────────────────────
# Grafana admin password. Change in any non-local environment.
GRAFANA_ADMIN_PASSWORD=admin
# Set to your public domain in production, e.g. https://grafana.api-index.org
GRAFANA_ROOT_URL=http://localhost:3000