Skip to content

Commit

Permalink
Kubernetes Enterprise Operator Release 1.23.0 (#270)
Browse files Browse the repository at this point in the history
* Updated

* Updated
  • Loading branch information
mms-build-account authored Nov 13, 2023
1 parent 2bb1053 commit d5a1a6a
Show file tree
Hide file tree
Showing 14 changed files with 412 additions and 250 deletions.
15 changes: 2 additions & 13 deletions crds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -304,9 +304,6 @@ spec:
credentials:
description: Name of the Secret holding credentials information
type: string
exposedExternally:
description: 'DEPRECATED: use ExternalAccessConfiguration instead'
type: boolean
externalAccess:
description: ExternalAccessConfiguration provides external access
configuration.
Expand Down Expand Up @@ -1205,9 +1202,6 @@ spec:
on one mapping with the service-account created in the central
cluster to talk to the workload clusters.
type: string
exposedExternally:
description: 'DEPRECATED: use ExternalAccessConfiguration instead'
type: boolean
externalAccess:
description: ExternalAccessConfiguration provides external access
configuration for Multi-Cluster.
Expand Down Expand Up @@ -1315,9 +1309,6 @@ spec:
default, if not specified the operator would create the duplicate
svc objects.'
type: boolean
exposedExternally:
description: 'DEPRECATED: use ExternalAccessConfiguration instead'
type: boolean
externalAccess:
description: ExternalAccessConfiguration provides external access
configuration.
Expand Down Expand Up @@ -1989,6 +1980,8 @@ spec:
name: v1
schema:
openAPIV3Schema:
description: The MongoDBOpsManager resource allows you to deploy Ops Manager
within your Kubernetes cluster
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
Expand Down Expand Up @@ -2157,10 +2150,6 @@ spec:
have a one on one mapping with the service-account created
in the central cluster to talk to the workload clusters.
type: string
exposedExternally:
description: 'DEPRECATED: use ExternalAccessConfiguration
instead'
type: boolean
externalAccess:
description: ExternalAccessConfiguration provides external
access configuration for Multi-Cluster.
Expand Down
45 changes: 45 additions & 0 deletions dockerfiles/mongodb-agent/12.0.28.7763-1/ubi/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
ARG imagebase
FROM ${imagebase} as base

FROM registry.access.redhat.com/ubi8/ubi-minimal

ARG agent_version

LABEL name="MongoDB Agent" \
version="${agent_version}" \
summary="MongoDB Agent" \
description="MongoDB Agent" \
vendor="MongoDB" \
release="1" \
maintainer="support@mongodb.com"

RUN microdnf install -y --disableplugin=subscription-manager curl \
hostname nss_wrapper tar gzip procps\
&& microdnf upgrade -y \
&& rm -rf /var/lib/apt/lists/*

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


COPY --from=base /data/mongodb-agent.tar.gz /agent
COPY --from=base /data/mongodb-tools.tgz /agent
COPY --from=base /data/LICENSE /licenses/LICENSE

RUN tar xfz /agent/mongodb-agent.tar.gz \
&& mv mongodb-mms-automation-agent-*/mongodb-mms-automation-agent /agent/mongodb-agent \
&& chmod +x /agent/mongodb-agent \
&& mkdir -p /var/lib/automation/config \
&& chmod -R +r /var/lib/automation/config \
&& rm /agent/mongodb-agent.tar.gz \
&& rm -r mongodb-mms-automation-agent-*

RUN tar xfz /agent/mongodb-tools.tgz --directory /var/lib/mongodb-mms-automation/ && rm /agent/mongodb-tools.tgz

USER 2000
CMD ["/agent/mongodb-agent", "-cluster=/var/lib/automation/config/automation-config.json"]
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ RUN microdnf install -y --disableplugin=subscription-manager \
findutils


RUN microdnf remove perl-IO-Socket-SSL

RUN ln -s /usr/lib64/libsasl2.so.3 /usr/lib64/libsasl2.so.2

Expand Down
35 changes: 35 additions & 0 deletions dockerfiles/mongodb-enterprise-init-appdb/1.23.0/ubi/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
ARG imagebase
FROM ${imagebase} as base

FROM registry.access.redhat.com/ubi8/ubi-minimal

ARG version
LABEL name="MongoDB Enterprise Init AppDB" \
version="mongodb-enterprise-init-appdb-${version}" \
summary="MongoDB Enterprise AppDB Init Image" \
description="Startup Scripts for MongoDB Enterprise Application Database for Ops Manager" \
release="1" \
vendor="MongoDB" \
maintainer="support@mongodb.com"

COPY --from=base /data/readinessprobe /probes/readinessprobe
COPY --from=base /data/probe.sh /probes/probe.sh
COPY --from=base /data/scripts/ /scripts/
COPY --from=base /data/licenses /licenses/
COPY --from=base /data/version-upgrade-hook /probes/version-upgrade-hook


RUN microdnf update --nodocs \
&& microdnf -y install --nodocs tar gzip \
&& microdnf clean all

COPY --from=base /data/mongodb_tools_ubi.tgz /tools/mongodb_tools.tgz


RUN tar xfz /tools/mongodb_tools.tgz --directory /tools \
&& rm /tools/mongodb_tools.tgz

USER 2000
ENTRYPOINT [ "/bin/cp", "-f", "-r", "/scripts/agent-launcher.sh", "/scripts/agent-launcher-lib.sh", "/probes/readinessprobe", "/probes/probe.sh", "/tools", "/opt/scripts/" ]


34 changes: 34 additions & 0 deletions dockerfiles/mongodb-enterprise-init-database/1.0.19/ubi/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
ARG imagebase
FROM ${imagebase} as base

FROM registry.access.redhat.com/ubi8/ubi-minimal

ARG version
LABEL name="MongoDB Enterprise Init Database" \
version="mongodb-enterprise-init-database-${version}" \
summary="MongoDB Enterprise Database Init Image" \
description="Startup Scripts for MongoDB Enterprise Database" \
release="1" \
vendor="MongoDB" \
maintainer="support@mongodb.com"

COPY --from=base /data/readinessprobe /probes/readinessprobe
COPY --from=base /data/probe.sh /probes/probe.sh
COPY --from=base /data/scripts/ /scripts/
COPY --from=base /data/licenses /licenses/


RUN microdnf update --nodocs \
&& microdnf -y install --nodocs tar gzip \
&& microdnf clean all

COPY --from=base /data/mongodb_tools_ubi.tgz /tools/mongodb_tools.tgz


RUN tar xfz /tools/mongodb_tools.tgz --directory /tools \
&& rm /tools/mongodb_tools.tgz

USER 2000
ENTRYPOINT [ "/bin/cp", "-f", "-r", "/scripts/agent-launcher.sh", "/scripts/agent-launcher-lib.sh", "/probes/readinessprobe", "/probes/probe.sh", "/tools", "/opt/scripts/" ]


39 changes: 39 additions & 0 deletions dockerfiles/mongodb-enterprise-operator/1.23.0/ubi/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#
# Base Template Dockerfile for Operator Image.
#

ARG imagebase
FROM ${imagebase} as base

FROM registry.access.redhat.com/ubi8/ubi-minimal


LABEL name="MongoDB Enterprise Operator" \
maintainer="support@mongodb.com" \
vendor="MongoDB" \
version="1.23.0" \
release="1" \
summary="MongoDB Enterprise Operator Image" \
description="MongoDB Enterprise Operator Image"


# Building an UBI-based image: https://red.ht/3n6b9y0
RUN microdnf update \
--disableplugin=subscription-manager \
--disablerepo=* --enablerepo=ubi-8-appstream-rpms --enablerepo=ubi-8-baseos-rpms -y \
&& rm -rf /var/cache/yum




COPY --from=base /data/mongodb-enterprise-operator /usr/local/bin/mongodb-enterprise-operator
COPY --from=base /data/om_version_mapping.json /usr/local/om_version_mapping.json
COPY --from=base /data/licenses /licenses/

USER 2000



ENTRYPOINT exec /usr/local/bin/mongodb-enterprise-operator


75 changes: 75 additions & 0 deletions dockerfiles/mongodb-enterprise-ops-manager/6.0.19/ubi/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
ARG imagebase
FROM ${imagebase} as base

FROM registry.access.redhat.com/ubi8/ubi-minimal


LABEL name="MongoDB Enterprise Ops Manager" \
maintainer="support@mongodb.com" \
vendor="MongoDB" \
version="6.0.19" \
release="1" \
summary="MongoDB Enterprise Ops Manager Image" \
description="MongoDB Enterprise Ops Manager"


ENV MMS_HOME /mongodb-ops-manager
ENV MMS_PROP_FILE ${MMS_HOME}/conf/conf-mms.properties
ENV MMS_CONF_FILE ${MMS_HOME}/conf/mms.conf
ENV MMS_LOG_DIR ${MMS_HOME}/logs
ENV MMS_TMP_DIR ${MMS_HOME}/tmp

EXPOSE 8080

# OpsManager docker image needs to have the MongoDB dependencies because the
# backup daemon is running its database locally

RUN microdnf install --disableplugin=subscription-manager -y \
cyrus-sasl \
cyrus-sasl-gssapi \
cyrus-sasl-plain \
krb5-libs \
libcurl \
libpcap \
lm_sensors-libs \
net-snmp \
net-snmp-agent-libs \
openldap \
openssl \
tar \
rpm-libs \
net-tools \
procps-ng \
ncurses


COPY --from=base /data/licenses /licenses/



RUN curl --fail -L -o ops_manager.tar.gz https://downloads.mongodb.com/on-prem-mms/tar/mongodb-mms-6.0.19.100.20231002T1346Z.tar.gz \
&& tar -xzf ops_manager.tar.gz \
&& rm ops_manager.tar.gz \
&& mv mongodb-mms* "${MMS_HOME}"


# permissions
RUN chmod -R 0777 "${MMS_LOG_DIR}" \
&& chmod -R 0777 "${MMS_TMP_DIR}" \
&& chmod -R 0775 "${MMS_HOME}/conf" \
&& chmod -R 0775 "${MMS_HOME}/jdk" \
&& mkdir "${MMS_HOME}/mongodb-releases/" \
&& chmod -R 0775 "${MMS_HOME}/mongodb-releases" \
&& chmod -R 0777 "${MMS_CONF_FILE}" \
&& chmod -R 0777 "${MMS_PROP_FILE}"

# The "${MMS_HOME}/conf" will be populated by the docker-entry-point.sh.
# For now we need to move into the templates directory.
RUN cp -r "${MMS_HOME}/conf" "${MMS_HOME}/conf-template"

USER 2000

# operator to change the entrypoint to: /mongodb-ops-manager/bin/mongodb-mms start_mms (or a wrapper around this)
ENTRYPOINT [ "sleep infinity" ]


75 changes: 75 additions & 0 deletions dockerfiles/mongodb-enterprise-ops-manager/6.0.20/ubi/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
ARG imagebase
FROM ${imagebase} as base

FROM registry.access.redhat.com/ubi8/ubi-minimal


LABEL name="MongoDB Enterprise Ops Manager" \
maintainer="support@mongodb.com" \
vendor="MongoDB" \
version="6.0.20" \
release="1" \
summary="MongoDB Enterprise Ops Manager Image" \
description="MongoDB Enterprise Ops Manager"


ENV MMS_HOME /mongodb-ops-manager
ENV MMS_PROP_FILE ${MMS_HOME}/conf/conf-mms.properties
ENV MMS_CONF_FILE ${MMS_HOME}/conf/mms.conf
ENV MMS_LOG_DIR ${MMS_HOME}/logs
ENV MMS_TMP_DIR ${MMS_HOME}/tmp

EXPOSE 8080

# OpsManager docker image needs to have the MongoDB dependencies because the
# backup daemon is running its database locally

RUN microdnf install --disableplugin=subscription-manager -y \
cyrus-sasl \
cyrus-sasl-gssapi \
cyrus-sasl-plain \
krb5-libs \
libcurl \
libpcap \
lm_sensors-libs \
net-snmp \
net-snmp-agent-libs \
openldap \
openssl \
tar \
rpm-libs \
net-tools \
procps-ng \
ncurses


COPY --from=base /data/licenses /licenses/



RUN curl --fail -L -o ops_manager.tar.gz https://downloads.mongodb.com/on-prem-mms/tar/mongodb-mms-6.0.20.100.20231102T2129Z.tar.gz \
&& tar -xzf ops_manager.tar.gz \
&& rm ops_manager.tar.gz \
&& mv mongodb-mms* "${MMS_HOME}"


# permissions
RUN chmod -R 0777 "${MMS_LOG_DIR}" \
&& chmod -R 0777 "${MMS_TMP_DIR}" \
&& chmod -R 0775 "${MMS_HOME}/conf" \
&& chmod -R 0775 "${MMS_HOME}/jdk" \
&& mkdir "${MMS_HOME}/mongodb-releases/" \
&& chmod -R 0775 "${MMS_HOME}/mongodb-releases" \
&& chmod -R 0777 "${MMS_CONF_FILE}" \
&& chmod -R 0777 "${MMS_PROP_FILE}"

# The "${MMS_HOME}/conf" will be populated by the docker-entry-point.sh.
# For now we need to move into the templates directory.
RUN cp -r "${MMS_HOME}/conf" "${MMS_HOME}/conf-template"

USER 2000

# operator to change the entrypoint to: /mongodb-ops-manager/bin/mongodb-mms start_mms (or a wrapper around this)
ENTRYPOINT [ "sleep infinity" ]


Loading

0 comments on commit d5a1a6a

Please sign in to comment.