feat(billing): implement tenant subscription entitlements system (milestones 0-6)
Some checks failed
ci / ui (push) Failing after 28s
ci / rust (push) Failing after 2m40s
images / build-and-push (push) Failing after 19s

This commit is contained in:
2026-03-30 18:41:23 +03:00
parent 5992044b7e
commit 2595e7f1c5
63 changed files with 8448 additions and 321 deletions

View File

@@ -1,6 +1,37 @@
version: "3.9"
services:
minio:
image: minio/minio:RELEASE.2025-02-28T09-55-16Z
command: ["server", "/data", "--console-address", ":9001"]
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
volumes:
- minio_data:/data
networks:
- internal
deploy:
replicas: 1
minio-init:
image: minio/mc:RELEASE.2025-02-21T16-00-46Z
networks:
- internal
command:
- /bin/sh
- -c
- |
set -euo pipefail
mc alias set local http://minio:9000 minioadmin minioadmin
mc mb -p local/cloudlysis-docs || true
mc anonymous set download local/cloudlysis-docs || true
echo "minio init done"
deploy:
replicas: 1
restart_policy:
condition: none
control-api:
image: ${IMAGE_PREFIX:-cloudlysis}/control-api:${IMAGE_TAG:-dev}
environment:
@@ -8,6 +39,18 @@ services:
CONTROL_PLACEMENT_PATH: "/etc/control/placement.json"
CONTROL_SWARM_STATE_PATH: "/etc/control/swarm_state.json"
CONTROL_SELF_URL: "http://control-api:8080"
CONTROL_S3_ENDPOINT: "${CONTROL_S3_ENDPOINT:-http://minio:9000}"
CONTROL_S3_PUBLIC_ENDPOINT: "${CONTROL_S3_PUBLIC_ENDPOINT:-}"
CONTROL_S3_REGION: "${CONTROL_S3_REGION:-us-east-1}"
CONTROL_S3_ACCESS_KEY_ID_FILE: "/run/secrets/control_s3_access_key_id"
CONTROL_S3_SECRET_ACCESS_KEY_FILE: "/run/secrets/control_s3_secret_access_key"
CONTROL_S3_FORCE_PATH_STYLE: "${CONTROL_S3_FORCE_PATH_STYLE:-true}"
CONTROL_S3_INSECURE: "${CONTROL_S3_INSECURE:-true}"
CONTROL_S3_BUCKET_DOCS: "${CONTROL_S3_BUCKET_DOCS:-cloudlysis-docs}"
CONTROL_S3_PREFIX_DOCS: "${CONTROL_S3_PREFIX_DOCS:-docs/}"
secrets:
- control_s3_access_key_id
- control_s3_secret_access_key
configs:
- source: control_placement_dev
target: /etc/control/placement.json
@@ -44,12 +87,21 @@ services:
configs:
control_placement_dev:
file: ../../placement/dev.json
file: ../../config/placement/dev.json
control_swarm_state_dev:
file: ../../swarm/dev.json
secrets:
control_s3_access_key_id:
external: true
control_s3_secret_access_key:
external: true
networks:
public:
driver: overlay
internal:
driver: overlay
volumes:
minio_data: