# syntax=docker/dockerfile:1 FROM golang:1.22 AS build WORKDIR /src COPY go.mod ./ RUN go mod download COPY . . RUN go mod tidy && \ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /bin/agent/sensusagent ./src && \ mkdir -p /bin/agent/collectors && \ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /bin/agent/collectors/uptime ./src/collectors/uptime && \ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /bin/agent/collectors/macos ./src/collectors/macos FROM alpine:3.20 WORKDIR / COPY --from=build /bin/agent /bin/agent RUN adduser -D -H -s /sbin/nologin agent && \ chmod +x /bin/agent/agent && \ chmod -R +x /bin/collectors || true USER agent ENTRYPOINT ["/bin/agent/sensusagent"]