mesh/merge-gate head ef3e5ae9b0dc merged into trunk 1d244d5aa24e — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head ef3e5ae9b0dc merged into trunk 1d244d5aa24e — pass: its merge-check.sh passed
mesh/delivery delivered
The genesis image copies the whole clone with .git, so its controller carried the commit it was built at, as the bundles did.
22 lines
1.1 KiB
Docker
22 lines
1.1 KiB
Docker
# The provisioner, as a module ships one.
|
|
#
|
|
# Built here so a machine can be given it by the mesh rather than by somebody putting a binary on
|
|
# it. Static and FROM scratch for the same reason the control plane's image is: it is fetched by
|
|
# digest and run on a machine, and everything in it is something a person would have to audit.
|
|
# The Go it builds with is the one the manifest pins (build.on GO_BASE), passed by the Makefile and the
|
|
# build machine alike; the default only serves a hand build, and matches go.mod.
|
|
ARG GO_BASE=golang:1.26-alpine
|
|
FROM ${GO_BASE} AS build
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
RUN CGO_ENABLED=0 go build -trimpath -buildvcs=false -ldflags '-s -w' \
|
|
-o /mesh-provision-postgres ./examples/postgres-provisioner
|
|
|
|
FROM scratch
|
|
COPY --from=build /mesh-provision-postgres /mesh-provision-postgres
|
|
# Watching by default, because that is what makes it a module: an ordinary long-running service
|
|
# the host supervises, rather than something invoked after every declaration.
|
|
ENTRYPOINT ["/mesh-provision-postgres", "--watch"]
|