compose/s3-seaweed.yml
Rama main · réplica de lectura del repositorio original.
services:
cryostat:
depends_on:
s3:
condition: service_healthy
environment:
QUARKUS_S3_ENDPOINT_OVERRIDE: https://s3:8333
STORAGE_EXT_URL: /storage/
STORAGE_PRESIGNED_TRANSFERS_ENABLED: "true"
STORAGE_PRESIGNED_DOWNLOADS_ENABLED: "false"
QUARKUS_S3_PATH_STYLE_ACCESS: "true" # needed since compose setup does not support DNS subdomain resolution
QUARKUS_S3_AWS_REGION: us-east-1
AWS_ACCESS_KEY_ID: access_key
AWS_SECRET_ACCESS_KEY: secret_key
# Configure S3 clients to use system truststore for TLS (matches operator)
# The entrypoint will build the truststore and append SSL FLAGS to JAVA_OPTS_APPEND
QUARKUS_S3_SYNC_CLIENT_TLS_KEY_MANAGERS_PROVIDER_TYPE: none
QUARKUS_S3_SYNC_CLIENT_TLS_TRUST_MANAGERS_PROVIDER_TYPE: system-property
QUARKUS_S3_ASYNC_CLIENT_TLS_KEY_MANAGERS_PROVIDER_TYPE: none
QUARKUS_S3_ASYNC_CLIENT_TLS_TRUST_MANAGERS_PROVIDER_TYPE: system-property
s3:
image: ${STORAGE_IMAGE:-quay.io/cryostat/cryostat-storage:${CRYOSTAT_VERSION:-latest}}
hostname: s3
command:
- -s3.port=0
- -s3.port.https=8333
- -s3.cert.file=/certs/certificate.pem
- -s3.key.file=/certs/private.key
environment:
CRYOSTAT_BUCKETS: ${PRECREATE_BUCKETS}
CRYOSTAT_ACCESS_KEY: access_key
CRYOSTAT_SECRET_KEY: secret_key
DATA_DIR: /data
IP_BIND: 0.0.0.0
WEED_V: "1" # glog logging level
REST_ENCRYPTION_ENABLE: "1"
volumes:
- seaweed_data:/data
- s3_certs:/certs:ro
ports:
- "8888:8888"
expose:
- "8333"
restart: always
healthcheck:
test:
- CMD-SHELL
- timeout
- 5s
- bash
- -c
- :> /dev/tcp/127.0.0.1/8333
interval: 10s
retries: 3
start_period: 30s
timeout: 5s
volumes:
seaweed_data:
driver: local
s3_certs:
external: true