Initial commit: stateful OpenStack API laboratory simulator.

Ship Keystone auth, multi-service handlers (Yoga→Dalmatian), Compose/Helm
packaging, API contract packs, and pytest/Pulumi coverage labs.
This commit is contained in:
2026-07-18 04:26:48 +03:00
commit 6033967e6a
509 changed files with 464404 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
APP_HOST=0.0.0.0
# Internal uvicorn port (not published). Public OpenStack ports are on api-gateway.
APP_PORT=8080
DATABASE_URL=postgresql://openstack:openstack@postgres:5432/openstack_simulator
TEST_DATABASE_URL=postgresql://openstack:openstack@postgres:5432/openstack_simulator
DB_POOL_MIN_SIZE=1
DB_POOL_MAX_SIZE=10
DB_CONNECT_TIMEOUT_SECONDS=10
DB_COMMAND_TIMEOUT_SECONDS=30
LOG_LEVEL=INFO
REQUEST_ID_HEADER=X-Request-ID
OPENSTACK_SERIES=dalmatian
# Leave CONTRACT_SNAPSHOT unset for OpenStack-only mode.
# CONTRACT_SNAPSHOT=
# COMPATIBILITY_EVIDENCE=
CONTRACT_FALLBACK=error
CATALOG_ARTIFACT_URL_6=stub://openstack/yoga/api-contract
CATALOG_ARTIFACT_URL_7=stub://openstack/antelope/api-contract
CATALOG_ARTIFACT_URL_8=stub://openstack/caracal/api-contract
CATALOG_ARTIFACT_URL_9=stub://openstack/dalmatian/api-contract
TICKET_SIGNING_KEY=development-only-signing-key-change-me
TASK_WORKER_CONCURRENCY=2
TASK_LEASE_SECONDS=30
SIMULATION_SEED=42
SIMULATION_TIME_SCALE=10
SEED_PROFILE=minimal
OS_PASSWORD=secret
SIMULATOR_ADMIN_ENABLED=false
SIMULATOR_ADMIN_TOKEN=replace-with-a-long-random-secret