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

@@ -0,0 +1,28 @@
services:
loki:
command:
- "-config.file=/etc/loki/config.s3.yml"
- "-config.expand-env=true"
environment:
# Loki expects a single URL for S3-compatible endpoints:
# s3://<access_key>:<secret_key>@<host>:<port>/<bucket>
LOKI_S3_URL: "s3://minioadmin:minioadmin@minio:9000/cloudlysis-loki"
volumes:
- ./loki/config.s3.yml:/etc/loki/config.s3.yml:ro
depends_on:
- minio-init
tempo:
command:
- "-config.file=/etc/tempo/config.s3.yml"
- "-config.expand-env=true"
environment:
TEMPO_S3_ENDPOINT: "minio:9000"
TEMPO_S3_BUCKET: "cloudlysis-tempo"
TEMPO_S3_ACCESS_KEY: "minioadmin"
TEMPO_S3_SECRET_KEY: "minioadmin"
volumes:
- ./tempo/config.s3.yml:/etc/tempo/config.s3.yml:ro
depends_on:
- minio-init

View File

@@ -36,6 +36,7 @@ services:
- "3200:3200"
- "4317:4317"
- "4318:4318"
- "9411:9411"
command:
- "-config.file=/etc/tempo/config.yml"
volumes:

View File

@@ -0,0 +1,30 @@
auth_enabled: false
server:
http_listen_port: 3100
common:
path_prefix: /loki
replication_factor: 1
ring:
kvstore:
store: inmemory
schema_config:
configs:
- from: 2025-01-01
store: tsdb
object_store: s3
schema: v13
index:
prefix: index_
period: 24h
storage_config:
aws:
# MinIO (docker compose). Use `-config.expand-env=true`.
s3: ${LOKI_S3_URL}
s3forcepathstyle: true
limits_config:
allow_structured_metadata: true

View File

@@ -0,0 +1,37 @@
server:
http_listen_port: 3200
distributor:
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
zipkin:
endpoint: 0.0.0.0:9411
ingester:
max_block_bytes: 1000000
trace_idle_period: 10s
compactor:
compaction:
block_retention: 24h
storage:
trace:
backend: s3
s3:
# MinIO (docker compose). Use `-config.expand-env=true`.
endpoint: ${TEMPO_S3_ENDPOINT}
bucket: ${TEMPO_S3_BUCKET}
access_key: ${TEMPO_S3_ACCESS_KEY}
secret_key: ${TEMPO_S3_SECRET_KEY}
insecure: true
overrides:
defaults:
metrics_generator:
processors: []

View File

@@ -9,6 +9,8 @@ distributor:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
zipkin:
endpoint: 0.0.0.0:9411
ingester:
max_block_bytes: 1000000