diff --git a/bin/single-node/.env b/bin/single-node/.env index 4b5d1d58364..f7a0d349bfc 100644 --- a/bin/single-node/.env +++ b/bin/single-node/.env @@ -44,15 +44,6 @@ STORAGE_JDBC_USERNAME=texera STORAGE_JDBC_PASSWORD=password FILE_SERVICE_GET_PRESIGNED_URL_ENDPOINT=http://texera-file-service:9092/api/dataset/presign-download FILE_SERVICE_UPLOAD_ONE_FILE_TO_DATASET_ENDPOINT=http://texera-file-service:9092/api/dataset/did/upload -USER_SYS_ENABLED=true -STORAGE_ICEBERG_CATALOG_TYPE=postgres STORAGE_ICEBERG_CATALOG_POSTGRES_URI_WITHOUT_SCHEME=texera-postgres:5432/texera_iceberg_catalog STORAGE_ICEBERG_CATALOG_POSTGRES_USERNAME=texera -STORAGE_ICEBERG_CATALOG_POSTGRES_PASSWORD=password - -# variables for example user, datasets and workflows -TEXERA_EXAMPLE_USERNAME=texera -TEXERA_EXAMPLE_PASSWORD=texera -TEXERA_EXAMPLE_IS_PUBLIC=true -TEXERA_EXAMPLE_DATASET_DIR=/example_data/data -TEXERA_EXAMPLE_WORKFLOW_DIR=/example_data/workflows \ No newline at end of file +STORAGE_ICEBERG_CATALOG_POSTGRES_PASSWORD=password \ No newline at end of file diff --git a/bin/single-node/docker-compose.yml b/bin/single-node/docker-compose.yml index ce95d64c708..a113b008f63 100644 --- a/bin/single-node/docker-compose.yml +++ b/bin/single-node/docker-compose.yml @@ -94,6 +94,54 @@ services: timeout: 3s retries: 10 + # ConfigService provides endpoints for configuration management + config-service: + image: apache/texera-config-service:latest + container_name: texera-config-service + restart: always + depends_on: + postgres: + condition: service_healthy + env_file: + - .env + healthcheck: + test: ["CMD", "curl", "-sf", "http://localhost:9094/api/healthcheck"] + interval: 5s + timeout: 3s + retries: 10 + + # AccessControlService handles user permissions and access control + access-control-service: + image: apache/texera-access-control-service:latest + container_name: texera-access-control-service + restart: always + depends_on: + postgres: + condition: service_healthy + env_file: + - .env + healthcheck: + test: ["CMD", "curl", "-sf", "http://localhost:9096/api/healthcheck"] + interval: 5s + timeout: 3s + retries: 10 + + # WorkflowComputingUnitManagingService provides endpoints for managing computing units + workflow-computing-unit-managing-service: + image: apache/texera-workflow-computing-unit-managing-service:latest + container_name: texera-workflow-computing-unit-managing-service + restart: always + depends_on: + postgres: + condition: service_healthy + env_file: + - .env + healthcheck: + test: ["CMD", "curl", "-sf", "http://localhost:8888/api/healthcheck"] + interval: 5s + timeout: 3s + retries: 10 + # WorkflowCompilingService provides endpoints for sanity check and schema propagation while workflows are being edited workflow-compiling-service: image: apache/texera-workflow-compiling-service:latest @@ -146,42 +194,6 @@ services: timeout: 3s retries: 10 - texera-example-data-loader: - image: apache/texera-example-data-loader:latest - container_name: texera-example-data-loader - depends_on: - texera-web-application: - condition: service_healthy - environment: - TEXERA_WEB_APPLICATION_URL: http://texera-web-application:8080/api - TEXERA_FILE_SERVICE_URL: http://texera-file-service:9092/api - restart: "no" - - texera-access-message: - image: alpine:latest - container_name: texera-access-message - depends_on: - texera-example-data-loader: - condition: service_completed_successfully - env_file: - - .env - command: > - /bin/sh -c " - echo '==============================================='; - echo 'Texera is ready!'; - echo '==============================================='; - echo ''; - echo 'To access Texera, open your browser and navigate to:'; - echo ' ${TEXERA_HOST}:8080'; - echo ''; - echo 'The following account has been created for you:'; - echo ' Username: texera'; - echo ' Password: texera'; - echo ''; - echo '===============================================' - " - restart: "no" - # Part 3: reverse proxy service for Texera's micro services nginx: image: nginx:alpine @@ -191,6 +203,9 @@ services: - file-service - texera-web-application - computing-unit-master + - config-service + - access-control-service + - workflow-computing-unit-managing-service volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro ports: diff --git a/bin/single-node/nginx.conf b/bin/single-node/nginx.conf index f703fb027ff..4bdf8baf56b 100644 --- a/bin/single-node/nginx.conf +++ b/bin/single-node/nginx.conf @@ -42,6 +42,18 @@ http { proxy_set_header X-Real-IP $remote_addr; } + location /api/config { + proxy_pass http://texera-config-service:9094; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + + location /api/computing-unit { + proxy_pass http://texera-workflow-computing-unit-managing-service:8888; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + location /api/ { proxy_pass http://texera-web-application:8080; proxy_set_header Host $host;