23 lines
718 B
Docker
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"]
|
|
|