Files
2026-05-19 14:53:37 +02:00

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)

  1. Terraform provisions a VM from Proxmox template debian12-tf-template.
  2. Docker Compose is used to deploy the platform on that VM.
  3. HAProxy handles routing for API and frontends (TLS enabled).
  4. Healthcheck confirms readiness via: https://<domain>.wolkabout.com/api/infos/server
  5. 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
  • .env
  • bring-up.md
  • healthcheck.sh
  • config/ (wolk config YAMLs + firebase JSON)
  • haproxy_config/ (haproxy.cfg + options.http)
  • ssl/2026-SSL-WA-full.pem
  • custom-assets/federation.manifest.json
  • whiteLabeling/ (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:150
  • 629307322585.dkr.ecr.eu-west-1.amazonaws.com/wolkabout:cloudconfig-22.8.2
  • 629307322585.dkr.ecr.eu-west-1.amazonaws.com/wolkabout:wafels-112.federation-poc-1
  • 629307322585.dkr.ecr.eu-west-1.amazonaws.com/wolkabout:frontend-federated
  • 629307322585.dkr.ecr.eu-west-1.amazonaws.com/utils-http2amqp:151
  • 629307322585.dkr.ecr.eu-west-1.amazonaws.com/utils-mqtt2amqp:151
  • 629307322585.dkr.ecr.eu-west-1.amazonaws.com/wolkabout:mqtt_ws
  • rabbitmq:4.1-management-alpine
  • grafana/loki:3.4.1
  • haproxy:2.6

Known dependencies:

  • MySQL: 10.0.50.157:3306 (schema swarm, user wolk, pass Test1234)
  • Cassandra: 10.0.50.163 (keyspace swarm)

Healthcheck

Use healthcheck.sh to verify readiness:

  • https://<domain>.wolkabout.com/api/infos/server
  • Expects HTTP 200 and JSON with organization key.

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.