concourse-resource 0.3.0

Helper create to create resources for Concourse CI
Documentation
# Step 1: build the binary in release mode using musl
FROM clux/muslrust AS build

ARG EXAMPLE=hello_world

RUN mkdir -p /src
WORKDIR /src
COPY . /src

RUN cargo build --release --example $EXAMPLE
RUN strip target/x86_64-unknown-linux-musl/release/examples/$EXAMPLE
RUN cp target/x86_64-unknown-linux-musl/release/examples/$EXAMPLE main

# Step 2: retrieve SSL certificates
FROM alpine as certs

RUN apk update && apk add ca-certificates

# Step 3: create final image with the binary at the expected places
# and the SSL certificates
FROM busybox:musl

COPY --from=certs /etc/ssl/certs /etc/ssl/certs

COPY --from=build /src/main /opt/resource/main
RUN ln -s /opt/resource/main /opt/resource/check
RUN ln -s /opt/resource/main /opt/resource/in
RUN ln -s /opt/resource/main /opt/resource/out

ENV SSL_CERT_FILE /etc/ssl/certs/ca-certificates.crt
ENV SSL_CERT_DIR /etc/ssl/certs