Files
petrolyst-infra/stacks/fuel-monitoring/superset/Dockerfile
T
Nasim SadatandClaude Opus 5.5 1b8e57adb4 Trial state of 29 Oct 2026: ATOMA reader setup, app dashboards, embedding notes
Baseline before the clean-up (PD-13): the PD-11 reader setup and the PD-12 app
dashboards as they ran on the local stack, uncommitted until now. Not deployed,
not independently reviewed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 20:50:26 +01:00

31 lines
1.5 KiB
Docker

# Petrolyst Superset image. Deployment only: every customization is copied from
# petrolyst-insights/, which compose.yaml passes as the named build context
# "insights". deploy/deploy.sh tags the result with a hash of exactly these
# inputs (this file plus what is copied below), so the tag changes only when
# the image would.
FROM apache/superset:6.1.0@sha256:16b50bbef6648912a79e3293d418fefa743ce555d36c5af6b85d859119ed7f88
USER root
# The 6.1.0 image ships neither an OAuth client nor the Postgres and Trino
# drivers.
RUN uv pip install --no-cache --python /app/.venv/bin/python \
authlib==1.9.1 psycopg2-binary==2.9.13 "trino[sqlalchemy]==0.340.0"
COPY --from=insights --chown=superset:superset superset_config.py petrolyst_security.py petrolyst_reader.py /app/pythonpath/
COPY --from=insights --chown=superset:superset templates/ /app/pythonpath/templates/
COPY --from=insights --chown=superset:superset roles/ /app/petrolyst-roles/
COPY --from=insights --chown=superset:superset assets/branding/ /app/superset/static/assets/branding/
COPY --from=insights patches/ /app/patches/petrolyst/
# Stop at the first patch or verify that fails, so a later success cannot hide
# an earlier failure.
RUN for p in /app/patches/petrolyst/fix_*.py; do \
[ -e "$p" ] || continue; \
{ python3 "$p" && python3 "$p" --verify; } || exit 1; \
done
# Deployment, not customization: in the image (and so in the tag) rather than
# bind-mounted, so a change to it makes deploy.sh run superset-init again.
COPY init.sh /app/petrolyst-init.sh
USER superset