cert-manager-webhook-sthome/Dockerfile

51 lines
1.1 KiB
Docker

FROM golang:1.21-alpine3.19 AS build_deps
# Let scripts know we're running in Docker (useful for containerised development)
ENV RUNNING_IN_DOCKER true
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ="Africa/Johannesburg"
ENV WEBROOT=/webroot
RUN apk add --no-cache git
WORKDIR /workspace
COPY go.mod .
COPY go.sum .
RUN go mod download
FROM build_deps AS build
COPY . .
RUN CGO_ENABLED=0 go build -o webhook -ldflags '-w -extldflags "-static"' .
FROM alpine:3.19
RUN apk add --no-cache ca-certificates
RUN apk add --no-cache zsh bash bind-tools coreutils krb5 tcpdump
COPY ./config/zsh.sh /root/.zshrc
COPY ./config/bash.sh /root/.bashrc
RUN chown -R root:root /root/.zshrc && \
chown -R root:root /root/.bashrc && \
/bin/zsh /root/.zshrc
RUN apk add --no-cache alpine-conf && \
setup-timezone -z Africa/Johannesburg
ENV RUNNING_IN_DOCKER true
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ="Africa/Johannesburg"
ENV WEBROOT=/webroot
ENV ACMEDIR=/acme
ENV WORKDIR=/workdir
COPY --from=build /workspace/webhook /usr/local/bin/webhook
ENTRYPOINT ["webhook"]