Skip to content

feat(engine): add docker compose installation script#3353

Draft
Tpo76 wants to merge 11 commits intodevelopfrom
MON-196927-engine-installation-script-docker-compose
Draft

feat(engine): add docker compose installation script#3353
Tpo76 wants to merge 11 commits intodevelopfrom
MON-196927-engine-installation-script-docker-compose

Conversation

@Tpo76
Copy link
Copy Markdown
Contributor

@Tpo76 Tpo76 commented Apr 24, 2026

Summary

Draft PR for MON-196927.

Deliver installation script (Docker compose) to deploy the latest centreon-engine Docker image on an existing Docker environment. Sets env vars POLLER_TOKEN, UUID, installs plugins via dnf install, ensures connection to broker & gorgone.

Derived from fth-docker-collect (umbrella branch — poller-in-container epic MON-192897).

Test plan

  • TBD

🤖 Generated with Claude Code

Summary by Aikido

Security Issues: 0 Quality Issues: 0 Resolved Issues: 0

🚀 New Features

  • Added centreon-engine Dockerfile and entrypoint scripts for bookworm image
  • Added centreon-broker Dockerfile and simplified container entrypoint for bookworm

⚡ Enhancements

  • Introduced plugin management tooling: check_plugins.py and watcher scripts
  • Updated GitHub workflows to include docker build triggers and paths

🔧 Refactors

  • Inlined broker container.d scripts into single container.sh to simplify

More info

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 24, 2026

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • coderabbit

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 39bdfbc3-6c98-46a9-b7c4-20738f3b8673

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch MON-196927-engine-installation-script-docker-compose

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment thread .github/docker/centreon-broker/bookworm/entrypoint/api_control.py Outdated
Comment thread .github/docker/centreon-broker/bookworm/entrypoint/container.d/40-broker.sh Outdated
Comment thread .github/docker/centreon-broker/bookworm/entrypoint/container.sh
Comment thread .github/workflows/docker-collect.yml Outdated
@Tpo76 Tpo76 marked this pull request as draft April 29, 2026 13:11
Tpo76 and others added 6 commits May 4, 2026 10:57
…treon-broker

- centreon-engine bookworm image with entrypoint scripts (config, plugin watcher, logs)
- centreon-broker bookworm image with entrypoint scripts (api_control, broker bootstrap)
- docker-collect.yml workflow building both images via matrix on PR/manual dispatch

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…tegrate dockerize into collect workflow

- Inline container.d scripts into container.sh for broker (remove container.d complexity)
- Delete docker-collect.yml and add dockerize-engine-broker job to collect.yml to avoid duplicating the package job

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@Tpo76 Tpo76 force-pushed the MON-196927-engine-installation-script-docker-compose branch from 5399eb1 to ad76a30 Compare May 4, 2026 08:59
Tpo76 and others added 3 commits May 6, 2026 16:00
- Use apt-plugins-stable for amd64 and apt-plugins-unstable for arm64
  (bookworm arm64 libssh-session-perl now available in unstable)
- Remove cpanm ARM fallback from engine Dockerfile
- Add arm64 to dockerize-engine-broker matrix in collect.yml
- Fail fast with clear error if deb cache is missing for a given arch
- Ensure bookworm amd64+arm64 packages are built when build-docker-collect label is set

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Replace per-arch matrix jobs with a single buildx multi-platform build:
- Remove arch dimension from dockerize matrix
- Restore both amd64 and arm64 deb caches, sort into packages-centreon/<arch>/
- Add setup-qemu-action to support arm64 emulation on amd64 runner
- Build with platforms: linux/amd64,linux/arm64 → single manifest tag
- Add ARG TARGETARCH in extractor stage of engine and broker Dockerfiles

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Official Debian bookworm arm64 has libssh-session-perl 0.8 / libnet-curl-perl 0.54
but centreon-plugin-* requires >= 1.1. Centreon's arm64 bookworm packages are not
yet in apt-plugins-stable (tracked in MON-198411).

For arm64: install the three XS modules from CPAN and create an equivs shim package
(centreon-arm64-perl-shims) that satisfies APT dependency checks on the plugin install.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants