@@ -13,28 +13,30 @@ COPY . ./
13
13
ARG GIT_TAG GIT_COMMIT BUILD_DATE
14
14
RUN --mount=type=cache,target=/root/.cache \
15
15
--mount=type=cache,target=/go/pkg/mod \
16
- CGO_ENABLED=1 go build -trimpath -ldflags "-s -w -X 'github.com/docker/cagent/cmd/root.Version=$GIT_TAG' -X 'github.com/docker/cagent/cmd/root.Commit=$GIT_COMMIT' -X 'github.com/docker/cagent/cmd/root.BuildTime=$BUILD_DATE' -X 'github.com/docker/cagent/internal/telemetry.TelemetryEndpoint=$TELEMETRY_ENDPOINT' -X 'github.com/docker/cagent/internal/telemetry.TelemetryAPIKey=$TELEMETRY_API_KEY' -X 'github.com/docker/cagent/internal/telemetry.TelemetryHeader=$TELEMETRY_HEADER'" -o /agent .
16
+ --mount=type=secret,id=telemetry_api_key \
17
+ --mount=type=secret,id=telemetry_endpoint \
18
+ --mount=type=secret,id=telemetry_header \
19
+ sh -c 'TELEMETRY_API_KEY=$(cat /run/secrets/telemetry_api_key 2>/dev/null || echo "") && TELEMETRY_ENDPOINT=$(cat /run/secrets/telemetry_endpoint 2>/dev/null || echo "") && TELEMETRY_HEADER=$(cat /run/secrets/telemetry_header 2>/dev/null || echo "") && CGO_ENABLED=1 go build -trimpath -ldflags "-s -w -X ' "'" 'github.com/docker/cagent/cmd/root.Version=$GIT_TAG' "'" ' -X ' "'" 'github.com/docker/cagent/cmd/root.Commit=$GIT_COMMIT' "'" ' -X ' "'" 'github.com/docker/cagent/cmd/root.BuildTime=$BUILD_DATE' "'" ' -X ' "'" 'github.com/docker/cagent/internal/telemetry.TelemetryEndpoint=$TELEMETRY_ENDPOINT' "'" ' -X ' "'" 'github.com/docker/cagent/internal/telemetry.TelemetryAPIKey=$TELEMETRY_API_KEY' "'" ' -X ' "'" 'github.com/docker/cagent/internal/telemetry.TelemetryHeader=$TELEMETRY_HEADER' "'" '" -o /agent .'
17
20
18
21
FROM --platform=$BUILDPLATFORM golang:1.25.0-alpine3.22 AS builder-base
19
22
WORKDIR /src
20
23
COPY --from=xx / /
21
24
ARG TARGETPLATFORM TARGETOS TARGETARCH
22
25
ARG GIT_TAG GIT_COMMIT BUILD_DATE
23
- ARG TELEMETRY_API_KEY
24
- ARG TELEMETRY_ENDPOINT
25
- ARG TELEMETRY_HEADER
26
-
27
- ENV TELEMETRY_API_KEY=${TELEMETRY_API_KEY}
28
- ENV TELEMETRY_ENDPOINT=${TELEMETRY_ENDPOINT}
29
- ENV TELEMETRY_HEADER=${TELEMETRY_HEADER}
30
26
31
27
FROM builder-base AS builder-darwin
32
28
RUN apk add clang
33
29
COPY . ./
34
30
RUN --mount=type=bind,from=osxcross,src=/osxsdk,target=/xx-sdk \
35
31
--mount=type=cache,target=/root/.cache,id=docker-ai-$TARGETPLATFORM \
36
- --mount=type=cache,target=/go/pkg/mod <<EOT
32
+ --mount=type=cache,target=/go/pkg/mod \
33
+ --mount=type=secret,id=telemetry_api_key \
34
+ --mount=type=secret,id=telemetry_endpoint \
35
+ --mount=type=secret,id=telemetry_header <<EOT
37
36
set -x
37
+ TELEMETRY_API_KEY=$(cat /run/secrets/telemetry_api_key 2>/dev/null || echo "" )
38
+ TELEMETRY_ENDPOINT=$(cat /run/secrets/telemetry_endpoint 2>/dev/null || echo "" )
39
+ TELEMETRY_HEADER=$(cat /run/secrets/telemetry_header 2>/dev/null || echo "" )
38
40
CGO_ENABLED=1 xx-go build -trimpath -ldflags "-s -w -X 'github.com/docker/cagent/cmd/root.Version=$GIT_TAG' -X 'github.com/docker/cagent/cmd/root.Commit=$GIT_COMMIT' -X 'github.com/docker/cagent/cmd/root.BuildTime=$BUILD_DATE' -X 'github.com/docker/cagent/internal/telemetry.TelemetryEndpoint=$TELEMETRY_ENDPOINT' -X 'github.com/docker/cagent/internal/telemetry.TelemetryAPIKey=$TELEMETRY_API_KEY' -X 'github.com/docker/cagent/internal/telemetry.TelemetryHeader=$TELEMETRY_HEADER'" -o /binaries/cagent-$TARGETOS-$TARGETARCH .
39
41
xx-verify --static /binaries/cagent-darwin-$TARGETARCH
40
42
EOT
@@ -44,8 +46,14 @@ RUN apk add clang
44
46
RUN xx-apk add libx11-dev musl-dev gcc
45
47
COPY . ./
46
48
RUN --mount=type=cache,target=/root/.cache,id=docker-ai-$TARGETPLATFORM \
47
- --mount=type=cache,target=/go/pkg/mod <<EOT
49
+ --mount=type=cache,target=/go/pkg/mod \
50
+ --mount=type=secret,id=telemetry_api_key \
51
+ --mount=type=secret,id=telemetry_endpoint \
52
+ --mount=type=secret,id=telemetry_header <<EOT
48
53
set -x
54
+ TELEMETRY_API_KEY=$(cat /run/secrets/telemetry_api_key 2>/dev/null || echo "" )
55
+ TELEMETRY_ENDPOINT=$(cat /run/secrets/telemetry_endpoint 2>/dev/null || echo "" )
56
+ TELEMETRY_HEADER=$(cat /run/secrets/telemetry_header 2>/dev/null || echo "" )
49
57
CGO_ENABLED=1 xx-go build -trimpath -ldflags "-s -w -linkmode=external -extldflags '-static' -X 'github.com/docker/cagent/cmd/root.Version=$GIT_TAG' -X 'github.com/docker/cagent/cmd/root.Commit=$GIT_COMMIT' -X 'github.com/docker/cagent/cmd/root.BuildTime=$BUILD_DATE' -X 'github.com/docker/cagent/internal/telemetry.TelemetryEndpoint=$TELEMETRY_ENDPOINT' -X 'github.com/docker/cagent/internal/telemetry.TelemetryAPIKey=$TELEMETRY_API_KEY' -X 'github.com/docker/cagent/internal/telemetry.TelemetryHeader=$TELEMETRY_HEADER'" -o /binaries/cagent-$TARGETOS-$TARGETARCH .
50
58
xx-verify --static /binaries/cagent-linux-$TARGETARCH
51
59
EOT
@@ -54,8 +62,14 @@ FROM builder-base AS builder-windows
54
62
RUN apk add zig build-base
55
63
COPY . ./
56
64
RUN --mount=type=cache,target=/root/.cache,id=docker-ai-$TARGETPLATFORM \
57
- --mount=type=cache,target=/go/pkg/mod <<EOT
65
+ --mount=type=cache,target=/go/pkg/mod \
66
+ --mount=type=secret,id=telemetry_api_key \
67
+ --mount=type=secret,id=telemetry_endpoint \
68
+ --mount=type=secret,id=telemetry_header <<EOT
58
69
set -x
70
+ TELEMETRY_API_KEY=$(cat /run/secrets/telemetry_api_key 2>/dev/null || echo "" )
71
+ TELEMETRY_ENDPOINT=$(cat /run/secrets/telemetry_endpoint 2>/dev/null || echo "" )
72
+ TELEMETRY_HEADER=$(cat /run/secrets/telemetry_header 2>/dev/null || echo "" )
59
73
CGO_ENABLED=1 CC="zig cc -target x86_64-windows-gnu" CXX="zig c++ -target x86_64-windows-gnu" xx-go build -trimpath -ldflags "-s -w -X 'github.com/docker/cagent/cmd/root.Version=$GIT_TAG' -X 'github.com/docker/cagent/cmd/root.Commit=$GIT_COMMIT' -X 'github.com/docker/cagent/cmd/root.BuildTime=$BUILD_DATE' -X 'github.com/docker/cagent/internal/telemetry.TelemetryEndpoint=$TELEMETRY_ENDPOINT' -X 'github.com/docker/cagent/internal/telemetry.TelemetryAPIKey=$TELEMETRY_API_KEY' -X 'github.com/docker/cagent/internal/telemetry.TelemetryHeader=$TELEMETRY_HEADER'" -o /binaries/cagent-$TARGETOS-$TARGETARCH .
60
74
ls -la /binaries
61
75
mv /binaries/cagent-$TARGETOS-$TARGETARCH /binaries/cagent-$TARGETOS-$TARGETARCH.exe
0 commit comments