FROM public.ecr.aws/amazonlinux/amazonlinux:2 as builder ENV RUSTUP_HOME=/usr/local/rustup ENV CARGO_HOME=/usr/local/cargo ENV PATH=/usr/local/cargo/bin:$PATH RUN yum install -y git gcc gcc-c++ ca-certificates glibc-devel openssl-devel make RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --default-toolchain stable && \ rustup target install $(uname -m)-unknown-linux-musl WORKDIR /tmp/workdir COPY . . RUN cargo install --path nsm-test RUN cargo build --package nsm-lib RUN make -C nsm-test RUN git clone -b v1.2.2 https://github.com/aws/aws-nitro-enclaves-cli.git && \ cargo install --path aws-nitro-enclaves-cli/samples/command_executer FROM public.ecr.aws/amazonlinux/amazonlinux:2 as nsm-check COPY --from=builder /usr/local/cargo/bin/nsm-check nsm-check COPY --from=builder /usr/local/cargo/bin/command-executer command-executer ENTRYPOINT ["/bin/sh", "-l", "-c"] CMD ./command-executer listen --port 5005 FROM public.ecr.aws/amazonlinux/amazonlinux:2 as nsm-test-cpp RUN yum install -y openssl-devel COPY --from=builder /tmp/workdir/nsm-test/test nsm-test COPY --from=builder /usr/local/cargo/bin/command-executer command-executer COPY --from=builder /tmp/workdir/target/debug/libnsm.so /usr/lib64/libnsm.so ENTRYPOINT ["/bin/sh", "-l", "-c"] CMD ./command-executer listen --port 5005 FROM public.ecr.aws/amazonlinux/amazonlinux:2 as nsm-multithread COPY --from=builder /usr/local/cargo/bin/nsm-multithread nsm-multithread COPY --from=builder /usr/local/cargo/bin/command-executer command-executer ENTRYPOINT ["/bin/sh", "-l", "-c"] CMD timeout --preserve-status 1m /nsm-multithread