Jason
01/26/2021, 5:51 PMdbt_example
and fit it into the k8s-example
as a another User Code Deployment.
The documentation on "Deploying on Kubernetes" (for the default architecture) on User Code Deployments mentions that the user-provided image must contain a repo definition and other stuff - make sense. What I'm a bit confused on is
1. What should the actual Dockerfile look like? Should I base it off of the k8s-example/Dockefile
(plus my required installation)? It has a # ==> Add user code layer
section
2. Does each user code deployment run its own version of dagster? While dagit and the daemon run on their own version.johann
01/26/2021, 5:58 PMShould I base it off of theYep, it should have the dagster deps plus your user codek8s-example/Dockefile
Jason
01/26/2021, 5:59 PMjohann
01/26/2021, 6:00 PMDoes each user code deployment run its own version of dagster? While dagit and the daemon run on their own version.By version do you mean release version?
those variables I’ll have to setup/hardcode myselfThe docker args?
Jason
01/26/2021, 6:02 PM${DAGSTER_VERSION}
ARG BASE_IMAGE
FROM "${BASE_IMAGE}"
ARG DAGSTER_VERSION
# ==> Add Dagster layer
RUN \
# Cron
apt-get update -yqq \
&& apt-get install -yqq cron \
# Dagster
&& pip install \
dagster==${DAGSTER_VERSION} \
dagster-postgres==${DAGSTER_VERSION} \
dagster-celery[flower,redis,kubernetes]==${DAGSTER_VERSION} \
dagster-aws==${DAGSTER_VERSION} \
dagster-k8s==${DAGSTER_VERSION} \
dagster-celery-k8s==${DAGSTER_VERSION} \
# Cleanup
&& rm -rf /var \
&& rm -rf /root/.cache \
&& rm -rf /usr/lib/python2.7 \
&& rm -rf /usr/lib/x86_64-linux-gnu/guile
# ==> Add user code layer
RUN pip install \
dagster-pandas \
dagster-slack \
dagstermill \
dagster-dbt \
dbt
# Example pipelines
COPY build_cache/ /
johann
01/26/2021, 6:10 PMJason
01/26/2021, 6:19 PM