denton
02/29/2024, 12:01 AMdagster.yaml
file?Scout
02/29/2024, 12:01 AMdagster.yaml
file, you would typically set an environment variable in your shell to the current directory and then reference that environment variable in your dagster.yaml
. Here's how you can do it step by step: 1. Set an environment variable in your shell to the current directory. For example, in a Unix-like shell, you could use the following command: sh export DAGSTER_HOME=$(pwd)
This sets the DAGSTER_HOME
environment variable to the current working directory. 2. In your dagster.yaml
file, you can then reference this environment variable using the syntax provided by your operating system's shell. For example: yaml instance: root_directory: ${DAGSTER_HOME}
Please note that the exact syntax for referencing environment variables can vary depending on the shell and operating system you are using. The example above uses Unix shell syntax. Keep in mind that the dagster.yaml
file is used to configure the Dagster instance, and the DAGSTER_HOME
environment variable is used by Dagster to locate this file and other instance-related data. If you want to use the current directory as the DAGSTER_HOME
, you need to ensure that the dagster.yaml
file is located in the current directory or in a directory structure that Dagster expects based on the DAGSTER_HOME
setting. If you encounter any issues or need further clarification, please refer to the documentation or reach out for more specific guidance.denton
02/29/2024, 12:16 AMdagster.yaml
within the DockerRunLauncher
how do I set my /absolute/path/to/local/repo.py
as an env variable?Scout
02/29/2024, 12:16 AMrepo.py
as an environment variable for use within the DockerRunLauncher
configuration in your dagster.yaml
file, you can follow these steps: 1. First, set an environment variable in your shell to the absolute path of your repo.py
. For example: sh export REPO_PY_PATH=/absolute/path/to/local/repo.py
2. Then, in your dagster.yaml
file, reference this environment variable using the appropriate syntax for environment variable substitution. According to the documentation, you can use the following syntax in your dagster.yaml
to reference an environment variable: yaml run_launcher: module: dagster_docker class: DockerRunLauncher config: image: "my-docker-image" registry: "my-docker-registry" env_vars: - "REPO_PY_PATH" # ... other configuration options
In this configuration, REPO_PY_PATH
is the name of the environment variable that contains the absolute path to your repo.py
. When the DockerRunLauncher
launches a new Docker container, it will pass this environment variable to the container. Please ensure that the environment variable REPO_PY_PATH
is set in the environment where the Dagster process (e.g., Dagit or the Dagster daemon) is running, so that it can be correctly passed to the Docker container. If you need to use the value of the REPO_PY_PATH
environment variable within the Docker container (for example, to specify the location of your code when running a Dagster job), you would access it using the environment variable syntax specific to the shell or application within the container. Keep in mind that the exact configuration might vary depending on your specific use case and deployment setup. If you encounter any issues or need further assistance, please refer to the documentation or reach out for more specific guidance.denton
02/29/2024, 12:27 AMdagster.yaml
file that uses mylocalrepo:/opt/dagster/app/
to load this variable from an env var
scheduler:
module: dagster.core.scheduler
class: DagsterDaemonScheduler
run_coordinator:
module: dagster.core.run_coordinator
class: QueuedRunCoordinator
run_launcher:
module: dagster_docker
class: DockerRunLauncher
config:
env_vars:
- DAGSTER_POSTGRES_USER
- DAGSTER_POSTGRES_PASSWORD
- DAGSTER_IRIS_DATA_POSTGRES_DATABASE
- DAGSTER_POSTGRES_HOST
- DAGSTER_POSTGRES_PORT
- AIRBYTE_HOST
- AIRBYTE_PORT
- AIRBYTE_USERNAME
- AIRBYTE_PASSWORD
- DAGSTER_CURRENT_IMAGE
container_kwargs:
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /tmp/io_manager_storage:/tmp/io_manager_storage
- mylocalrepo:/opt/dagster/app/
storage:
postgres:
postgres_db:
hostname:
env: DAGSTER_POSTGRES_HOST
username:
env: DAGSTER_POSTGRES_USER
password:
env: DAGSTER_POSTGRES_PASSWORD
db_name:
env: DAGSTER_IRIS_DATA_POSTGRES_DATABASE
port:
env: DAGSTER_POSTGRES_PORT
params:
options: -csearch_path=dagster-internal
Scout
02/29/2024, 12:27 AMmylocalrepo:/opt/dagster/app/
volume mapping from an environment variable, you would first need to set an environment variable in your environment that contains the path to mylocalrepo
. For example, you could set an environment variable named MY_LOCAL_REPO_PATH
to the desired path. Here's how you can modify the dagster.yaml
file to use an environment variable for the volume mapping: yaml scheduler: module: dagster.core.scheduler class: DagsterDaemonScheduler run_coordinator: module: dagster.core.run_coordinator class: QueuedRunCoordinator run_launcher: module: dagster_docker class: DockerRunLauncher config: env_vars: - DAGSTER_POSTGRES_USER - DAGSTER_POSTGRES_PASSWORD - DAGSTER_IRIS_DATA_POSTGRES_DATABASE - DAGSTER_POSTGRES_HOST - DAGSTER_POSTGRES_PORT - AIRBYTE_HOST - AIRBYTE_PORT - AIRBYTE_USERNAME - AIRBYTE_PASSWORD - DAGSTER_CURRENT_IMAGE - MY_LOCAL_REPO_PATH # Add the environment variable for the local repo path container_kwargs: volumes: - /var/run/docker.sock:/var/run/docker.sock - /tmp/io_manager_storage:/tmp/io_manager_storage - "${MY_LOCAL_REPO_PATH}:/opt/dagster/app/" # Use the environment variable in the volume mapping storage: postgres: postgres_db: hostname: env: DAGSTER_POSTGRES_HOST username: env: DAGSTER_POSTGRES_USER password: env: DAGSTER_POSTGRES_PASSWORD db_name: env: DAGSTER_IRIS_DATA_POSTGRES_DATABASE port: env: DAGSTER_POSTGRES_PORT params: options: -csearch_path=dagster-internal
In the run_launcher
configuration, the volumes
section now includes a reference to the MY_LOCAL_REPO_PATH
environment variable. When the DockerRunLauncher
launches a container, it will substitute the value of MY_LOCAL_REPO_PATH
with the actual path you've set in your environment. Please ensure that the MY_LOCAL_REPO_PATH
environment variable is set in the environment where the Dagster process is running. This will allow the DockerRunLauncher
to correctly pass the volume mapping to the Docker container.