Files
cloudlysis/README.md
Vlad Durnea 2595e7f1c5
Some checks failed
ci / ui (push) Failing after 28s
ci / rust (push) Failing after 2m40s
images / build-and-push (push) Failing after 19s
feat(billing): implement tenant subscription entitlements system (milestones 0-6)
2026-03-30 18:41:23 +03:00

2.3 KiB

Cloudlysis (monorepo)

Production-oriented, multi-service Rust workspace with an operator-facing Control Plane (API + Admin UI), S3-backed document storage, and an optional observability stack for local parity.

Quickstart (local dev)

Core stack (includes MinIO + MailHog + Control Plane):

docker compose up -d --build

Full local stack with observability (Grafana/Loki/Tempo/VictoriaMetrics):

docker compose --profile observability up -d --build

Full local stack + Loki/Tempo using MinIO (S3 mode):

docker compose -f docker-compose.yml -f observability/docker-compose.s3.yml --profile observability up -d --build

Local endpoints

  • Control UI: http://localhost:8082
  • Control API: http://localhost:38080
  • Grafana (observability profile): http://localhost:3000
  • MailHog UI: http://localhost:8025 (SMTP on localhost:1025)
  • MinIO console: http://localhost:9001 (S3 API on localhost:9000)

Repository layout (high level)

  • Rust services (Cargo workspace): aggregate/, gateway/, projection/, runner/, control/api/, shared/
  • Admin UI: control/ui/
  • Docker / Swarm / Compose: docker/, docker-compose.yml, swarm/, observability/

Production (overview)

  • Control plane Swarm stack: swarm/stacks/control-plane-prod.yml
  • S3 docs buckets: CONTROL_S3_BUCKET_DOCS supports a comma-separated shard set (e.g. cloudlysis-docs-0,cloudlysis-docs-1,cloudlysis-docs-2). Bucket selection is deterministic per-tenant; keep the full shard set stable to avoid remapping tenants.
  • S3 provisioning helpers (idempotent scripts; CI/CD friendly):
    • docker/scripts/s3_create_docs_bucket.sh
    • docker/scripts/s3_apply_lifecycle_docs.sh
    • docker/scripts/s3_verify_docs.sh
    • Gitea Actions workflow: .gitea/workflows/s3-provision.yml

Docs

  • Docker / local dev / Swarm: DOCKER.md
  • Developer docs: docs/developer/setup.md, docs/developer/testing.md
  • Architecture: docs/architecture/overview.md, docs/architecture/transport.md
  • Usage: docs/usage/quickstart.md, docs/usage/api.md, docs/usage/nats.md

Workspace verification

cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cd control/ui && npm ci && npm run lint && npm run typecheck && npm run test && npm run build