2.6 KiB
2.6 KiB
Codex Work Context (New Pipeline Experiment)
Goal
Create a simplified, stable pipeline that provisions a dynamic Integration/Atest environment via Terraform and deploys the platform using Docker Compose on a single-node VM. This is a PoC to validate the flow end-to-end.
Guiding Principles
- Keep everything basic and transparent. No hidden logic or magic variables.
- Prefer explicit, readable configuration over abstraction.
- Security hardening is not a priority at this stage.
- The goal is: it works, and it is easy to see why it works or fails.
Current Plan (High-Level)
- Terraform provisions a VM from Proxmox template
debian12-tf-template. - Docker Compose is used to deploy the platform on that VM.
- HAProxy handles routing for API and frontends (TLS enabled).
- Healthcheck confirms readiness via:
https://<domain>.wolkabout.com/api/infos/server - Tear down the VM after the run (if/when automated).
Compose Package Location
Prepared in:
/home/nikola/codex-cli/terraform-vm-docker
Contains:
docker-compose.yml.envbring-up.mdhealthcheck.shconfig/(wolk config YAMLs + firebase JSON)haproxy_config/(haproxy.cfg + options.http)ssl/2026-SSL-WA-full.pemcustom-assets/federation.manifest.jsonwhiteLabeling/(generated by backend on first successful start)
Runtime Assumptions (from existing Swarm setup)
Images in use:
629307322585.dkr.ecr.eu-west-1.amazonaws.com/mono-web:150629307322585.dkr.ecr.eu-west-1.amazonaws.com/wolkabout:cloudconfig-22.8.2629307322585.dkr.ecr.eu-west-1.amazonaws.com/wolkabout:wafels-112.federation-poc-1629307322585.dkr.ecr.eu-west-1.amazonaws.com/wolkabout:frontend-federated629307322585.dkr.ecr.eu-west-1.amazonaws.com/utils-http2amqp:151629307322585.dkr.ecr.eu-west-1.amazonaws.com/utils-mqtt2amqp:151629307322585.dkr.ecr.eu-west-1.amazonaws.com/wolkabout:mqtt_wsrabbitmq:4.1-management-alpinegrafana/loki:3.4.1haproxy:2.6
Known dependencies:
- MySQL:
10.0.50.157:3306(schemaswarm, userwolk, passTest1234) - Cassandra:
10.0.50.163(keyspaceswarm)
Healthcheck
Use healthcheck.sh to verify readiness:
https://<domain>.wolkabout.com/api/infos/server- Expects HTTP 200 and JSON with
organizationkey.
Networking
- Compose network name:
core-net - Single-node bridge network (no overlay)
- Ports exposed:
80,443,2883,8883,3100
Notes
- MQTT/HTTP2AMQP config mounts are present but commented in Compose.
- All secrets are kept inline for now to reduce moving parts.
- Debugging should be obvious from config + logs without additional tooling.