...

Text file src/github.com/linkerd/linkerd2/policy-controller/Dockerfile

Documentation: github.com/linkerd/linkerd2/policy-controller

     1FROM --platform=$BUILDPLATFORM ghcr.io/linkerd/dev:v43-rust-musl as controller
     2ARG BUILD_TYPE="release"
     3WORKDIR /build
     4RUN mkdir -p target/bin
     5COPY Cargo.toml Cargo.lock .
     6COPY policy-controller policy-controller
     7RUN cargo new policy-test --lib
     8RUN --mount=type=cache,target=/usr/local/cargo/registry \
     9    cargo fetch
    10ARG TARGETARCH
    11# Enable tokio runtime metrics
    12ENV RUSTFLAGS="--cfg tokio_unstable"
    13RUN --mount=type=cache,target=target \
    14    --mount=type=cache,target=/usr/local/cargo/registry \
    15    target=$(case "$TARGETARCH" in \
    16        amd64) echo x86_64-unknown-linux-musl ;; \
    17        arm64) echo aarch64-unknown-linux-musl ;; \
    18        arm) echo armv7-unknown-linux-musleabihf ;; \
    19        *) echo "unsupported architecture: $TARGETARCH" >&2; exit 1 ;; \
    20    esac) && \
    21    just-cargo profile=$BUILD_TYPE target=$target build --package=linkerd-policy-controller && \
    22    mv "target/$target/$BUILD_TYPE/linkerd-policy-controller" /tmp/
    23
    24FROM scratch as runtime
    25COPY --from=controller /tmp/linkerd-policy-controller /bin/
    26ENTRYPOINT ["/bin/linkerd-policy-controller"]

View as plain text