Skip to content

Commit d89262c

Browse files
authored
Release MCK version 1.8.1 (#1124)
# Summary Pre-req changes for MCK release 1.8.1. ## Proof of Work CI must pass ## Checklist - [X] Have you added changelog file? - use `skip-changelog` label if not needed
1 parent c3519b5 commit d89262c

23 files changed

Lines changed: 1116 additions & 53 deletions

File tree

config/manager/manager.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ spec:
2222
serviceAccountName: mongodb-kubernetes-operator
2323
containers:
2424
- name: mongodb-kubernetes-operator
25-
image: "quay.io/mongodb/mongodb-kubernetes:1.8.0"
25+
image: "quay.io/mongodb/mongodb-kubernetes:1.8.1"
2626
imagePullPolicy: Always
2727
args:
2828
- -watch-resource=mongodb
@@ -72,16 +72,16 @@ spec:
7272
- name: INIT_DATABASE_IMAGE_REPOSITORY
7373
value: quay.io/mongodb/mongodb-kubernetes-init-database
7474
- name: INIT_DATABASE_VERSION
75-
value: "1.8.0"
75+
value: "1.8.1"
7676
- name: DATABASE_VERSION
77-
value: "1.8.0"
77+
value: "1.8.1"
7878
# Ops Manager
7979
- name: OPS_MANAGER_IMAGE_REPOSITORY
8080
value: quay.io/mongodb/mongodb-enterprise-ops-manager-ubi
8181
- name: INIT_OPS_MANAGER_IMAGE_REPOSITORY
8282
value: quay.io/mongodb/mongodb-kubernetes-init-ops-manager
8383
- name: INIT_OPS_MANAGER_VERSION
84-
value: "1.8.0"
84+
value: "1.8.1"
8585
- name: OPS_MANAGER_IMAGE_PULL_POLICY
8686
value: Always
8787
- name: AGENT_IMAGE
@@ -118,12 +118,12 @@ spec:
118118
- name: MDB_COMMUNITY_IMAGE_TYPE
119119
value: "ubi8"
120120
# Community Env Vars End
121-
- name: RELATED_IMAGE_MONGODB_ENTERPRISE_DATABASE_IMAGE_1_8_0
122-
value: "quay.io/mongodb/mongodb-kubernetes-database:1.8.0"
123-
- name: RELATED_IMAGE_INIT_DATABASE_IMAGE_REPOSITORY_1_8_0
124-
value: "quay.io/mongodb/mongodb-kubernetes-init-database:1.8.0"
125-
- name: RELATED_IMAGE_INIT_OPS_MANAGER_IMAGE_REPOSITORY_1_8_0
126-
value: "quay.io/mongodb/mongodb-kubernetes-init-ops-manager:1.8.0"
121+
- name: RELATED_IMAGE_MONGODB_ENTERPRISE_DATABASE_IMAGE_1_8_1
122+
value: "quay.io/mongodb/mongodb-kubernetes-database:1.8.1"
123+
- name: RELATED_IMAGE_INIT_DATABASE_IMAGE_REPOSITORY_1_8_1
124+
value: "quay.io/mongodb/mongodb-kubernetes-init-database:1.8.1"
125+
- name: RELATED_IMAGE_INIT_OPS_MANAGER_IMAGE_REPOSITORY_1_8_1
126+
value: "quay.io/mongodb/mongodb-kubernetes-init-ops-manager:1.8.1"
127127
- name: RELATED_IMAGE_AGENT_IMAGE_107_0_12_8669_1
128128
value: "quay.io/mongodb/mongodb-agent:107.0.12.8669-1"
129129
- name: RELATED_IMAGE_AGENT_IMAGE_107_0_13_8702_1

config/manifests/bases/mongodb-kubernetes.clusterserviceversion.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ metadata:
1212
capabilities: Deep Insights
1313
categories: Database
1414
certified: "true"
15-
containerImage: quay.io/mongodb/mongodb-kubernetes:1.8.0
15+
containerImage: quay.io/mongodb/mongodb-kubernetes:1.8.1
1616
createdAt: ""
1717
description: The MongoDB Controllers for Kubernetes enable easy deploys of
1818
MongoDB into Kubernetes clusters, using our management, monitoring and
@@ -478,5 +478,5 @@ spec:
478478
maturity: stable
479479
provider:
480480
name: MongoDB, Inc
481-
replaces: mongodb-kubernetes.v1.7.0
481+
replaces: mongodb-kubernetes.v1.8.0
482482
version: 0.0.0

controllers/searchcontroller/mongodbsearch_reconcile_helper.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,10 @@ type reconcileUnit struct {
116116
// topology-wide knobs and hooks that surround the loop. Everything sharded-specific lives
117117
// here in hook closures so the reconcile body stays a straight, unbranched sequence.
118118
type reconcilePlan struct {
119-
units []reconcileUnit
120-
manageProxySvc bool // topology-wide: true when the operator owns the proxy Service lifecycle (i.e. the LB is not user-managed)
121-
preflight func(context.Context, *zap.SugaredLogger) workflow.Status // runs before the loop; must return workflow.OK() to proceed
122-
cleanup func(context.Context, *zap.SugaredLogger) // runs after the loop; best-effort, errors logged
119+
units []reconcileUnit
120+
manageProxySvc bool // topology-wide: true when the operator owns the proxy Service lifecycle (i.e. the LB is not user-managed)
121+
preflight func(context.Context, *zap.SugaredLogger) workflow.Status // runs before the loop; must return workflow.OK() to proceed
122+
cleanup func(context.Context, *zap.SugaredLogger) // runs after the loop; best-effort, errors logged
123123
}
124124

125125
// buildReconcilePlan returns the full reconcile plan for the current topology.
@@ -162,8 +162,8 @@ func (r *MongoDBSearchReconcileHelper) buildReplicaSetPlan() (reconcilePlan, err
162162
mongotConfigFn: mongot.Apply(baseMongotConfig(r.mdbSearch, hostSeeds), wireprotoMongotMod(r.mdbSearch)),
163163
}},
164164
manageProxySvc: !r.mdbSearch.IsReplicaSetUnmanagedLB(),
165-
preflight: func(context.Context, *zap.SugaredLogger) workflow.Status { return workflow.OK() },
166-
cleanup: func(context.Context, *zap.SugaredLogger) {},
165+
preflight: func(context.Context, *zap.SugaredLogger) workflow.Status { return workflow.OK() },
166+
cleanup: func(context.Context, *zap.SugaredLogger) {},
167167
}, nil
168168
}
169169

@@ -193,7 +193,7 @@ func (r *MongoDBSearchReconcileHelper) buildShardedPlan(shardedSource SearchSour
193193
}
194194

195195
return reconcilePlan{
196-
units: units,
196+
units: units,
197197
manageProxySvc: !r.mdbSearch.IsShardedUnmanagedLB(),
198198
preflight: func(ctx context.Context, log *zap.SugaredLogger) workflow.Status {
199199
return r.validatePerShardTLSSecrets(ctx, log, shardNames)
@@ -749,7 +749,6 @@ func buildProxyService(search *searchv1.MongoDBSearch, unit reconcileUnit) corev
749749
return serviceBuilder.Build()
750750
}
751751

752-
753752
// EnsureEmbeddingAPIKeySecret makes sure that the scret that is provided in MDBSearch resource
754753
// for embedding model's keys is present and has expected keys.
755754
func ensureEmbeddingAPIKeySecret(ctx context.Context, client secret.Getter, secretObj client.ObjectKey) (string, error) {

controllers/searchcontroller/sharded_external_search_source_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ func newExternalShardedConfig(routerHosts []string, shards []searchv1.ExternalSh
2323
}
2424
}
2525

26-
2726
func TestShardedExternalSearchSource_Validate(t *testing.T) {
2827
cases := []struct {
2928
name string

helm_chart/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: |
44
MongoDB Controllers for Kubernetes translate the human knowledge of
55
creating a MongoDB instance into a scalable, repeatable, and standardized
66
method.
7-
version: 1.8.0
7+
version: 1.8.1
88
kubeVersion: '>=1.16-0'
99
type: application
1010
keywords:

helm_chart/values-openshift.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ operator:
3434
# Environment variables prefixed with RELATED_IMAGE_ are used by operator-sdk to generate relatedImages section
3535
# with sha256 digests pinning for the certified operator bundle with disconnected environment feature enabled.
3636
# https://docs.openshift.com/container-platform/4.14/operators/operator_sdk/osdk-generating-csvs.html#olm-enabling-operator-for-restricted-network_osdk-generating-csvs
37-
version: 1.8.0
37+
version: 1.8.1
3838
relatedImages:
3939
opsManager:
4040
- 6.0.26

helm_chart/values.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ operator:
1717
operator_image_name: mongodb-kubernetes
1818

1919
# Version of mongodb-kubernetes-operator
20-
version: 1.8.0
20+
version: 1.8.1
2121

2222
# The Custom Resources that will be watched by the Operator. Needs to be changed if only some of the CRDs are installed
2323
watchedResources:
@@ -131,19 +131,19 @@ operator:
131131
## Database
132132
database:
133133
name: mongodb-kubernetes-database
134-
version: 1.8.0
134+
version: 1.8.1
135135

136136
initDatabase:
137137
name: mongodb-kubernetes-init-database
138-
version: 1.8.0
138+
version: 1.8.1
139139

140140
## Ops Manager
141141
opsManager:
142142
name: mongodb-enterprise-ops-manager-ubi
143143

144144
initOpsManager:
145145
name: mongodb-kubernetes-init-ops-manager
146-
version: 1.8.0
146+
version: 1.8.1
147147

148148
agent:
149149
name: mongodb-agent
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Build compilable stuff
2+
3+
FROM public.ecr.aws/docker/library/golang:1.26 AS readiness_builder
4+
COPY . /go/src/github.com/mongodb/mongodb-kubernetes
5+
WORKDIR /go/src/github.com/mongodb/mongodb-kubernetes
6+
7+
RUN CGO_ENABLED=0 go build -a -buildvcs=false -o /data/scripts/mmsconfiguration ./docker/mongodb-kubernetes-init-ops-manager/mmsconfiguration/edit_mms_configuration.go
8+
RUN CGO_ENABLED=0 go build -a -buildvcs=false -o /data/scripts/backup-daemon-readiness-probe ./docker/mongodb-kubernetes-init-ops-manager/backupdaemon_readinessprobe/backupdaemon_readiness.go
9+
10+
# Move binaries and scripts
11+
FROM scratch AS base
12+
13+
COPY --from=readiness_builder /data/scripts/mmsconfiguration /data/scripts/mmsconfiguration
14+
COPY --from=readiness_builder /data/scripts/backup-daemon-readiness-probe /data/scripts/backup-daemon-readiness-probe
15+
16+
# After v2.0, when non-Static Agent images will be removed, please ensure to copy those files
17+
# into ./docker/mongodb-enterprise-ops-manager directory. Leaving it this way will make the maintenance easier.
18+
COPY ./docker/mongodb-kubernetes-init-ops-manager/scripts/docker-entry-point.sh /data/scripts
19+
COPY ./docker/mongodb-kubernetes-init-ops-manager/scripts/backup-daemon-liveness-probe.sh /data/scripts
20+
COPY ./docker/mongodb-kubernetes-init-ops-manager/LICENSE /data/licenses/mongodb-enterprise-ops-manager
21+
22+
FROM registry.access.redhat.com/ubi9/ubi-minimal
23+
24+
ARG version
25+
ARG om_download_url
26+
27+
LABEL name="MongoDB Enterprise Ops Manager" \
28+
maintainer="support@mongodb.com" \
29+
vendor="MongoDB" \
30+
version=${version} \
31+
release="1" \
32+
summary="MongoDB Enterprise Ops Manager Image" \
33+
description="MongoDB Enterprise Ops Manager"
34+
35+
ENV MMS_HOME=/mongodb-ops-manager
36+
ENV MMS_PROP_FILE=${MMS_HOME}/conf/conf-mms.properties
37+
ENV MMS_CONF_FILE=${MMS_HOME}/conf/mms.conf
38+
ENV MMS_LOG_DIR=${MMS_HOME}/logs
39+
ENV MMS_TMP_DIR=${MMS_HOME}/tmp
40+
41+
EXPOSE 8080
42+
43+
# OpsManager docker image needs to have the MongoDB dependencies because the
44+
# backup daemon is running its database locally
45+
46+
# Replace libcurl-minimal and curl-minimal with the full versions
47+
# https://bugzilla.redhat.com/show_bug.cgi?id=1994521
48+
RUN microdnf install -y libssh libpsl libbrotli \
49+
&& microdnf download curl libcurl \
50+
&& rpm -Uvh --nodeps --replacefiles "*curl*$( uname -i ).rpm" \
51+
&& microdnf remove -y libcurl-minimal curl-minimal
52+
53+
RUN microdnf install --disableplugin=subscription-manager -y \
54+
cyrus-sasl \
55+
cyrus-sasl-gssapi \
56+
cyrus-sasl-plain \
57+
krb5-libs \
58+
libpcap \
59+
lm_sensors-libs \
60+
net-snmp \
61+
net-snmp-agent-libs \
62+
openldap \
63+
openssl \
64+
tar \
65+
rpm-libs \
66+
net-tools \
67+
procps-ng \
68+
ncurses
69+
70+
COPY --from=base /data/licenses /licenses/
71+
COPY --from=base /data/scripts /opt/scripts
72+
73+
RUN curl --fail -L -o ops_manager.tar.gz ${om_download_url} \
74+
&& tar -xzf ops_manager.tar.gz \
75+
&& rm ops_manager.tar.gz \
76+
&& mv mongodb-mms* "${MMS_HOME}"
77+
78+
# permissions
79+
RUN chmod -R 0777 "${MMS_LOG_DIR}" \
80+
&& chmod -R 0777 "${MMS_TMP_DIR}" \
81+
&& chmod -R 0775 "${MMS_HOME}/conf" \
82+
&& chmod -R 0775 "${MMS_HOME}/jdk" \
83+
&& mkdir "${MMS_HOME}/mongodb-releases/" \
84+
&& chmod -R 0775 "${MMS_HOME}/mongodb-releases" \
85+
&& chmod -R 0777 "${MMS_CONF_FILE}" \
86+
&& chmod -R 0777 "${MMS_PROP_FILE}"
87+
88+
# The "${MMS_HOME}/conf" will be populated by the docker-entry-point.sh.
89+
# For now we need to move into the templates directory.
90+
RUN cp -r "${MMS_HOME}/conf" "${MMS_HOME}/conf-template"
91+
92+
USER 2000
93+
94+
# operator to change the entrypoint to: /mongodb-ops-manager/bin/mongodb-mms start_mms (or a wrapper around this)
95+
ENTRYPOINT [ "sleep infinity" ]
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Build compilable stuff
2+
3+
FROM public.ecr.aws/docker/library/golang:1.26 AS readiness_builder
4+
COPY . /go/src/github.com/mongodb/mongodb-kubernetes
5+
WORKDIR /go/src/github.com/mongodb/mongodb-kubernetes
6+
7+
RUN CGO_ENABLED=0 go build -a -buildvcs=false -o /data/scripts/mmsconfiguration ./docker/mongodb-kubernetes-init-ops-manager/mmsconfiguration/edit_mms_configuration.go
8+
RUN CGO_ENABLED=0 go build -a -buildvcs=false -o /data/scripts/backup-daemon-readiness-probe ./docker/mongodb-kubernetes-init-ops-manager/backupdaemon_readinessprobe/backupdaemon_readiness.go
9+
10+
# Move binaries and scripts
11+
FROM scratch AS base
12+
13+
COPY --from=readiness_builder /data/scripts/mmsconfiguration /data/scripts/mmsconfiguration
14+
COPY --from=readiness_builder /data/scripts/backup-daemon-readiness-probe /data/scripts/backup-daemon-readiness-probe
15+
16+
# After v2.0, when non-Static Agent images will be removed, please ensure to copy those files
17+
# into ./docker/mongodb-enterprise-ops-manager directory. Leaving it this way will make the maintenance easier.
18+
COPY ./docker/mongodb-kubernetes-init-ops-manager/scripts/docker-entry-point.sh /data/scripts
19+
COPY ./docker/mongodb-kubernetes-init-ops-manager/scripts/backup-daemon-liveness-probe.sh /data/scripts
20+
COPY ./docker/mongodb-kubernetes-init-ops-manager/LICENSE /data/licenses/mongodb-enterprise-ops-manager
21+
22+
FROM registry.access.redhat.com/ubi9/ubi-minimal
23+
24+
ARG version
25+
ARG om_download_url
26+
27+
LABEL name="MongoDB Enterprise Ops Manager" \
28+
maintainer="support@mongodb.com" \
29+
vendor="MongoDB" \
30+
version=${version} \
31+
release="1" \
32+
summary="MongoDB Enterprise Ops Manager Image" \
33+
description="MongoDB Enterprise Ops Manager"
34+
35+
ENV MMS_HOME=/mongodb-ops-manager
36+
ENV MMS_PROP_FILE=${MMS_HOME}/conf/conf-mms.properties
37+
ENV MMS_CONF_FILE=${MMS_HOME}/conf/mms.conf
38+
ENV MMS_LOG_DIR=${MMS_HOME}/logs
39+
ENV MMS_TMP_DIR=${MMS_HOME}/tmp
40+
41+
EXPOSE 8080
42+
43+
# OpsManager docker image needs to have the MongoDB dependencies because the
44+
# backup daemon is running its database locally
45+
46+
# Replace libcurl-minimal and curl-minimal with the full versions
47+
# https://bugzilla.redhat.com/show_bug.cgi?id=1994521
48+
RUN microdnf install -y libssh libpsl libbrotli \
49+
&& microdnf download curl libcurl \
50+
&& rpm -Uvh --nodeps --replacefiles "*curl*$( uname -i ).rpm" \
51+
&& microdnf remove -y libcurl-minimal curl-minimal
52+
53+
RUN microdnf install --disableplugin=subscription-manager -y \
54+
cyrus-sasl \
55+
cyrus-sasl-gssapi \
56+
cyrus-sasl-plain \
57+
krb5-libs \
58+
libpcap \
59+
lm_sensors-libs \
60+
net-snmp \
61+
net-snmp-agent-libs \
62+
openldap \
63+
openssl \
64+
tar \
65+
rpm-libs \
66+
net-tools \
67+
procps-ng \
68+
ncurses
69+
70+
COPY --from=base /data/licenses /licenses/
71+
COPY --from=base /data/scripts /opt/scripts
72+
73+
RUN curl --fail -L -o ops_manager.tar.gz ${om_download_url} \
74+
&& tar -xzf ops_manager.tar.gz \
75+
&& rm ops_manager.tar.gz \
76+
&& mv mongodb-mms* "${MMS_HOME}"
77+
78+
# permissions
79+
RUN chmod -R 0777 "${MMS_LOG_DIR}" \
80+
&& chmod -R 0777 "${MMS_TMP_DIR}" \
81+
&& chmod -R 0775 "${MMS_HOME}/conf" \
82+
&& chmod -R 0775 "${MMS_HOME}/jdk" \
83+
&& mkdir "${MMS_HOME}/mongodb-releases/" \
84+
&& chmod -R 0775 "${MMS_HOME}/mongodb-releases" \
85+
&& chmod -R 0777 "${MMS_CONF_FILE}" \
86+
&& chmod -R 0777 "${MMS_PROP_FILE}"
87+
88+
# The "${MMS_HOME}/conf" will be populated by the docker-entry-point.sh.
89+
# For now we need to move into the templates directory.
90+
RUN cp -r "${MMS_HOME}/conf" "${MMS_HOME}/conf-template"
91+
92+
USER 2000
93+
94+
# operator to change the entrypoint to: /mongodb-ops-manager/bin/mongodb-mms start_mms (or a wrapper around this)
95+
ENTRYPOINT [ "sleep infinity" ]

0 commit comments

Comments
 (0)