-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: add correct binary for manager
and set runAsUser: 1000
in deployment.yaml
#313
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jokestax The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/cc @aryan9600 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for sending this PR! needs a couple of changes.
@@ -43,6 +43,7 @@ spec: | |||
name: manager | |||
securityContext: | |||
allowPrivilegeEscalation: false | |||
runAsUser: 1000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should be setting the user in the dockerfile itself like so:
USER 1000:1000
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry for the late reply,been travelling to attend Kubecon India 😅 ,i will make the changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @aryan9600 ,i tried by placing USER 1001:1001
in dockerfile,it shows the same error as error: container has runasnonroot and image will run as root
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you might be setting the user in the build step of the Dockerfile. you should set it in the final step of the Dockerfile:
FROM --platform=$BUILDPLATFORM tonistiigi/xx AS xx-tools
FROM --platform=$BUILDPLATFORM rust:alpine AS builder
RUN apk add --no-cache clang lld
WORKDIR /workspace
COPY --from=xx-tools / /
ARG TARGETPLATFORM
ARG PROJECT_DIR=/workspace
ARG BUILD_DIR=$PROJECT_DIR/build
RUN --mount=type=bind,source=../controlplane/src/,target=src \
--mount=type=bind,source=../controlplane/Cargo.toml,target=Cargo.toml \
--mount=type=bind,source=../controlplane/Cargo.lock,target=Cargo.lock \
xx-cargo build --release --target-dir $BUILD_DIR && \
xx-verify ./build/$(xx-cargo --print-target-triple)/release/controller
RUN cp ./build/$(xx-cargo --print-target-triple)/release/controller /workspace/manager
FROM alpine:latest
WORKDIR /
USER 1000:1000
COPY --from=builder /workspace/manager /manager
i can get the application to run with this Dockerfile and without the need for runAsUser
in the deployment configuration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hi @aryan9600 ,i did set in the final step but its not working 🥲 ,can we hop on a meet whenever you are free?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you share the error you're seeing?
Description:
This PR addresses the issue related to the missing
manager
binary in the Dockerfile and an error encountered due to user permissions in thedeployment.yaml
.Dockerfile Update:
manager
has been added to the Dockerfile as expected in line 38 of the deployment config.Deployment Update:
Added
runAsUser: 1000
to thedeployment.yaml
to resolve the permission error shown below:Testing
To test this change:
make build.image.controlplane
.kubectl apply -k config/default
to deploy the changes.