SensusAgent/Dockerfile

23 lines
718 B
Docker

# 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"]