--- title: "[bojemoi] feat: resolve-image never + registry-gc + cccp notify + defectdojo email notifications" date: 2026-05-17T22:24:48+02:00 draft: false tags: ["commit", "bojemoi", "main"] categories: ["Git Activity"] summary: "Commit a97505f par Betty dans bojemoi" author: "Betty" --- ## Commit `a97505f` | | | |---|---| | **Repository** | bojemoi | | **Branch** | `main` | | **Author** | Betty | | **Hash** | `a97505f5a4b3829938d7973a815c58d3ddc6a024` | ### Description Image management: - Replace --resolve-image always with --resolve-image never across all deploy scripts (Makefile, install.sh, c2-manage.sh, docs, wiki, stack files) to prevent stale sha256 digest failures when images are rebuilt - Add registry-gc service to 02-service-maintenance.yml (replicas: 0, run manually to garbage-collect unreferenced blobs) - Add notify_swarm_update() to scripts/cccp.sh: after each successful image push, auto force-update running Swarm services using that image DefectDojo email notifications (ZAP + Nuclei scans → mail): - volumes/defectdojo/dojo_smtp_backend.py: custom Django SMTP backend that disables TLS cert verification for Protonmail Bridge self-signed cert - volumes/defectdojo/local_settings.py: override EMAIL_BACKEND, EMAIL_HOST, EMAIL_PORT, EMAIL_USE_TLS, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD (reads alertmanager_smtp_pass secret at startup) - stack/40-service-borodino.yml: add mail network + alertmanager_smtp_pass secret + dojo_smtp_backend/dojo_local_settings configs to defectdojo-uwsgi and dojo-celery-worker; add dojo-smtp-setup one-shot service (replicas: 0) - System_Settings.enable_mail_notifications activated via Django shell Co-Authored-By: Claude Sonnet 4.6 ### Files Changed ``` M .claude/commands/borodino.md A .claude/commands/defectdojo.md M BUILD_PROMPT.md M CLAUDE.md M Makefile M discord/populate.py M docs/runbook/borodino-rebuild.md M docs/runbook/docker-secrets.md M docs/runbook/node-access.md M docs/runbook/stack-deploy.md M install.sh M scripts/cccp.sh M stack/.gitlab-ci.yml M stack/01-service-hl.yml M stack/02-init-ptaas.yml M stack/02-service-maintenance.yml M stack/40-service-borodino.yml M stack/42-service-recon.yml M stack/47-service-vigie.yml M stack/49-service-mcp.yml M stack/55-service-sentinel.yml M stack/56-service-dvar.yml M stack/60-service-telegram.yml M stack/65-service-medved.yml M stack/README.md A volumes/defectdojo/dojo_smtp_backend.py A volumes/defectdojo/local_settings.py A volumes/defectdojo/smtp_setup.py A wiki/DefectDojo.md M wiki/Docker-Swarm.md ``` ### Diff Summary ``` .claude/commands/borodino.md | 2 +- .claude/commands/defectdojo.md | 63 ++++++++++++++ BUILD_PROMPT.md | 20 ++--- CLAUDE.md | 6 +- Makefile | 10 +-- discord/populate.py | 13 ++- docs/runbook/borodino-rebuild.md | 2 +- docs/runbook/docker-secrets.md | 2 +- docs/runbook/node-access.md | 7 +- docs/runbook/stack-deploy.md | 26 +++--- install.sh | 12 +-- scripts/cccp.sh | 36 ++++++++ stack/.gitlab-ci.yml | 10 +-- stack/01-service-hl.yml | 18 ++-- stack/02-init-ptaas.yml | 2 +- stack/02-service-maintenance.yml | 38 +++++++++ stack/40-service-borodino.yml | 62 ++++++++++++++ stack/42-service-recon.yml | 2 +- stack/47-service-vigie.yml | 2 +- stack/49-service-mcp.yml | 2 +- stack/55-service-sentinel.yml | 2 +- stack/56-service-dvar.yml | 2 +- stack/60-service-telegram.yml | 4 +- stack/65-service-medved.yml | 2 +- stack/README.md | 6 +- volumes/defectdojo/dojo_smtp_backend.py | 32 +++++++ volumes/defectdojo/local_settings.py | 25 ++++++ volumes/defectdojo/smtp_setup.py | 35 ++++++++ wiki/DefectDojo.md | 144 ++++++++++++++++++++++++++++++++ wiki/Docker-Swarm.md | 4 +- 30 files changed, 514 insertions(+), 77 deletions(-) ```