Skip to content

Commit 2d1d915

Browse files
committed
fix merge
1 parent 46c4076 commit 2d1d915

File tree

2 files changed

+38
-62
lines changed

2 files changed

+38
-62
lines changed

docker/mongodb-agent/Dockerfile

Lines changed: 14 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,19 @@
1-
# the init database image gets supplied by pipeline.py and corresponds to the operator version we want to release
2-
# the agent with. This enables us to release the agent for older operator.
3-
ARG init_database_image
4-
FROM ${init_database_image} AS init_database
5-
6-
FROM public.ecr.aws/docker/library/golang:1.24 AS dependency_downloader
7-
8-
WORKDIR /go/src/github.com/mongodb/mongodb-kubernetes/
9-
10-
COPY go.mod go.sum ./
11-
12-
RUN go mod download
13-
14-
FROM public.ecr.aws/docker/library/golang:1.24 AS readiness_builder
15-
16-
WORKDIR /go/src/github.com/mongodb/mongodb-kubernetes/
17-
18-
COPY --from=dependency_downloader /go/pkg /go/pkg
19-
COPY . /go/src/github.com/mongodb/mongodb-kubernetes
20-
21-
RUN CGO_ENABLED=0 GOFLAGS=-buildvcs=false go build -o /readinessprobe ./mongodb-community-operator/cmd/readiness/main.go
22-
RUN CGO_ENABLED=0 GOFLAGS=-buildvcs=false go build -o /version-upgrade-hook ./mongodb-community-operator/cmd/versionhook/main.go
23-
241
FROM scratch AS base
25-
ARG mongodb_tools_url_ubi
26-
ARG mongodb_agent_url_ubi
272

28-
COPY --from=readiness_builder /readinessprobe /data/
29-
COPY --from=readiness_builder /version-upgrade-hook /data/
3+
ARG agent_version
4+
ARG agent_distro
5+
ARG tools_version
6+
ARG tools_distro
307

31-
ADD ${mongodb_tools_url_ubi} /data/mongodb_tools_ubi.tgz
32-
ADD ${mongodb_agent_url_ubi} /data/mongodb_agent_ubi.tgz
8+
ADD https://mciuploads.s3.amazonaws.com/mms-automation/mongodb-mms-build-agent/builds/automation-agent/prod/mongodb-mms-automation-agent-${agent_version}.${agent_distro}.tar.gz /data/mongodb-agent.tar.gz
9+
ADD https://downloads.mongodb.org/tools/db/mongodb-database-tools-${tools_distro}-${tools_version}.tgz /data/mongodb-tools.tgz
3310

34-
COPY --from=init_database /probes/probe.sh /data/probe.sh
35-
COPY --from=init_database /scripts/agent-launcher-lib.sh /data/
36-
COPY --from=init_database /scripts/agent-launcher.sh /data/
37-
COPY --from=init_database /licenses/LICENSE /data/
11+
COPY ./docker/mongodb-kubernetes-init-database/content/LICENSE /data/LICENSE
12+
COPY ./docker/mongodb-kubernetes-init-database/content/LICENSE /data/LICENSE
13+
COPY ./docker/mongodb-agent/agent-launcher-shim.sh /opt/scripts/agent-launcher-shim.sh
14+
COPY ./docker/mongodb-agent/setup-agent-files.sh /opt/scripts/setup-agent-files.sh
15+
COPY ./docker/mongodb-agent/dummy-probe.sh /opt/scripts/dummy-probe.sh
16+
COPY ./docker/mongodb-agent/dummy-readinessprobe.sh /opt/scripts/dummy-readinessprobe.sh
3817

3918
FROM registry.access.redhat.com/ubi9/ubi-minimal
4019

@@ -76,21 +55,17 @@ RUN mkdir -p /agent \
7655
&& touch /var/log/mongodb-mms-automation/readiness.log \
7756
&& chmod ugo+rw /var/log/mongodb-mms-automation/readiness.log
7857

79-
RUN mkdir -p /opt/scripts
8058

8159
COPY --from=base /data/mongodb-agent.tar.gz /agent
8260
COPY --from=base /data/mongodb-tools.tgz /agent
8361
COPY --from=base /data/LICENSE /licenses/LICENSE
62+
63+
# Copy scripts to a safe location that won't be overwritten by volume mount
8464
COPY --from=base /opt/scripts/agent-launcher-shim.sh /usr/local/bin/agent-launcher-shim.sh
8565
COPY --from=base /opt/scripts/setup-agent-files.sh /usr/local/bin/setup-agent-files.sh
86-
87-
# Copy dummy probe scripts to a safe location that won't be overwritten by volume mount
8866
COPY --from=base /opt/scripts/dummy-probe.sh /usr/local/bin/dummy-probe.sh
8967
COPY --from=base /opt/scripts/dummy-readinessprobe.sh /usr/local/bin/dummy-readinessprobe
9068

91-
# Make all scripts executable
92-
RUN chmod +x /usr/local/bin/agent-launcher-shim.sh /usr/local/bin/dummy-probe.sh /usr/local/bin/dummy-readinessprobe
93-
9469
RUN tar xfz /agent/mongodb-agent.tar.gz \
9570
&& mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent \
9671
&& chmod +x /agent/mongodb-agent \

docker/mongodb-agent/Dockerfile.old

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,6 @@ LABEL name="MongoDB Agent" \
1313
release="1" \
1414
maintainer="[email protected]"
1515

16-
COPY --from=base /data/probe.sh /opt/scripts/probe.sh
17-
COPY --from=base /data/readinessprobe /opt/scripts/readinessprobe
18-
COPY --from=base /data/version-upgrade-hook /opt/scripts/version-upgrade-hook
19-
COPY --from=base /data/agent-launcher-lib.sh /opt/scripts/agent-launcher-lib.sh
20-
COPY --from=base /data/agent-launcher.sh /opt/scripts/agent-launcher.sh
21-
COPY --from=base /data/LICENSE /licenses/LICENSE
22-
2316
# Replace libcurl-minimal and curl-minimal with the full versions
2417
# https://bugzilla.redhat.com/show_bug.cgi?id=1994521
2518
RUN microdnf install -y libssh libpsl libbrotli \
@@ -40,25 +33,33 @@ RUN microdnf install -y --disableplugin=subscription-manager \
4033
&& microdnf upgrade -y \
4134
&& rm -rf /var/lib/apt/lists/*
4235

36+
RUN mkdir -p /agent \
37+
&& mkdir -p /var/lib/mongodb-mms-automation \
38+
&& mkdir -p /var/log/mongodb-mms-automation/ \
39+
&& chmod -R +wr /var/log/mongodb-mms-automation/ \
40+
# ensure that the agent user can write the logs in OpenShift
41+
&& touch /var/log/mongodb-mms-automation/readiness.log \
42+
&& chmod ugo+rw /var/log/mongodb-mms-automation/readiness.log
4343

44-
COPY --from=base /data/mongodb_tools_ubi.tgz /tools/mongodb_tools.tgz
45-
COPY --from=base /data/mongodb_agent_ubi.tgz /agent/mongodb_agent.tgz
44+
COPY --from=base /data/mongodb-agent.tar.gz /agent
45+
COPY --from=base /data/mongodb-tools.tgz /agent
46+
COPY --from=base /data/LICENSE /licenses/LICENSE
4647

47-
RUN tar xfz /tools/mongodb_tools.tgz
48-
RUN mv mongodb-database-tools-*/bin/* /tools
49-
RUN chmod +x /tools/*
50-
RUN rm /tools/mongodb_tools.tgz
51-
RUN rm -rf /mongodb-database-tools-*
48+
# Copy scripts to a safe location that won't be overwritten by volume mount
49+
COPY --from=base /opt/scripts/agent-launcher-shim.sh /usr/local/bin/agent-launcher-shim.sh
50+
COPY --from=base /opt/scripts/setup-agent-files.sh /usr/local/bin/setup-agent-files.sh
51+
COPY --from=base /opt/scripts/dummy-probe.sh /usr/local/bin/dummy-probe.sh
52+
COPY --from=base /opt/scripts/dummy-readinessprobe.sh /usr/local/bin/dummy-readinessprobe
5253

53-
RUN tar xfz /agent/mongodb_agent.tgz
54-
RUN mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent
55-
RUN chmod +x /agent/mongodb-agent
56-
RUN rm /agent/mongodb_agent.tgz
57-
RUN rm -rf mongodb-mms-automation-agent-*
54+
RUN tar xfz /agent/mongodb-agent.tar.gz \
55+
&& mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent \
56+
&& chmod +x /agent/mongodb-agent \
57+
&& mkdir -p /var/lib/automation/config \
58+
&& chmod -R +r /var/lib/automation/config \
59+
&& rm /agent/mongodb-agent.tar.gz \
60+
&& rm -r mongodb-mms-automation-agent-*
5861

59-
RUN mkdir -p /var/lib/automation/config
60-
RUN chmod -R +r /var/lib/automation/config
62+
RUN tar xfz /agent/mongodb-tools.tgz --directory /var/lib/mongodb-mms-automation/ && rm /agent/mongodb-tools.tgz
6163

6264
USER 2000
63-
64-
HEALTHCHECK --timeout=30s CMD ls /opt/scripts/readinessprobe || exit 1
65+
CMD ["/agent/mongodb-agent", "-cluster=/var/lib/automation/config/automation-config.json"]

0 commit comments

Comments
 (0)