Skip to content

Commit 507b03b

Browse files
committed
run assertoor as regular user
1 parent 0d93ae1 commit 507b03b

File tree

4 files changed

+34
-12
lines changed

4 files changed

+34
-12
lines changed

Dockerfile

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-reco
1616
make \
1717
sudo \
1818
&& apt-get clean \
19-
&& rm -rf /var/lib/apt/lists/*
20-
COPY --from=builder /src/bin/assertoor /assertoor
21-
ENTRYPOINT ["/assertoor"]
19+
&& rm -rf /var/lib/apt/lists/* \
20+
&& update-ca-certificates
21+
RUN groupadd -g 10001 assertoor && useradd -m -u 10001 -g assertoor assertoor
22+
RUN echo "assertoor ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/assertoor
23+
WORKDIR /app
24+
COPY --from=builder /src/bin/* /app/
25+
RUN chown -R assertoor:assertoor /app/*
26+
USER assertoor
27+
ENTRYPOINT ["/app/assertoor"]
28+

Dockerfile-local

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,17 @@ RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-reco
1919
make \
2020
sudo \
2121
&& apt-get clean \
22-
&& rm -rf /var/lib/apt/lists/*
23-
COPY --from=builder /src/bin/assertoor /assertoor
22+
&& rm -rf /var/lib/apt/lists/* \
23+
&& update-ca-certificates
24+
ARG userid=10001
25+
ARG groupid=10001
26+
RUN groupadd -g ${groupid} assertoor && useradd -m -u ${userid} -g assertoor assertoor
27+
RUN echo "assertoor ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/assertoor
28+
WORKDIR /app
29+
COPY --from=builder /src/bin/* /app/
30+
RUN chown -R assertoor:assertoor /app/*
2431
RUN mkdir /workspace
32+
USER assertoor
2533
WORKDIR /workspace
26-
ENTRYPOINT ["/assertoor"]
34+
EXPOSE 8080
35+
ENTRYPOINT ["/app/assertoor"]

Dockerfile-stub

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11

22
# final stage
33
FROM debian:stable-slim
4-
WORKDIR /app
54
RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-recommends \
65
libssl-dev \
76
ca-certificates \
@@ -11,9 +10,14 @@ RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-reco
1110
make \
1211
sudo \
1312
&& apt-get clean \
14-
&& rm -rf /var/lib/apt/lists/*
15-
RUN update-ca-certificates
16-
COPY bin/* /app
13+
&& rm -rf /var/lib/apt/lists/* \
14+
&& update-ca-certificates
15+
RUN groupadd -g 10001 assertoor && useradd -m -u 10001 -g assertoor assertoor
16+
RUN echo "assertoor ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/assertoor
17+
WORKDIR /app
18+
COPY bin/* /app/
19+
RUN chown -R assertoor:assertoor /app/*
20+
USER assertoor
1721
EXPOSE 8080
1822
ENTRYPOINT ["./assertoor"]
1923
CMD []

Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
VERSION := $(shell git rev-parse --short HEAD)
33
GOLDFLAGS += -X 'github.com/ethpandaops/assertoor/pkg/coordinator/buildinfo.BuildVersion="$(VERSION)"'
44
GOLDFLAGS += -X 'github.com/ethpandaops/assertoor/pkg/coordinator/buildinfo.BuildRelease="$(RELEASE)"'
5+
CURRENT_UID := $(shell id -u)
6+
CURRENT_GID := $(shell id -g)
57

68
.PHONY: all docs test clean
79

@@ -27,8 +29,8 @@ devnet-run: devnet
2729
go run main.go --config .hack/devnet/generated-assertoor-config.yaml
2830

2931
devnet-run-docker: devnet
30-
docker build --file ./Dockerfile-local -t assertoor:devnet-run .
31-
docker run --rm -v $(PWD):/workspace -p 8080:8080 --network kt-assertoor -it assertoor:devnet-run --config .hack/devnet/generated-assertoor-config.yaml
32+
docker build --file ./Dockerfile-local -t assertoor:devnet-run --build-arg userid=$(CURRENT_UID) --build-arg groupid=$(CURRENT_GID) .
33+
docker run --rm -v $(PWD):/workspace -p 8080:8080 -u $(CURRENT_UID):$(CURRENT_GID) --network kt-assertoor -it assertoor:devnet-run --config .hack/devnet/generated-assertoor-config.yaml
3234

3335
devnet-clean:
3436
.hack/devnet/cleanup.sh

0 commit comments

Comments
 (0)