Skip to content

Commit 576ef9b

Browse files
committed
arm build
1 parent 7aa37f1 commit 576ef9b

File tree

5 files changed

+20
-39
lines changed

5 files changed

+20
-39
lines changed

Dockerfile

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,29 @@
1-
FROM --platform=$BUILDPLATFORM golang:1.23-alpine3.21 AS builder
2-
RUN apk add alpine-sdk ca-certificates
1+
FROM golang:1.23-alpine3.21 AS builder
2+
3+
RUN apk add --no-cache alpine-sdk ca-certificates
34

4-
ARG TARGETOS
5-
ARG TARGETARCH
6-
ARG TARGETVARIANT
75
ARG VERSION
86

97
ENV CGO_ENABLED=0 \
108
GO111MODULE=on \
11-
GOOS=${TARGETOS} \
12-
GOARCH=${TARGETARCH} \
13-
GOARM=${TARGETVARIANT} \
149
LDFLAGS="-X github.com/grepplabs/kafka-proxy/config.Version=${VERSION} -w -s"
1510

1611
WORKDIR /go/src/github.com/grepplabs/kafka-proxy
1712
COPY . .
1813

1914
RUN mkdir -p build && \
20-
export GOARM=$( echo "${GOARM}" | cut -c2-) && \
21-
go build -mod=vendor -o build/kafka-proxy \
22-
-ldflags "${LDFLAGS}" .
23-
24-
FROM --platform=$BUILDPLATFORM alpine:3.21
25-
RUN apk add --no-cache ca-certificates libcap
26-
RUN adduser \
27-
--disabled-password \
28-
--gecos "" \
29-
--home "/nonexistent" \
30-
--shell "/sbin/nologin" \
31-
--no-create-home \
32-
kafka-proxy
15+
go build -mod=vendor -o build/kafka-proxy -ldflags "${LDFLAGS}" .
16+
17+
FROM alpine:3.21
18+
19+
RUN apk add --no-cache ca-certificates libcap && \
20+
adduser --disabled-password --gecos "" \
21+
--home "/nonexistent" --shell "/sbin/nologin" \
22+
--no-create-home kafka-proxy
3323

3424
COPY --from=builder /go/src/github.com/grepplabs/kafka-proxy/build /opt/kafka-proxy/bin
3525
RUN setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/kafka-proxy
3626

3727
USER kafka-proxy
3828
ENTRYPOINT ["/opt/kafka-proxy/bin/kafka-proxy"]
3929
CMD ["--help"]
40-

Dockerfile.all

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
1-
FROM --platform=$BUILDPLATFORM golang:1.23-alpine3.21 AS builder
1+
FROM golang:1.23-alpine3.21 AS builder
22
RUN apk add alpine-sdk ca-certificates
33

4-
ARG TARGETOS
5-
ARG TARGETARCH
6-
ARG TARGETVARIANT
74
ARG VERSION
85

96
ENV CGO_ENABLED=0 \
107
GO111MODULE=on \
11-
GOOS=${TARGETOS} \
12-
GOARCH=${TARGETARCH} \
13-
GOARM=${TARGETVARIANT} \
148
LDFLAGS="-X github.com/grepplabs/kafka-proxy/config.Version=${VERSION} -w -s"
159

1610
WORKDIR /go/src/github.com/grepplabs/kafka-proxy
1711
COPY . .
1812

1913
RUN mkdir -p build && \
20-
export GOARM=$( echo "${GOARM}" | cut -c2-) && \
2114
go build -mod=vendor -o build/kafka-proxy -ldflags "${LDFLAGS}" . && \
2215
go build -mod=vendor -o build/auth-user -ldflags "${LDFLAGS}" cmd/plugin-auth-user/main.go && \
2316
go build -mod=vendor -o build/auth-ldap -ldflags "${LDFLAGS}" cmd/plugin-auth-ldap/main.go && \
@@ -27,7 +20,7 @@ RUN mkdir -p build && \
2720
go build -mod=vendor -o build/unsecured-jwt-provider -ldflags "${LDFLAGS}" cmd/plugin-unsecured-jwt-provider/main.go && \
2821
go build -mod=vendor -o build/oidc-provider -ldflags "${LDFLAGS}" cmd/plugin-oidc-provider/main.go
2922

30-
FROM --platform=$BUILDPLATFORM alpine:3.21
23+
FROM alpine:3.21
3124
RUN apk add --no-cache ca-certificates libcap
3225
RUN adduser \
3326
--disabled-password \

Makefile

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ GOPKGS = $(shell go list ./... | grep -v /vendor/)
1111
BUILD_FLAGS ?=
1212
LDFLAGS ?= -X github.com/grepplabs/kafka-proxy/config.Version=$(VERSION) -w -s
1313
TAG ?= "v0.4.2"
14-
GOOS ?= $(if $(TARGETOS),$(TARGETOS),linux)
15-
GOARCH ?= $(if $(TARGETARCH),$(TARGETARCH),amd64)
16-
GOARM ?= $(TARGETVARIANT)
17-
BUILDPLATFORM ?= $(GOOS)/$(GOARCH)
1814

1915
PROTOC_GO_VERSION ?= v1.33
2016
PROTOC_GRPC_VERSION ?= v1.2
@@ -51,10 +47,13 @@ build: build/$(BINARY)
5147

5248
.PHONY: build/$(BINARY)
5349
build/$(BINARY): $(SOURCES)
54-
GOOS=$(GOOS) GOARCH=$(GOARCH) GOARM=$(GOARM) CGO_ENABLED=0 go build -mod=vendor -o build/$(BINARY) $(BUILD_FLAGS) -ldflags "$(LDFLAGS)" .
50+
CGO_ENABLED=0 go build -mod=vendor -o build/$(BINARY) $(BUILD_FLAGS) -ldflags "$(LDFLAGS)" .
5551

5652
docker.build:
57-
docker buildx build --build-arg BUILDPLATFORM=$(BUILDPLATFORM) --build-arg TARGETARCH=$(GOARCH) -t local/kafka-proxy .
53+
docker build --build-arg VERSION=$(VERSION) -t local/kafka-proxy .
54+
55+
docker.build.all:
56+
docker build --build-arg VERSION=$(VERSION) -t local/kafka-proxy -f Dockerfile.all .
5857

5958
tag:
6059
git tag $(TAG)

cmd/kafka-proxy/server.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package server
33
import (
44
"fmt"
55
"log/slog"
6+
"runtime"
67

78
"github.com/grepplabs/kafka-proxy/config"
89
"github.com/grepplabs/kafka-proxy/proxy"
@@ -224,7 +225,7 @@ func initFlags() {
224225
}
225226

226227
func Run(_ *cobra.Command, _ []string) {
227-
logrus.Infof("Starting kafka-proxy version %s", config.Version)
228+
logrus.Infof("Starting kafka-proxy version %s on platform %s/%s", config.Version, runtime.GOOS, runtime.GOARCH)
228229

229230
var localPasswordAuthenticator apis.PasswordAuthenticator
230231
var localTokenAuthenticator apis.TokenInfo

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
module github.com/grepplabs/kafka-proxy
22

33
go 1.23
4-
toolchain go1.24.1
54

65
require (
76
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5

0 commit comments

Comments
 (0)