kube-deployer/Dockerfile

40 lines
1.2 KiB
Docker

FROM alpine:3@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0
ARG SOPS_VERSION
ARG KUSTOMIZE_SOPS_VERSION
# Install dependencies
RUN apk add --no-cache \
kubectl \
kustomize \
age \
git \
bash \
openssh \
openrc \
ca-certificates \
make
# Install sops
ADD https://github.com/getsops/sops/releases/download/v${SOPS_VERSION}/sops-v3.8.1.linux.amd64 /tmp/sops
RUN mv /tmp/sops /usr/local/bin/sops && chmod +x /usr/local/bin/sops
# Install ksops
ADD https://github.com/viaduct-ai/kustomize-sops/releases/download/v${KUSTOMIZE_SOPS_VERSION}/ksops_latest_Linux_x86_64.tar.gz /tmp/ksops.tar.gz
RUN tar -xzf /tmp/ksops.tar.gz -C /tmp && mv /tmp/ksops /usr/local/bin/ksops && chmod +x /usr/local/bin/ksops
# Set up user
RUN adduser -h /home/cluster -s /bin/sh -D cluster && \
mkdir -p /home/cluster/.ssh && \
chown -R cluster:cluster /home/cluster && \
chmod 0700 /home/cluster/.ssh
RUN ssh-keygen -A && \
echo -e "PasswordAuthentication no" >> /etc/ssh/sshd_config && \
mkdir -p /run/openrc && \
touch /run/openrc/softlevel
USER cluster
WORKDIR /home/cluster
ENTRYPOINT ["sh", "-c", "rc-status; rc-service sshd start"]