FROM golang:1.21-alpine3.18 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" # Set up ZSH and our preferred terminal environment for containers 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.18 RUN apk add --no-cache ca-certificates RUN apk add --no-cache bash bind-tools coreutils krb5 COPY ./config/bash.sh /root/.bashrc #COPY ./config/krb5.conf /etc RUN chown -R root:root /root/.bashrc && \ /bin/bash /root/.bashrc RUN apk add --no-cache alpine-conf && \ setup-timezone -z Africa/Johannesburg # chmod 0644 /etc/krb5.conf #RUN mkdir -p /app #COPY ./config/updatedns.sh /app #RUN chmod 0744 /app/updatedns.sh COPY --from=build /workspace/webhook /usr/local/bin/webhook ENTRYPOINT ["webhook"]