Skip to content

Commit a3fad50

Browse files
authored
Merge pull request #149 from grepplabs/fix/147
Fix #147
2 parents 3ee4a10 + 1b29f70 commit a3fad50

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

.github/workflows/release.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ jobs:
7878
with:
7979
context: .
8080
push: true
81+
file: Dockerfile.all
8182
platforms: linux/amd64,linux/arm64
8283
tags: ${{ steps.meta-all.outputs.tags }}
8384
labels: ${{ steps.meta-all.outputs.labels }}

Dockerfile.all

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
FROM --platform=$BUILDPLATFORM golang:1.20-alpine3.17 as builder
2+
RUN apk add alpine-sdk ca-certificates
3+
4+
ARG TARGETOS
5+
ARG TARGETARCH
6+
ARG TARGETVARIANT
7+
ARG VERSION
8+
9+
ENV CGO_ENABLED=0 \
10+
GO111MODULE=on \
11+
GOOS=${TARGETOS} \
12+
GOARCH=${TARGETARCH} \
13+
GOARM=${TARGETVARIANT} \
14+
LDFLAGS="-X github.com/grepplabs/kafka-proxy/config.Version=${VERSION} -w -s"
15+
16+
WORKDIR /go/src/github.com/grepplabs/kafka-proxy
17+
COPY . .
18+
19+
RUN mkdir -p build && \
20+
export GOARM=$( echo "${GOARM}" | cut -c2-) && \
21+
go build -mod=vendor -o build/kafka-proxy -ldflags "${LDFLAGS}" . && \
22+
go build -mod=vendor -o build/auth-user -ldflags "${LDFLAGS}" cmd/plugin-auth-user/main.go && \
23+
go build -mod=vendor -o build/auth-ldap -ldflags "${LDFLAGS}" cmd/plugin-auth-ldap/main.go && \
24+
go build -mod=vendor -o build/google-id-provider -ldflags "${LDFLAGS}" cmd/plugin-googleid-provider/main.go && \
25+
go build -mod=vendor -o build/google-id-info -ldflags "${LDFLAGS}" cmd/plugin-googleid-info/main.go && \
26+
go build -mod=vendor -o build/unsecured-jwt-info -ldflags "${LDFLAGS}" cmd/plugin-unsecured-jwt-info/main.go && \
27+
go build -mod=vendor -o build/unsecured-jwt-provider -ldflags "${LDFLAGS}" cmd/plugin-unsecured-jwt-provider/main.go && \
28+
go build -mod=vendor -o build/oidc-provider -ldflags "${LDFLAGS}" cmd/plugin-oidc-provider/main.go
29+
30+
FROM --platform=$BUILDPLATFORM alpine:3.17
31+
RUN apk add --no-cache ca-certificates libcap
32+
RUN adduser \
33+
--disabled-password \
34+
--gecos "" \
35+
--home "/nonexistent" \
36+
--shell "/sbin/nologin" \
37+
--no-create-home \
38+
kafka-proxy
39+
40+
COPY --from=builder /go/src/github.com/grepplabs/kafka-proxy/build /opt/kafka-proxy/bin
41+
RUN setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/kafka-proxy && \
42+
setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/auth-user && \
43+
setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/auth-ldap && \
44+
setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/google-id-provider && \
45+
setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/google-id-info && \
46+
setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/unsecured-jwt-info && \
47+
setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/unsecured-jwt-provider && \
48+
setcap 'cap_net_bind_service=+ep' /opt/kafka-proxy/bin/oidc-provider
49+
50+
USER kafka-proxy
51+
ENTRYPOINT ["/opt/kafka-proxy/bin/kafka-proxy"]
52+
CMD ["--help"]
53+

0 commit comments

Comments
 (0)