Skip to content

Commit 1c5f517

Browse files
authored
CLOUDP-338090 - remove operator images from update_supported_dockerfiles.py + fix recurrency (#347)
# Summary Because we are not pushing `Dockerfiles` to S3 for operator related images, I needed to remove them from `SUPPORTED_IMAGES`. `SUPPORTED_IMAGES` currently only contains: ```python SUPPORTED_IMAGES = ( "mongodb-agent", "mongodb-enterprise-ops-manager", ) ``` because they are still build using legacy pipeline.py that sends them to S3. **All other `Dockerfiles` need to be added manually during release or stop adding them to `public/dockerfiles/` anymore and add them for example as GitHub assets during release.** This PR also: - fixes recurrency in the script - adds missing images for `1.2.0` release and `agent` + `om` from recent bump ## Proof of Work Passing script before: ``` (venv) ➜ mongodb-kubernetes git:(master) ✗ scripts/dev/run_python.sh -m scripts.update_supported_dockerfiles Image: mongodb-agent * 107.0.11.8645-1 - ubi: public/dockerfiles/mongodb-agent/107.0.11.8645-1/ubi/Dockerfile * 107.0.12.8669-1 - ubi: public/dockerfiles/mongodb-agent/107.0.12.8669-1/ubi/Dockerfile * 107.0.13.8702-1 - ubi: public/dockerfiles/mongodb-agent/107.0.13.8702-1/ubi/Dockerfile * 107.0.15.8741-1 - ubi: public/dockerfiles/mongodb-agent/107.0.15.8741-1/ubi/Dockerfile * 107.0.17.8771-1 - ubi: public/dockerfiles/mongodb-agent/107.0.17.8771-1/ubi/Dockerfile * 108.0.0.8694-1 - ubi: public/dockerfiles/mongodb-agent/108.0.0.8694-1/ubi/Dockerfile * 108.0.1.8718-1 - ubi: public/dockerfiles/mongodb-agent/108.0.1.8718-1/ubi/Dockerfile * 108.0.11.8830-1 - ubi: public/dockerfiles/mongodb-agent/108.0.11.8830-1/ubi/Dockerfile * 108.0.12.8846-1 - ubi: public/dockerfiles/mongodb-agent/108.0.12.8846-1/ubi/Dockerfile * 108.0.2.8729-1 - ubi: public/dockerfiles/mongodb-agent/108.0.2.8729-1/ubi/Dockerfile * 108.0.3.8758-1 - ubi: public/dockerfiles/mongodb-agent/108.0.3.8758-1/ubi/Dockerfile * 108.0.4.8770-1 - ubi: public/dockerfiles/mongodb-agent/108.0.4.8770-1/ubi/Dockerfile * 108.0.6.8796-1 - ubi: public/dockerfiles/mongodb-agent/108.0.6.8796-1/ubi/Dockerfile * 108.0.7.8810-1 - ubi: public/dockerfiles/mongodb-agent/108.0.7.8810-1/ubi/Dockerfile * 12.0.34.7888-1 - ubi: public/dockerfiles/mongodb-agent/12.0.34.7888-1/ubi/Dockerfile * 12.0.35.7911-1 - ubi: public/dockerfiles/mongodb-agent/12.0.35.7911-1/ubi/Dockerfile * 13.37.0.9590-1 - ubi: public/dockerfiles/mongodb-agent/13.37.0.9590-1/ubi/Dockerfile Image: mongodb-kubernetes-database * 1.0.1 - ubi: public/dockerfiles/mongodb-kubernetes-database/1.0.1/ubi/Dockerfile * 1.1.0 - ubi: public/dockerfiles/mongodb-kubernetes-database/1.1.0/ubi/Dockerfile * 1.2.0 - ubi: public/dockerfiles/mongodb-kubernetes-database/1.2.0/ubi/Dockerfile Image: mongodb-kubernetes-init-database * 1.0.1 - ubi: public/dockerfiles/mongodb-kubernetes-init-database/1.0.1/ubi/Dockerfile * 1.1.0 - ubi: public/dockerfiles/mongodb-kubernetes-init-database/1.1.0/ubi/Dockerfile * 1.2.0 - ubi: public/dockerfiles/mongodb-kubernetes-init-database/1.2.0/ubi/Dockerfile Image: mongodb-kubernetes-init-appdb * 1.0.1 - ubi: public/dockerfiles/mongodb-kubernetes-init-appdb/1.0.1/ubi/Dockerfile * 1.1.0 - ubi: public/dockerfiles/mongodb-kubernetes-init-appdb/1.1.0/ubi/Dockerfile * 1.2.0 - ubi: public/dockerfiles/mongodb-kubernetes-init-appdb/1.2.0/ubi/Dockerfile Image: mongodb-enterprise-ops-manager * 6.0.26 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/6.0.26/ubi/Dockerfile * 6.0.27 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/6.0.27/ubi/Dockerfile * 7.0.11 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.11/ubi/Dockerfile * 7.0.12 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.12/ubi/Dockerfile * 7.0.13 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.13/ubi/Dockerfile * 7.0.14 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.14/ubi/Dockerfile * 7.0.15 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.15/ubi/Dockerfile * 7.0.17 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.17/ubi/Dockerfile * 8.0.0 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.0/ubi/Dockerfile * 8.0.1 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.1/ubi/Dockerfile * 8.0.11 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.11/ubi/Dockerfile * 8.0.12 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.12/ubi/Dockerfile * 8.0.2 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.2/ubi/Dockerfile * 8.0.3 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.3/ubi/Dockerfile * 8.0.4 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.4/ubi/Dockerfile * 8.0.5 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.5/ubi/Dockerfile * 8.0.6 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.6/ubi/Dockerfile * 8.0.7 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.7/ubi/Dockerfile Image: mongodb-kubernetes-init-ops-manager * 1.0.1 - ubi: public/dockerfiles/mongodb-kubernetes-init-ops-manager/1.0.1/ubi/Dockerfile * 1.1.0 - ubi: public/dockerfiles/mongodb-kubernetes-init-ops-manager/1.1.0/ubi/Dockerfile * 1.2.0 - ubi: public/dockerfiles/mongodb-kubernetes-init-ops-manager/1.2.0/ubi/Dockerfile Image: mongodb-kubernetes * 1.0.1 - ubi: public/dockerfiles/mongodb-kubernetes/1.0.1/ubi/Dockerfile * 1.1.0 - ubi: public/dockerfiles/mongodb-kubernetes/1.1.0/ubi/Dockerfile * 1.2.0 - ubi: public/dockerfiles/mongodb-kubernetes/1.2.0/ubi/Dockerfile ``` and after removing operator related images: ``` (venv) ➜ mongodb-kubernetes git:(master) ✗ scripts/dev/run_python.sh -m scripts.update_supported_dockerfiles Image: mongodb-agent * 107.0.11.8645-1 - ubi: public/dockerfiles/mongodb-agent/107.0.11.8645-1/ubi/Dockerfile * 107.0.12.8669-1 - ubi: public/dockerfiles/mongodb-agent/107.0.12.8669-1/ubi/Dockerfile * 107.0.13.8702-1 - ubi: public/dockerfiles/mongodb-agent/107.0.13.8702-1/ubi/Dockerfile * 107.0.15.8741-1 - ubi: public/dockerfiles/mongodb-agent/107.0.15.8741-1/ubi/Dockerfile * 107.0.17.8771-1 - ubi: public/dockerfiles/mongodb-agent/107.0.17.8771-1/ubi/Dockerfile * 108.0.0.8694-1 - ubi: public/dockerfiles/mongodb-agent/108.0.0.8694-1/ubi/Dockerfile * 108.0.1.8718-1 - ubi: public/dockerfiles/mongodb-agent/108.0.1.8718-1/ubi/Dockerfile * 108.0.11.8830-1 - ubi: public/dockerfiles/mongodb-agent/108.0.11.8830-1/ubi/Dockerfile * 108.0.12.8846-1 - ubi: public/dockerfiles/mongodb-agent/108.0.12.8846-1/ubi/Dockerfile * 108.0.2.8729-1 - ubi: public/dockerfiles/mongodb-agent/108.0.2.8729-1/ubi/Dockerfile * 108.0.3.8758-1 - ubi: public/dockerfiles/mongodb-agent/108.0.3.8758-1/ubi/Dockerfile * 108.0.4.8770-1 - ubi: public/dockerfiles/mongodb-agent/108.0.4.8770-1/ubi/Dockerfile * 108.0.6.8796-1 - ubi: public/dockerfiles/mongodb-agent/108.0.6.8796-1/ubi/Dockerfile * 108.0.7.8810-1 - ubi: public/dockerfiles/mongodb-agent/108.0.7.8810-1/ubi/Dockerfile * 12.0.34.7888-1 - ubi: public/dockerfiles/mongodb-agent/12.0.34.7888-1/ubi/Dockerfile * 12.0.35.7911-1 - ubi: public/dockerfiles/mongodb-agent/12.0.35.7911-1/ubi/Dockerfile * 13.37.0.9590-1 - ubi: public/dockerfiles/mongodb-agent/13.37.0.9590-1/ubi/Dockerfile Image: mongodb-enterprise-ops-manager * 6.0.26 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/6.0.26/ubi/Dockerfile * 6.0.27 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/6.0.27/ubi/Dockerfile * 7.0.11 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.11/ubi/Dockerfile * 7.0.12 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.12/ubi/Dockerfile * 7.0.13 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.13/ubi/Dockerfile * 7.0.14 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.14/ubi/Dockerfile * 7.0.15 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.15/ubi/Dockerfile * 7.0.17 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/7.0.17/ubi/Dockerfile * 8.0.0 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.0/ubi/Dockerfile * 8.0.1 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.1/ubi/Dockerfile * 8.0.11 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.11/ubi/Dockerfile * 8.0.12 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.12/ubi/Dockerfile * 8.0.2 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.2/ubi/Dockerfile * 8.0.3 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.3/ubi/Dockerfile * 8.0.4 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.4/ubi/Dockerfile * 8.0.5 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.5/ubi/Dockerfile * 8.0.6 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.6/ubi/Dockerfile * 8.0.7 - ubi: public/dockerfiles/mongodb-enterprise-ops-manager/8.0.7/ubi/Dockerfile ``` ## Checklist - [ ] Have you linked a jira ticket and/or is the ticket in the title? - [ ] Have you checked whether your jira ticket required DOCSP changes? - [ ] Have you added changelog file? - use `skip-changelog` label if not needed - refer to [Changelog files and Release Notes](https://github.com/mongodb/mongodb-kubernetes/blob/master/CONTRIBUTING.md#changelog-files-and-release-notes) section in CONTRIBUTING.md for more details
1 parent 08fcb52 commit 1c5f517

File tree

16 files changed

+736
-13
lines changed

16 files changed

+736
-13
lines changed

public/dockerfiles/mongodb-agent/107.0.12.8669-1/ubi/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@ RUN mkdir -p /agent \
4141
&& touch /var/log/mongodb-mms-automation/readiness.log \
4242
&& chmod ugo+rw /var/log/mongodb-mms-automation/readiness.log
4343

44-
4544
COPY --from=base /data/mongodb-agent.tar.gz /agent
4645
COPY --from=base /data/mongodb-tools.tgz /agent
4746
COPY --from=base /data/LICENSE /licenses/LICENSE
4847

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
53+
4954
RUN tar xfz /agent/mongodb-agent.tar.gz \
5055
&& mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent \
5156
&& chmod +x /agent/mongodb-agent \

public/dockerfiles/mongodb-agent/107.0.15.8741-1/ubi/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@ RUN mkdir -p /agent \
4141
&& touch /var/log/mongodb-mms-automation/readiness.log \
4242
&& chmod ugo+rw /var/log/mongodb-mms-automation/readiness.log
4343

44-
4544
COPY --from=base /data/mongodb-agent.tar.gz /agent
4645
COPY --from=base /data/mongodb-tools.tgz /agent
4746
COPY --from=base /data/LICENSE /licenses/LICENSE
4847

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
53+
4954
RUN tar xfz /agent/mongodb-agent.tar.gz \
5055
&& mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent \
5156
&& chmod +x /agent/mongodb-agent \
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
ARG imagebase
2+
FROM ${imagebase} as base
3+
4+
FROM registry.access.redhat.com/ubi9/ubi-minimal
5+
6+
ARG version
7+
8+
LABEL name="MongoDB Agent" \
9+
version="${version}" \
10+
summary="MongoDB Agent" \
11+
description="MongoDB Agent" \
12+
vendor="MongoDB" \
13+
release="1" \
14+
maintainer="[email protected]"
15+
16+
# Replace libcurl-minimal and curl-minimal with the full versions
17+
# https://bugzilla.redhat.com/show_bug.cgi?id=1994521
18+
RUN microdnf install -y libssh libpsl libbrotli \
19+
&& microdnf download curl libcurl \
20+
&& rpm -Uvh --nodeps --replacefiles "*curl*$( uname -i ).rpm" \
21+
&& microdnf remove -y libcurl-minimal curl-minimal
22+
23+
RUN microdnf install -y --disableplugin=subscription-manager --setopt=install_weak_deps=0 nss_wrapper
24+
# Copy-pasted from https://www.mongodb.com/docs/manual/tutorial/install-mongodb-enterprise-on-red-hat-tarball/
25+
RUN microdnf install -y --disableplugin=subscription-manager \
26+
cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs openldap openssl xz-libs
27+
# Dependencies for the Agent
28+
RUN microdnf install -y --disableplugin=subscription-manager --setopt=install_weak_deps=0 \
29+
net-snmp \
30+
net-snmp-agent-libs
31+
RUN microdnf install -y --disableplugin=subscription-manager \
32+
hostname tar gzip procps jq \
33+
&& microdnf upgrade -y \
34+
&& rm -rf /var/lib/apt/lists/*
35+
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
43+
44+
45+
COPY --from=base /data/mongodb-agent.tar.gz /agent
46+
COPY --from=base /data/mongodb-tools.tgz /agent
47+
COPY --from=base /data/LICENSE /licenses/LICENSE
48+
49+
RUN tar xfz /agent/mongodb-agent.tar.gz \
50+
&& mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent \
51+
&& chmod +x /agent/mongodb-agent \
52+
&& mkdir -p /var/lib/automation/config \
53+
&& chmod -R +r /var/lib/automation/config \
54+
&& rm /agent/mongodb-agent.tar.gz \
55+
&& rm -r mongodb-mms-automation-agent-*
56+
57+
RUN tar xfz /agent/mongodb-tools.tgz --directory /var/lib/mongodb-mms-automation/ && rm /agent/mongodb-tools.tgz
58+
59+
USER 2000
60+
CMD ["/agent/mongodb-agent", "-cluster=/var/lib/automation/config/automation-config.json"]
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
ARG imagebase
2+
FROM ${imagebase} as base
3+
4+
FROM registry.access.redhat.com/ubi9/ubi-minimal
5+
6+
ARG version
7+
8+
LABEL name="MongoDB Agent" \
9+
version="${version}" \
10+
summary="MongoDB Agent" \
11+
description="MongoDB Agent" \
12+
vendor="MongoDB" \
13+
release="1" \
14+
maintainer="[email protected]"
15+
16+
# Replace libcurl-minimal and curl-minimal with the full versions
17+
# https://bugzilla.redhat.com/show_bug.cgi?id=1994521
18+
RUN microdnf install -y libssh libpsl libbrotli \
19+
&& microdnf download curl libcurl \
20+
&& rpm -Uvh --nodeps --replacefiles "*curl*$( uname -i ).rpm" \
21+
&& microdnf remove -y libcurl-minimal curl-minimal
22+
23+
RUN microdnf install -y --disableplugin=subscription-manager --setopt=install_weak_deps=0 nss_wrapper
24+
# Copy-pasted from https://www.mongodb.com/docs/manual/tutorial/install-mongodb-enterprise-on-red-hat-tarball/
25+
RUN microdnf install -y --disableplugin=subscription-manager \
26+
cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs openldap openssl xz-libs
27+
# Dependencies for the Agent
28+
RUN microdnf install -y --disableplugin=subscription-manager --setopt=install_weak_deps=0 \
29+
net-snmp \
30+
net-snmp-agent-libs
31+
RUN microdnf install -y --disableplugin=subscription-manager \
32+
hostname tar gzip procps jq \
33+
&& microdnf upgrade -y \
34+
&& rm -rf /var/lib/apt/lists/*
35+
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
43+
44+
45+
COPY --from=base /data/mongodb-agent.tar.gz /agent
46+
COPY --from=base /data/mongodb-tools.tgz /agent
47+
COPY --from=base /data/LICENSE /licenses/LICENSE
48+
49+
RUN tar xfz /agent/mongodb-agent.tar.gz \
50+
&& mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent \
51+
&& chmod +x /agent/mongodb-agent \
52+
&& mkdir -p /var/lib/automation/config \
53+
&& chmod -R +r /var/lib/automation/config \
54+
&& rm /agent/mongodb-agent.tar.gz \
55+
&& rm -r mongodb-mms-automation-agent-*
56+
57+
RUN tar xfz /agent/mongodb-tools.tgz --directory /var/lib/mongodb-mms-automation/ && rm /agent/mongodb-tools.tgz
58+
59+
USER 2000
60+
CMD ["/agent/mongodb-agent", "-cluster=/var/lib/automation/config/automation-config.json"]
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
ARG imagebase
2+
FROM ${imagebase} as base
3+
4+
FROM registry.access.redhat.com/ubi9/ubi-minimal
5+
6+
ARG version
7+
8+
LABEL name="MongoDB Agent" \
9+
version="${version}" \
10+
summary="MongoDB Agent" \
11+
description="MongoDB Agent" \
12+
vendor="MongoDB" \
13+
release="1" \
14+
maintainer="[email protected]"
15+
16+
# Replace libcurl-minimal and curl-minimal with the full versions
17+
# https://bugzilla.redhat.com/show_bug.cgi?id=1994521
18+
RUN microdnf install -y libssh libpsl libbrotli \
19+
&& microdnf download curl libcurl \
20+
&& rpm -Uvh --nodeps --replacefiles "*curl*$( uname -i ).rpm" \
21+
&& microdnf remove -y libcurl-minimal curl-minimal
22+
23+
RUN microdnf install -y --disableplugin=subscription-manager --setopt=install_weak_deps=0 nss_wrapper
24+
# Copy-pasted from https://www.mongodb.com/docs/manual/tutorial/install-mongodb-enterprise-on-red-hat-tarball/
25+
RUN microdnf install -y --disableplugin=subscription-manager \
26+
cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs openldap openssl xz-libs
27+
# Dependencies for the Agent
28+
RUN microdnf install -y --disableplugin=subscription-manager --setopt=install_weak_deps=0 \
29+
net-snmp \
30+
net-snmp-agent-libs
31+
RUN microdnf install -y --disableplugin=subscription-manager \
32+
hostname tar gzip procps jq \
33+
&& microdnf upgrade -y \
34+
&& rm -rf /var/lib/apt/lists/*
35+
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
43+
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
47+
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
53+
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-*
61+
62+
RUN tar xfz /agent/mongodb-tools.tgz --directory /var/lib/mongodb-mms-automation/ && rm /agent/mongodb-tools.tgz
63+
64+
USER 2000
65+
CMD ["/agent/mongodb-agent", "-cluster=/var/lib/automation/config/automation-config.json"]

public/dockerfiles/mongodb-agent/12.0.35.7911-1/ubi/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@ RUN mkdir -p /agent \
4141
&& touch /var/log/mongodb-mms-automation/readiness.log \
4242
&& chmod ugo+rw /var/log/mongodb-mms-automation/readiness.log
4343

44-
4544
COPY --from=base /data/mongodb-agent.tar.gz /agent
4645
COPY --from=base /data/mongodb-tools.tgz /agent
4746
COPY --from=base /data/LICENSE /licenses/LICENSE
4847

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
53+
4954
RUN tar xfz /agent/mongodb-agent.tar.gz \
5055
&& mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent \
5156
&& chmod +x /agent/mongodb-agent \
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
ARG imagebase
2+
FROM ${imagebase} as base
3+
4+
FROM registry.access.redhat.com/ubi9/ubi-minimal
5+
6+
ARG version
7+
8+
LABEL name="MongoDB Agent" \
9+
version="${version}" \
10+
summary="MongoDB Agent" \
11+
description="MongoDB Agent" \
12+
vendor="MongoDB" \
13+
release="1" \
14+
maintainer="[email protected]"
15+
16+
# Replace libcurl-minimal and curl-minimal with the full versions
17+
# https://bugzilla.redhat.com/show_bug.cgi?id=1994521
18+
RUN microdnf install -y libssh libpsl libbrotli \
19+
&& microdnf download curl libcurl \
20+
&& rpm -Uvh --nodeps --replacefiles "*curl*$( uname -i ).rpm" \
21+
&& microdnf remove -y libcurl-minimal curl-minimal
22+
23+
RUN microdnf install -y --disableplugin=subscription-manager --setopt=install_weak_deps=0 nss_wrapper
24+
# Copy-pasted from https://www.mongodb.com/docs/manual/tutorial/install-mongodb-enterprise-on-red-hat-tarball/
25+
RUN microdnf install -y --disableplugin=subscription-manager \
26+
cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs openldap openssl xz-libs
27+
# Dependencies for the Agent
28+
RUN microdnf install -y --disableplugin=subscription-manager --setopt=install_weak_deps=0 \
29+
net-snmp \
30+
net-snmp-agent-libs
31+
RUN microdnf install -y --disableplugin=subscription-manager \
32+
hostname tar gzip procps jq \
33+
&& microdnf upgrade -y \
34+
&& rm -rf /var/lib/apt/lists/*
35+
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
43+
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
47+
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
53+
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-*
61+
62+
RUN tar xfz /agent/mongodb-tools.tgz --directory /var/lib/mongodb-mms-automation/ && rm /agent/mongodb-tools.tgz
63+
64+
USER 2000
65+
CMD ["/agent/mongodb-agent", "-cluster=/var/lib/automation/config/automation-config.json"]
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
ARG imagebase
2+
FROM ${imagebase} as base
3+
4+
FROM registry.access.redhat.com/ubi9/ubi-minimal
5+
6+
7+
LABEL name="MongoDB Enterprise Ops Manager" \
8+
maintainer="[email protected]" \
9+
vendor="MongoDB" \
10+
version="7.0.17" \
11+
release="1" \
12+
summary="MongoDB Enterprise Ops Manager Image" \
13+
description="MongoDB Enterprise Ops Manager"
14+
15+
16+
ENV MMS_HOME /mongodb-ops-manager
17+
ENV MMS_PROP_FILE ${MMS_HOME}/conf/conf-mms.properties
18+
ENV MMS_CONF_FILE ${MMS_HOME}/conf/mms.conf
19+
ENV MMS_LOG_DIR ${MMS_HOME}/logs
20+
ENV MMS_TMP_DIR ${MMS_HOME}/tmp
21+
22+
EXPOSE 8080
23+
24+
# OpsManager docker image needs to have the MongoDB dependencies because the
25+
# backup daemon is running its database locally
26+
27+
28+
# Replace libcurl-minimal and curl-minimal with the full versions
29+
# https://bugzilla.redhat.com/show_bug.cgi?id=1994521
30+
RUN microdnf install -y libssh libpsl libbrotli \
31+
&& microdnf download curl libcurl \
32+
&& rpm -Uvh --nodeps --replacefiles "*curl*$( uname -i ).rpm" \
33+
&& microdnf remove -y libcurl-minimal curl-minimal
34+
35+
RUN microdnf install --disableplugin=subscription-manager -y \
36+
cyrus-sasl \
37+
cyrus-sasl-gssapi \
38+
cyrus-sasl-plain \
39+
krb5-libs \
40+
libpcap \
41+
lm_sensors-libs \
42+
net-snmp \
43+
net-snmp-agent-libs \
44+
openldap \
45+
openssl \
46+
tar \
47+
rpm-libs \
48+
net-tools \
49+
procps-ng \
50+
ncurses
51+
52+
53+
COPY --from=base /data/licenses /licenses/
54+
55+
COPY --from=base /data/scripts /opt/scripts
56+
57+
58+
59+
RUN curl --fail -L -o ops_manager.tar.gz https://downloads.mongodb.com/on-prem-mms/tar/mongodb-mms-7.0.17.500.20250806T1728Z.tar.gz \
60+
&& tar -xzf ops_manager.tar.gz \
61+
&& rm ops_manager.tar.gz \
62+
&& mv mongodb-mms* "${MMS_HOME}"
63+
64+
65+
# permissions
66+
RUN chmod -R 0777 "${MMS_LOG_DIR}" \
67+
&& chmod -R 0777 "${MMS_TMP_DIR}" \
68+
&& chmod -R 0775 "${MMS_HOME}/conf" \
69+
&& chmod -R 0775 "${MMS_HOME}/jdk" \
70+
&& mkdir "${MMS_HOME}/mongodb-releases/" \
71+
&& chmod -R 0775 "${MMS_HOME}/mongodb-releases" \
72+
&& chmod -R 0777 "${MMS_CONF_FILE}" \
73+
&& chmod -R 0777 "${MMS_PROP_FILE}"
74+
75+
# The "${MMS_HOME}/conf" will be populated by the docker-entry-point.sh.
76+
# For now we need to move into the templates directory.
77+
RUN cp -r "${MMS_HOME}/conf" "${MMS_HOME}/conf-template"
78+
79+
USER 2000
80+
81+
# operator to change the entrypoint to: /mongodb-ops-manager/bin/mongodb-mms start_mms (or a wrapper around this)
82+
ENTRYPOINT [ "sleep infinity" ]
83+
84+

0 commit comments

Comments
 (0)