docs: update architecture.yml with unified packaging section

- Add packaging section describing DEB and RPM builds with fpm
- Document Dockerfile.package multi-stage build pipeline
- List files, directories, maintainer scripts, and dependencies
- Add verification commands for both package types

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Jacquin Antoine
2026-02-27 15:41:29 +01:00
parent 8fc14c1e94
commit 0d84a1284f

View File

@ -468,38 +468,74 @@ docker:
packaging: packaging:
description: > description: >
logcorrelator doit être distribué en package .rpm pour Rocky Linux (8+), logcorrelator est distribué sous forme de packages .deb (Debian/Ubuntu) et
construit intégralement dans Docker à partir du binaire compilé.[web:96][web:99][web:101] .rpm (Rocky Linux/RHEL/CentOS), construits intégralement dans Docker avec fpm.
formats: formats:
- deb
- rpm - rpm
target_distros: target_distros:
- rocky-linux-8+ deb:
- rocky-linux-9+ - debian-12+
- ubuntu-22.04+
rpm:
- rocky-linux-8+
- rocky-linux-9+
- rhel-8+
- rhel-9+
tool: fpm tool: fpm
build_pipeline: build_pipeline:
steps: dockerfile: Dockerfile.package
- name: build_binary_in_docker stages:
- name: builder
description: > description: >
Utiliser limage builder pour compiler logcorrelator et installer le Compilation du binaire Go avec CGO_ENABLED=0 pour un binaire statique.
binaire dans un répertoire de staging (par ex. /tmp/pkgroot/usr/bin/logcorrelator). GOOS=linux GOARCH=amd64.
- name: prepare_filesystem_layout - name: package_builder
description: > description: >
Créer la hiérarchie : Installation de fpm, rpm, dpkg-dev. Création de l'arborescence
- /usr/bin/logcorrelator et exécution de fpm pour générer DEB et RPM.
- /etc/logcorrelator/logcorrelator.toml (exemple) - name: output
- /etc/systemd/system/logcorrelator.service (unit)
- /var/log/logcorrelator (répertoire de logs)
- name: run_fpm_in_docker
description: > description: >
Lancer un conteneur fpm (par ex. image ruby:fpm) avec montage de Image Alpine minimale contenant les packages dans /packages/deb et /packages/rpm.
/tmp/pkgroot, et exécuter fpm -s dir -t rpm pour générer le .rpm files:
compatible Rocky Linux. binary:
- name: verify_rpm_on_rocky source: dist/logcorrelator
description: > dest: /usr/bin/logcorrelator
Tester linstallation et le démarrage du service dans un conteneur mode: "0755"
Rocky Linux 8/9 (docker run --rm -it rockylinux:8), en installant le config:
.rpm, en activant le service systemd et en vérifiant quil démarre - source: config.example.conf
correctement. dest: /etc/logcorrelator/logcorrelator.conf
mode: "0640"
config_file: true
- source: config.example.conf
dest: /usr/share/logcorrelator/logcorrelator.conf.example
mode: "0640"
directories:
- path: /var/log/logcorrelator
mode: "0755"
- path: /var/run/logcorrelator
mode: "0755"
- path: /etc/logcorrelator
mode: "0750"
maintainer_scripts:
deb:
postinst: packaging/deb/postinst
prerm: packaging/deb/prerm
postrm: packaging/deb/postrm
rpm:
post: packaging/deb/postinst
preun: packaging/deb/prerm
postun: packaging/deb/postrm
dependencies:
deb:
- systemd
rpm:
- systemd
verify:
deb:
command: docker run --rm -v $(pwd)/dist/deb:/packages debian:latest sh -c "apt-get update && apt-get install -y /packages/*.deb"
rpm:
command: docker run --rm -v $(pwd)/dist/rpm:/packages rockylinux:8 sh -c "dnf install -y /packages/*.rpm"
non_functional: non_functional:
performance: performance: