Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 1 addition & 10 deletions bin/single-node/.env
Original file line number Diff line number Diff line change
Expand Up @@ -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
STORAGE_ICEBERG_CATALOG_POSTGRES_PASSWORD=password
87 changes: 51 additions & 36 deletions bin/single-node/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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:
Expand Down
12 changes: 12 additions & 0 deletions bin/single-node/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Loading