Skip to content

Commit 22ada53

Browse files
authored
CLOUDP-172223 daily rebuilds support for versionhook and readiness images && making both ubi based (#1284)
1 parent ffc7abe commit 22ada53

File tree

7 files changed

+99
-161
lines changed

7 files changed

+99
-161
lines changed

.github/workflows/release-images.yml

-7
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,6 @@ jobs:
5959
AWS_ACCESS_KEY_ID: "${{ secrets.AWS_ACCESS_KEY_ID }}"
6060
AWS_SECRET_ACCESS_KEY: "${{ secrets.AWS_SECRET_ACCESS_KEY }}"
6161

62-
- name: Add Supported Release
63-
if: steps.release_status.outputs.OUTPUT == 'unreleased'
64-
run: python scripts/ci/add_supported_release.py --image-name ${{ matrix.release-key }}
65-
env:
66-
ATLAS_DATABASE: "${{ secrets.ATLAS_DATABASE }}"
67-
ATLAS_CONNECTION_STRING: "${{ secrets.ATLAS_CONNECTION_STRING }}"
68-
6962
create-draft-release:
7063
runs-on: ubuntu-latest
7164
needs: [release-images]

docs/RELEASE_NOTES.md

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
Deployment), please check if your settings are correct and if they are pointing to the right coordinates. The Operator
2222
still provides basic backwards compatibility with previous images (`docker.io/mongo`).
2323
24+
- `mongodb-readiness-hook` and `mongodb-version-upgrade-hook` images are now rebuilt daily, incorporating updates to system packages and security fixes. The binaries are built only once during the release process and used without changes in daily rebuilt
25+
2426
2527
## Updated Image Tags
2628

inventory.yaml

+83-28
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ images:
1818
- name: agent-ubuntu-context
1919
task_type: docker_build
2020
dockerfile: scripts/dev/templates/agent/Dockerfile.builder
21-
tags: ["ubuntu"]
21+
tags: [ "ubuntu" ]
2222
buildargs:
2323
agent_version: $(inputs.params.agent_version)
2424
tools_version: $(inputs.params.tools_version)
@@ -34,15 +34,15 @@ images:
3434

3535
- name: agent-template-ubuntu
3636
task_type: dockerfile_template
37-
tags: ["ubuntu"]
37+
tags: [ "ubuntu" ]
3838
distro: ubuntu
3939

4040
output:
4141
- dockerfile: scripts/dev/templates/agent/Dockerfile.ubuntu-$(inputs.params.version_id)
4242

4343
- name: agent-ubuntu-build
4444
task_type: docker_build
45-
tags: ["ubuntu"]
45+
tags: [ "ubuntu" ]
4646

4747
dockerfile: scripts/dev/templates/agent/Dockerfile.ubuntu-$(inputs.params.version_id)
4848

@@ -61,7 +61,7 @@ images:
6161

6262
- name: agent-template-ubuntu-s3
6363
task_type: dockerfile_template
64-
tags: ["ubuntu", "release"]
64+
tags: [ "ubuntu", "release" ]
6565
distro: ubuntu
6666

6767
inputs:
@@ -74,7 +74,7 @@ images:
7474
- name: agent-context-ubuntu-release
7575
task_type: docker_build
7676
dockerfile: scripts/dev/templates/agent/Dockerfile.builder
77-
tags: ["ubuntu", "release"]
77+
tags: [ "ubuntu", "release" ]
7878
buildargs:
7979
agent_version: $(inputs.params.agent_version)
8080
tools_version: $(inputs.params.tools_version)
@@ -90,7 +90,7 @@ images:
9090

9191
- name: agent-ubuntu-release
9292
task_type: docker_build
93-
tags: ["ubuntu", "release"]
93+
tags: [ "ubuntu", "release" ]
9494
distro: ubuntu
9595

9696
dockerfile: scripts/dev/templates/agent/Dockerfile.ubuntu-$(inputs.params.version_id)
@@ -122,7 +122,7 @@ images:
122122
- name: agent-ubi-context
123123
task_type: docker_build
124124
dockerfile: scripts/dev/templates/agent/Dockerfile.builder
125-
tags: ["ubi"]
125+
tags: [ "ubi" ]
126126
buildargs:
127127
agent_version: $(inputs.params.agent_version)
128128
tools_version: $(inputs.params.tools_version)
@@ -139,14 +139,14 @@ images:
139139
- name: agent-template-ubi
140140
task_type: dockerfile_template
141141
distro: ubi
142-
tags: ["ubi"]
142+
tags: [ "ubi" ]
143143

144144
output:
145145
- dockerfile: scripts/dev/templates/agent/Dockerfile.ubi-$(inputs.params.version_id)
146146

147147
- name: agent-ubi-build
148148
task_type: docker_build
149-
tags: ["ubi"]
149+
tags: [ "ubi" ]
150150

151151
dockerfile: scripts/dev/templates/agent/Dockerfile.ubi-$(inputs.params.version_id)
152152

@@ -165,7 +165,7 @@ images:
165165

166166
- name: agent-template-ubi-s3
167167
task_type: dockerfile_template
168-
tags: ["ubi", "release"]
168+
tags: [ "ubi", "release" ]
169169
distro: ubi
170170

171171
inputs:
@@ -177,7 +177,7 @@ images:
177177
- name: agent-context-ubi-release
178178
task_type: docker_build
179179
dockerfile: scripts/dev/templates/agent/Dockerfile.builder
180-
tags: ["ubi", "release"]
180+
tags: [ "ubi", "release" ]
181181
buildargs:
182182
agent_version: $(inputs.params.agent_version)
183183
tools_version: $(inputs.params.tools_version)
@@ -193,7 +193,7 @@ images:
193193

194194
- name: agent-ubi-release
195195
task_type: docker_build
196-
tags: ["ubi", "release"]
196+
tags: [ "ubi", "release" ]
197197
dockerfile: scripts/dev/templates/agent/Dockerfile.ubi-$(inputs.params.version_id)
198198

199199
buildargs:
@@ -210,6 +210,7 @@ images:
210210
- name: readiness-probe-init
211211
vars:
212212
context: .
213+
template_context: scripts/dev/templates/readiness
213214

214215
inputs:
215216
- readiness_probe_image
@@ -220,7 +221,7 @@ images:
220221
- name: readiness-init-context-build
221222
task_type: docker_build
222223
dockerfile: scripts/dev/templates/readiness/Dockerfile.builder
223-
tags: ["readiness-probe"]
224+
tags: [ "readiness-probe", "ubi" ]
224225
labels:
225226
quay.expires-after: 48h
226227

@@ -231,17 +232,29 @@ images:
231232
- registry: $(inputs.params.registry)/$(inputs.params.readiness_probe_image_dev)
232233
tag: $(inputs.params.version_id)-context
233234

235+
- name: readiness-template-ubi
236+
task_type: dockerfile_template
237+
tags: [ "ubi" ]
238+
template_file_extension: readiness
239+
240+
inputs:
241+
- base_image
242+
243+
output:
244+
- dockerfile: scripts/dev/templates/readiness/Dockerfile.readiness-$(inputs.params.version_id)
245+
234246
- name: readiness-init-build
235247
task_type: docker_build
236-
dockerfile: scripts/dev/templates/readiness/Dockerfile.readiness
237-
238-
labels:
239-
quay.expires-after: 48h
248+
tags: [ "readiness-probe", "ubi" ]
249+
dockerfile: scripts/dev/templates/readiness/Dockerfile.readiness-$(inputs.params.version_id)
240250

241-
tags: ["readiness-probe"]
242251
buildargs:
243252
imagebase: $(inputs.params.registry)/$(inputs.params.readiness_probe_image_dev):$(inputs.params.version_id)-context
244253

254+
255+
labels:
256+
quay.expires-after: 48h
257+
245258
output:
246259
- registry: $(inputs.params.registry)/$(inputs.params.readiness_probe_image_dev)
247260
tag: $(inputs.params.version_id)
@@ -251,7 +264,7 @@ images:
251264
- name: readiness-init-context-release
252265
task_type: docker_build
253266
dockerfile: scripts/dev/templates/readiness/Dockerfile.builder
254-
tags: ["readiness-probe", "release"]
267+
tags: [ "readiness-probe", "release" , "ubi" ]
255268

256269
labels:
257270
quay.expires-after: Never
@@ -261,15 +274,28 @@ images:
261274

262275
inputs:
263276
- release_version
277+
- builder_image
264278

265279
output:
266280
- registry: $(inputs.params.registry)/$(inputs.params.readiness_probe_image)
267281
tag: $(inputs.params.release_version)-context
268282

283+
- name: readiness-template-release
284+
task_type: dockerfile_template
285+
tags: [ "readiness-probe", "release", "ubi" ]
286+
template_file_extension: readiness
287+
inputs:
288+
- base_image
289+
- release_version
290+
291+
output:
292+
- dockerfile: scripts/dev/templates/readiness/Dockerfile.readiness-$(inputs.params.release_version)
293+
- dockerfile: $(inputs.params.s3_bucket)/mongodb-readiness/$(inputs.params.release_version)/ubi/Dockerfile
294+
269295
- name: readiness-init-build-release
270296
task_type: docker_build
271-
dockerfile: scripts/dev/templates/readiness/Dockerfile.readiness
272-
tags: ["readiness-probe", "release"]
297+
dockerfile: scripts/dev/templates/readiness/Dockerfile.readiness-$(inputs.params.release_version)
298+
tags: [ "readiness-probe", "release" , "ubi" ]
273299

274300
buildargs:
275301
imagebase: $(inputs.params.registry)/$(inputs.params.readiness_probe_image):$(inputs.params.release_version)-context
@@ -278,6 +304,7 @@ images:
278304
quay.expires-after: Never
279305

280306
inputs:
307+
- base_image
281308
- release_version
282309

283310
output:
@@ -287,6 +314,7 @@ images:
287314
- name: version-post-start-hook-init
288315
vars:
289316
context: .
317+
template_context: scripts/dev/templates/versionhook
290318

291319
inputs:
292320
- version_post_start_hook_image
@@ -297,7 +325,7 @@ images:
297325
- name: version-post-start-hook-init-context-build
298326
task_type: docker_build
299327
dockerfile: scripts/dev/templates/versionhook/Dockerfile.builder
300-
tags: ["post-start-hook"]
328+
tags: [ "post-start-hook", "ubi" ]
301329

302330
buildargs:
303331
builder_image: $(inputs.params.builder_image)
@@ -309,10 +337,22 @@ images:
309337
- registry: $(inputs.params.registry)/$(inputs.params.version_post_start_hook_image_dev)
310338
tag: $(inputs.params.version_id)-context
311339

340+
- name: version-post-start-hook-template-ubi
341+
task_type: dockerfile_template
342+
tags: [ "ubi" ]
343+
template_file_extension: versionhook
344+
345+
inputs:
346+
- base_image
347+
348+
output:
349+
- dockerfile: scripts/dev/templates/versionhook/Dockerfile.versionhook-$(inputs.params.version_id)
350+
312351
- name: version-post-start-hook-init-build
313352
task_type: docker_build
314-
dockerfile: scripts/dev/templates/versionhook/Dockerfile.versionhook
315-
tags: ["post-start-hook"]
353+
dockerfile: scripts/dev/templates/versionhook/Dockerfile.versionhook-$(inputs.params.version_id)
354+
tags: [ "post-start-hook", "ubi" ]
355+
316356
buildargs:
317357
imagebase: $(inputs.params.registry)/$(inputs.params.version_post_start_hook_image_dev):$(inputs.params.version_id)-context
318358

@@ -328,7 +368,7 @@ images:
328368
- name: version-post-start-hook-init-context-release
329369
task_type: docker_build
330370
dockerfile: scripts/dev/templates/versionhook/Dockerfile.builder
331-
tags: ["release", "post-start-hook"]
371+
tags: [ "release", "post-start-hook", "ubi", ]
332372

333373
labels:
334374
quay.expires-after: Never
@@ -338,24 +378,39 @@ images:
338378

339379
inputs:
340380
- release_version
381+
- builder_image
341382

342383
output:
343384
- registry: $(inputs.params.registry)/$(inputs.params.version_post_start_hook_image)
344385
tag: $(inputs.params.release_version)-context
345386

387+
- name: versionhook-template-release
388+
task_type: dockerfile_template
389+
tags: [ "post-start-hook", "release", "ubi" ]
390+
template_file_extension: versionhook
391+
inputs:
392+
- base_image
393+
- release_version
394+
395+
output:
396+
- dockerfile: scripts/dev/templates/versionhook/Dockerfile.versionhook-$(inputs.params.release_version)
397+
- dockerfile: $(inputs.params.s3_bucket)/mongodb-versionhook/$(inputs.params.release_version)/ubi/Dockerfile
398+
346399
- name: version-post-start-hook-init-build-release
347400
task_type: docker_build
348-
dockerfile: scripts/dev/templates/versionhook/Dockerfile.versionhook
349-
tags: ["release", "post-start-hook"]
401+
dockerfile: scripts/dev/templates/versionhook/Dockerfile.versionhook-$(inputs.params.release_version)
402+
tags: [ "release", "post-start-hook", "ubi" ]
403+
350404
buildargs:
351405
imagebase: $(inputs.params.registry)/$(inputs.params.version_post_start_hook_image):$(inputs.params.release_version)-context
352406

353407
labels:
354408
quay.expires-after: Never
355409

356410
inputs:
411+
- base_image
357412
- release_version
358413

359414
output:
360415
- registry: $(inputs.params.registry)/$(inputs.params.version_post_start_hook_image)
361-
tag: $(inputs.params.release_version)
416+
tag: $(inputs.params.release_version)

pipeline.py

+8
Original file line numberDiff line numberDiff line change
@@ -72,33 +72,41 @@ def build_agent_image_ubuntu(config: DevConfig) -> None:
7272
def build_readiness_probe_image(config: DevConfig) -> None:
7373
release = _load_release()
7474
config.ensure_tag_is_run("readiness-probe")
75+
config.ensure_tag_is_run("ubi")
7576

7677
sonar_build_image(
7778
"readiness-probe-init",
7879
config,
7980
args={
81+
"builder": "true",
82+
"base_image": "registry.access.redhat.com/ubi8/ubi-minimal:latest",
8083
"registry": config.repo_url,
8184
"release_version": release["readiness-probe"],
8285
"readiness_probe_image": config.readiness_probe_image,
8386
"readiness_probe_image_dev": config.readiness_probe_image_dev,
8487
"builder_image": release["golang-builder-image"],
88+
"s3_bucket": config.s3_bucket,
8589
},
8690
)
8791

8892

8993
def build_version_post_start_hook_image(config: DevConfig) -> None:
9094
release = _load_release()
9195
config.ensure_tag_is_run("post-start-hook")
96+
config.ensure_tag_is_run("ubi")
9297

9398
sonar_build_image(
9499
"version-post-start-hook-init",
95100
config,
96101
args={
102+
"builder": "true",
103+
"base_image": "registry.access.redhat.com/ubi8/ubi-minimal:latest",
97104
"registry": config.repo_url,
98105
"release_version": release["version-upgrade-hook"],
99106
"version_post_start_hook_image": config.version_upgrade_hook_image,
100107
"version_post_start_hook_image_dev": config.version_upgrade_hook_image_dev,
101108
"builder_image": release["golang-builder-image"],
109+
"s3_bucket": config.s3_bucket,
102110
},
103111
)
104112

0 commit comments

Comments
 (0)