From 5b3187c9e14ca28f5fa5ca15cceb9902de095053 Mon Sep 17 00:00:00 2001 From: cmdoret Date: Fri, 9 Feb 2024 13:25:30 +0100 Subject: [PATCH] fix(minio): add env variables for auth --- deploy/docker-compose.yml | 35 ++++++++++++++++++++++------------- deploy/modo-server/server.py | 17 ++++++++++------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 3728fcea..18332f71 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -1,37 +1,46 @@ version: '2' + +volumes: + minio-data: + driver: local + +networks: + modo-network: + driver: bridge + services: minio: image: docker.io/bitnami/minio:2024 ports: - - '8080:8080' - - '8081:8081' + - '9000:9000' # api + - '9001:9001' # console volumes: - - minio-data:/bitnami/minio/data + - /data/s3:/bitnami/minio/data networks: - modo-network + environment: + - MINIO_ROOT_USER=minio + - MINIO_ROOT_PASSWORD=miniosecret + - MINIO_DEFAULT_BUCKETS=modo-bucket:readwrite htsget: image: ghcr.io/umccr/htsget-rs:dev-latest networks: - modo-network - volumes: - - minio-data:/data/s3 + environment: + - S3_ENDPOINT=minio:9000 + - MINIO_SERVER_ACCESS_KEY=user + - MINIO_SERVER_SECRET_KEY=pass modo-server: build: ./modo-server ports: - '8000:8000' - - '9000:9000' networks: - modo-network + environment: + - S3_ENDPOINT=minio:8080 volumes: - minio-data:/data/s3 command: uvicorn --host 0.0.0.0 --port 8000 --reload server:app - -volumes: - minio-data: - driver: local - -networks: - modo-network: diff --git a/deploy/modo-server/server.py b/deploy/modo-server/server.py index 1df5651b..abcb2d26 100644 --- a/deploy/modo-server/server.py +++ b/deploy/modo-server/server.py @@ -1,16 +1,24 @@ +import os from typing import Union from fastapi import FastAPI +import modo from modo.api import MODO import rdflib -S3_BUCKET = "s3://foo/bar" - +S3 = os.environ["S3_ENDPOINT"] app = FastAPI() +@app.get("/") +def index(): + return { + "S3 endpoint": f"{S3}", + } + + def gather_metadata() -> rdflib.Graph: """Generate metadata KG from all MODOs.""" # Loop on MODOs @@ -19,11 +27,6 @@ def gather_metadata() -> rdflib.Graph: # Graph union -@app.get("/") -def read_root(): - return {"Hello": "World"} - - @app.get("/items/{item_id}") def read_item(item_id: int, q: Union[str, None] = None): return {"item_id": item_id, "q": q}