# Note: this file *mostly* just builds on Dockerfile.compute-node ARG SRC_IMAGE ARG VM_INFORMANT_VERSION=v0.1.6 # Pull VM informant and set up inittab FROM neondatabase/vm-informant:$VM_INFORMANT_VERSION as informant RUN set -e \ && rm -f /etc/inittab \ && touch /etc/inittab RUN set -e \ && echo "::sysinit:cgconfigparser -l /etc/cgconfig.conf -s 1664" >> /etc/inittab \ && echo "::respawn:su vm-informant -c '/usr/local/bin/vm-informant --auto-restart --cgroup=neon-postgres'" >> /etc/inittab # Combine, starting from non-VM compute node image. FROM $SRC_IMAGE as base # Temporarily set user back to root so we can run apt update and adduser USER root RUN apt update && \ apt install --no-install-recommends -y \ cgroup-tools RUN adduser vm-informant --disabled-password --no-create-home USER postgres ADD vm-cgconfig.conf /etc/cgconfig.conf COPY --from=informant /etc/inittab /etc/inittab COPY --from=informant /usr/bin/vm-informant /usr/local/bin/vm-informant ENTRYPOINT ["/usr/sbin/cgexec", "-g", "*:neon-postgres", "/usr/local/bin/compute_ctl"]