@@ -16,7 +16,9 @@ RUN apk add --no-cache build-base gcc musl-dev
16
16
WORKDIR /src
17
17
18
18
COPY pkg/protection/block_secrets.c .
19
+ COPY pkg/protection/haproxy_wrapper.c .
19
20
RUN gcc -O3 -Wall -flto -fPIC -shared -s -o libblock_secrets.so block_secrets.c -ldl
21
+ RUN gcc -O3 -Wall -g -s -o haproxy_wrapper haproxy_wrapper.c
20
22
21
23
FROM golang:1.24-alpine AS builder
22
24
@@ -42,11 +44,14 @@ FROM haproxytech/haproxy-alpine:3.2
42
44
ARG TARGETPLATFORM
43
45
44
46
COPY /fs /
47
+ COPY --from=builder-c /src/libblock_secrets.so /usr/local/lib/libblock_secrets.so
48
+ COPY --from=builder-c /src/haproxy_wrapper /usr/local/sbin/haproxy_wrapper
45
49
46
50
RUN apk --no-cache add socat openssl util-linux htop tzdata curl libcap && \
47
51
rm -f /usr/local/bin/dataplaneapi /usr/bin/dataplaneapi && \
48
- chgrp -R haproxy /usr/local/etc/haproxy /run /var && \
49
- chmod -R ug+rwx /usr/local/etc/haproxy /run /var && \
52
+ chgrp -R haproxy /usr/local/etc/haproxy /run /var /usr/local/sbin/haproxy_wrapper && \
53
+ chmod -R ug+rwx /usr/local/etc/haproxy /run /var /usr/local/sbin/haproxy_wrapper && \
54
+ setcap 'cap_net_bind_service=+ep' /usr/local/sbin/haproxy_wrapper && \
50
55
chown -R haproxy:haproxy /var/lib/pebble/default && \
51
56
chmod ugo+rwx /var/lib/pebble/default/* && \
52
57
rm -rf /etc/services.d/haproxy && \
@@ -57,6 +62,4 @@ RUN apk --no-cache add socat openssl util-linux htop tzdata curl libcap && \
57
62
COPY --from=builder /go/bin/pebble /usr/local/bin
58
63
COPY --from=builder /src/fs/haproxy-ingress-controller .
59
64
60
- COPY --from=builder-c /src/libblock_secrets.so /usr/local/lib/libblock_secrets.so
61
-
62
65
ENTRYPOINT ["/start-pebble.sh"]
0 commit comments