Build musl and glibc for amd64 and arm64 through one native package path. Reuse musl outputs for OCI images and OpenWrt installers, and export binaries inside a rootless unshare session. Restore the executable dependency graph into a shared persistent NuGet cache, build managed dependencies once, and run isolated native publishes in parallel. Clean temporary outputs and expired image layers under store locks, retire inactive legacy stores after seven days, and retain two toolchain exports. Add regression coverage for staging, extraction, packaging and cleanup boundaries.
19 lines
747 B
Docker
19 lines
747 B
Docker
FROM mcr.microsoft.com/dotnet/runtime-deps:10.0-alpine
|
|
|
|
ARG APP_VERSION=unknown
|
|
LABEL org.opencontainers.image.title="MoShiro Agent" \
|
|
org.opencontainers.image.description="MoShiro Agent for Linux: listens and dials" \
|
|
org.opencontainers.image.licenses="Apache-2.0" \
|
|
org.opencontainers.image.version="$APP_VERSION"
|
|
|
|
COPY --chown=1654:1654 app/moshiro-agent /usr/local/bin/moshiro-agent
|
|
COPY --chown=1654:1654 app/fleet-enroll /usr/local/bin/fleet-enroll
|
|
COPY --chown=1654:1654 config/ /etc/moshiro/
|
|
COPY --chown=1654:1654 --chmod=0755 entrypoint.sh /usr/local/bin/moshiro-entrypoint
|
|
|
|
ENV LD_LIBRARY_PATH=/usr/local/bin
|
|
USER 1654:1654
|
|
WORKDIR /etc/moshiro
|
|
VOLUME ["/etc/moshiro"]
|
|
ENTRYPOINT ["/usr/local/bin/moshiro-entrypoint"]
|