anchor.diff: -FROM node:14-buster-slim AS install
  +ARG NODE_VER=14-buster
  +
  +# Copy in package files and any needed apt packages?
  +FROM node:$NODE_VER AS packages
   
   WORKDIR /oada
   
  -# node-rdkafka requires these things to be installed:
  +# install things only needed for building
   RUN apt-get update -y && apt-get install -y --no-install-recommends \
  -    ca-certificates \
  -    libc6 \
  -    liblz4-1 \
  -    libsasl2-2 \
  -    libssl1.1 \
  -    tini \
  -    zlibc \
  -  && apt-get clean && rm -rf /var/lib/apt/lists/*
  -
  -FROM install AS packages
  -
  -# install things only needed for build?
  -RUN apt-get update -y && apt-get install -y --no-install-recommends \
  -    gcc \
  -    git \
  -    libc6-dev \
  -    g++ \
       liblz4-dev \
  -    musl-dev \
       libsasl2-dev \
       libssl-dev \
  -    make \
  -    python \
  +    musl-dev \
     && apt-get clean && rm -rf /var/lib/apt/lists/*
   
   # Need to list out every package.json we need from monorepo for caching stuff...
  
positive.code: # Build and then remove yarn stuff??
  RUN yarn workspaces foreach run build && rm -rf .yarn .pnp.*
  
  FROM install
  
  COPY ./utils/entrypoint.sh /entrypoint.sh
  RUN chmod u+x /entrypoint.sh
  
  COPY ./utils/wait-for-it.sh /wait-for-it.sh
  RUN chmod u+x /wait-for-it.sh
  
  # Copy in service code and production dependencies
  COPY --from=yarn /oada/ /oada/
  # Copy in built code
  # TODO: Don't have both source and built code in image?
  COPY --from=build /oada/ /oada/
  
  # Copy in config file?
  COPY ./oada-srvc-docker-config.js /oada-srvc-docker-config.js
  
negative.code: COPY ./services/write-handler/package.json /oada/services/write-handler/package.json
  RUN yarn workspaces focus --all --production
  
  # Install just production deps
  FROM packages AS yarn
  
  # Copy in actual code
  