fix: working elementary setup
This commit is contained in:
@@ -5,6 +5,9 @@ WORKDIR /app
|
||||
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
||||
|
||||
# Install system dependencies (git is required by elementary/dbt deps)
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install dependencies before copying full source (layer caching)
|
||||
COPY pyproject.toml uv.lock* ./
|
||||
RUN uv sync --frozen --no-dev 2>/dev/null || uv sync --no-dev
|
||||
|
||||
@@ -57,6 +57,9 @@ def elementary_run_models(context: OpExecutionContext) -> None:
|
||||
raise Exception(f"dbt run elementary failed with exit code {result.returncode}")
|
||||
|
||||
|
||||
_EDR_REPORT_PATH = _DBT_DIR / "edr_target" / "elementary_report.html"
|
||||
|
||||
|
||||
@op(ins={"after": In(Nothing)})
|
||||
def elementary_generate_report(context: OpExecutionContext) -> None:
|
||||
"""Run edr report to regenerate the Elementary HTML report."""
|
||||
@@ -67,7 +70,8 @@ def elementary_generate_report(context: OpExecutionContext) -> None:
|
||||
str(_DBT_DIR),
|
||||
"--project-dir",
|
||||
str(_DBT_DIR),
|
||||
"--disable-open-browser",
|
||||
"--file-path",
|
||||
str(_EDR_REPORT_PATH),
|
||||
]
|
||||
context.log.info(f"Running: {' '.join(cmd)}")
|
||||
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||
|
||||
@@ -10,3 +10,16 @@ data_platform:
|
||||
dbname: "{{ env_var('POSTGRES_DB') }}"
|
||||
schema: public
|
||||
threads: 4
|
||||
|
||||
elementary:
|
||||
target: "{{ env_var('DBT_TARGET', 'dev') }}"
|
||||
outputs:
|
||||
dev:
|
||||
type: postgres
|
||||
host: "{{ env_var('POSTGRES_HOST', 'localhost') }}"
|
||||
port: "{{ env_var('POSTGRES_PORT', '5432') | int }}"
|
||||
user: "{{ env_var('POSTGRES_USER') }}"
|
||||
password: "{{ env_var('POSTGRES_PASSWORD') }}"
|
||||
dbname: "{{ env_var('POSTGRES_DB') }}"
|
||||
schema: elementary
|
||||
threads: 4
|
||||
|
||||
@@ -3,9 +3,12 @@ server {
|
||||
server_name _;
|
||||
|
||||
root /usr/share/nginx/html;
|
||||
index elementary_report.html;
|
||||
|
||||
location = / {
|
||||
return 302 /elementary_report.html;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /elementary_report.html;
|
||||
try_files $uri =404;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user