Skip to content

Commit

Permalink
security: Drop capabilities and enable seccomp
Browse files Browse the repository at this point in the history
Further restricts the SecurityContext that the controller runs under, by enabling the default seccomp profile and dropping all linux capabilities.
This was set at container-level to ensure backwards compatibility with
use cases in which sidecars are injected into the source-controller pod
without setting less restrictive settings.

BREAKING CHANGE: The use of new seccomp API requires Kubernetes 1.19.

Co-authored-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
  • Loading branch information
Paulo Gomes and Sanskar Jaiswal committed Jan 19, 2022
1 parent 3ca05e1 commit 7b04b44
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,8 @@ FROM debian:bookworm-slim as controller
LABEL org.opencontainers.image.source="https://github.com/fluxcd/source-controller"

# Configure user
RUN groupadd controller && \
useradd --gid controller --shell /bin/sh --create-home controller
RUN addgroup --gid 65532 controller && \
useradd -u 65532 -s /sbin/nologin -g controller controller

ARG TARGETPLATFORM
RUN apt update && apt install -y ca-certificates
Expand Down
8 changes: 6 additions & 2 deletions config/manager/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ spec:
prometheus.io/port: "8080"
spec:
terminationGracePeriodSeconds: 10
# Required for AWS IAM Role bindings
# https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts-technical-overview.html
securityContext:
# Required for AWS IAM Role bindings
# https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts-technical-overview.html
fsGroup: 1337
containers:
- name: manager
Expand All @@ -31,6 +31,10 @@ spec:
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: [ "ALL" ]
seccompProfile:
type: RuntimeDefault
ports:
- containerPort: 9090
name: http
Expand Down

0 comments on commit 7b04b44

Please # to comment.