github.com/letsencrypt/boulder@v0.20251208.0/test/boulder-tools/Dockerfile (about)

     1  # syntax=docker/dockerfile:1
     2  FROM buildpack-deps:noble-scm AS godeps
     3  ARG GO_VERSION
     4  # Provided automatically by docker build.
     5  ARG TARGETPLATFORM
     6  ARG BUILDPLATFORM
     7  ENV TARGETPLATFORM=${TARGETPLATFORM:-$BUILDPLATFORM}
     8  ENV GO_VERSION=$GO_VERSION
     9  ENV PATH=/usr/local/go/bin:/usr/local/protoc/bin:$PATH
    10  ENV GOBIN=/usr/local/bin/
    11  RUN curl "https://dl.google.com/go/go${GO_VERSION}.$(echo $TARGETPLATFORM | sed 's|\/|-|').tar.gz" |\
    12      tar -C /usr/local -xz
    13  RUN go install github.com/rubenv/sql-migrate/sql-migrate@v1.1.2
    14  RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.5
    15  RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.5.1
    16  RUN go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.1.6
    17  RUN go install github.com/jsha/minica@v1.1.0
    18  
    19  FROM rust:latest AS rustdeps
    20  # Provided automatically by docker build.
    21  ARG TARGETPLATFORM
    22  ARG BUILDPLATFORM
    23  ENV TARGETPLATFORM=${TARGETPLATFORM:-$BUILDPLATFORM}
    24  COPY build-rust-deps.sh /tmp/build-rust-deps.sh
    25  RUN /tmp/build-rust-deps.sh
    26  
    27  # When the version of Ubuntu (focal, jammy, etc) changes, ensure that the
    28  # version of libc6 is compatible with the rustdeps container above. See
    29  # https://github.com/letsencrypt/boulder/pull/7248#issuecomment-1896612920 for
    30  # more information.
    31  #
    32  # Run this command in each container: dpkg -l libc6
    33  FROM buildpack-deps:noble-scm
    34  # Provided automatically by docker build.
    35  ARG TARGETPLATFORM
    36  ARG BUILDPLATFORM
    37  ENV TARGETPLATFORM=${TARGETPLATFORM:-$BUILDPLATFORM}
    38  COPY requirements.txt /tmp/requirements.txt
    39  COPY boulder.rsyslog.conf /etc/rsyslog.d/
    40  COPY build.sh /tmp/build.sh
    41  RUN /tmp/build.sh
    42  
    43  RUN sed -i '/imklog/s/^/#/' /etc/rsyslog.conf
    44  RUN sed -i '/$ActionFileDefaultTemplate/s/^/#/' /etc/rsyslog.conf
    45  RUN sed -i '/$RepeatedMsgReduction on/s/^/#/' /etc/rsyslog.conf
    46  
    47  COPY --from=godeps /usr/local/bin/* /usr/local/bin/
    48  COPY --from=godeps /usr/local/go/ /usr/local/go/
    49  COPY --from=rustdeps /usr/local/cargo/bin/typos /usr/local/bin/typos
    50  
    51  ENV PATH=/usr/local/go/bin:/usr/local/protoc/bin:$PATH