diff --git a/.gitignore b/.gitignore index de29b96..3961f0a 100644 --- a/.gitignore +++ b/.gitignore @@ -54,10 +54,12 @@ dist-ssr .env* !config.yaml.example docker-compose.*.yml +!backend/tests/smoke/docker-compose.test.yml data/ meta/ garage.toml +!backend/tests/smoke/garage.toml backend/docs/ config.yaml diff --git a/backend/tests/smoke/docker-compose.test.yml b/backend/tests/smoke/docker-compose.test.yml new file mode 100644 index 0000000..5c900d5 --- /dev/null +++ b/backend/tests/smoke/docker-compose.test.yml @@ -0,0 +1,39 @@ +--- +services: + garage: + image: dxflrs/garage:v2.1.0 + volumes: + - ./garage.toml:/etc/garage.toml:ro + tmpfs: + - /var/lib/garage/meta + - /var/lib/garage/data + healthcheck: + test: ["CMD", "/garage", "status"] + interval: 2s + timeout: 2s + retries: 30 + start_period: 2s + + backend: + build: + context: ../../.. + dockerfile: Dockerfile + environment: + GARAGE_UI_SERVER_HOST: "0.0.0.0" + GARAGE_UI_SERVER_PORT: "8080" + GARAGE_UI_SERVER_ENVIRONMENT: "development" + GARAGE_UI_GARAGE_ENDPOINT: "garage:3900" + GARAGE_UI_GARAGE_REGION: "garage" + GARAGE_UI_GARAGE_ADMIN_ENDPOINT: "http://garage:3903" + GARAGE_UI_GARAGE_ADMIN_TOKEN: "smoke-admin-token-do-not-use-in-prod" + GARAGE_UI_AUTH_ADMIN_ENABLED: "true" + GARAGE_UI_AUTH_ADMIN_USERNAME: "smokeadmin" + GARAGE_UI_AUTH_ADMIN_PASSWORD: "smokepass" + GARAGE_UI_CORS_ENABLED: "false" + GARAGE_UI_LOGGING_LEVEL: "info" + GARAGE_UI_LOGGING_FORMAT: "json" + ports: + - "127.0.0.1:18080:8080" + depends_on: + garage: + condition: service_healthy diff --git a/backend/tests/smoke/garage.toml b/backend/tests/smoke/garage.toml new file mode 100644 index 0000000..570066b --- /dev/null +++ b/backend/tests/smoke/garage.toml @@ -0,0 +1,23 @@ +metadata_dir = "/var/lib/garage/meta" +data_dir = "/var/lib/garage/data" +db_engine = "lmdb" + +replication_factor = 1 + +rpc_bind_addr = "[::]:3901" +rpc_public_addr = "127.0.0.1:3901" +rpc_secret = "0000000000000000000000000000000000000000000000000000000000000000" + +[s3_api] +s3_region = "garage" +api_bind_addr = "[::]:3900" +root_domain = ".s3.garage" + +[s3_web] +bind_addr = "[::]:3902" +root_domain = ".web.garage" +index = "index.html" + +[admin] +api_bind_addr = "[::]:3903" +admin_token = "smoke-admin-token-do-not-use-in-prod"