diff --git a/.gitignore b/.gitignore index b862ac6..bf8a3cc 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/v0.11.tar.gz +SOURCES/v0.14.0.tar.gz diff --git a/.greenboot.metadata b/.greenboot.metadata index 033640b..d83a68e 100644 --- a/.greenboot.metadata +++ b/.greenboot.metadata @@ -1 +1 @@ -bd8f27acbb02dbdca43ea07c35feb61581bc4491 SOURCES/v0.11.tar.gz +6c94c4e8961505c4b704248f77ed76f20892cd4d SOURCES/v0.14.0.tar.gz diff --git a/SPECS/greenboot.spec b/SPECS/greenboot.spec index 2a5e574..60afa0d 100644 --- a/SPECS/greenboot.spec +++ b/SPECS/greenboot.spec @@ -1,8 +1,8 @@ %global debug_package %{nil} Name: greenboot -Version: 0.11 -Release: 1%{?dist} +Version: 0.14.0 +Release: 3%{?dist} Summary: Generic Health Check Framework for systemd License: LGPLv2+ @@ -17,53 +17,36 @@ ExcludeArch: s390x BuildRequires: systemd-rpm-macros %{?systemd_requires} Requires: systemd +Requires: grub2-tools-minimal +Requires: rpm-ostree +# PAM is required to programatically read motd messages from /etc/motd.d/* +# This causes issues with RHEL-8 as the fix isn't there an el8 is on pam-1.3.x +Requires: pam +# While not strictly necessary to generate the motd, the main use-case of this package is to display it on SSH login +Recommends: openssh +Provides: greenboot-auto-update-fallback +Obsoletes: greenboot-auto-update-fallback <= 0.12.0 +Provides: greenboot-grub2 +Obsoletes: greenboot-grub2 <= 0.12.0 +Provides: greenboot-reboot +Obsoletes: greenboot-reboot <= 0.12.0 +Provides: greenboot-status +Obsoletes: greenboot-status <= 0.12.0 +Provides: greenboot-rpm-ostree-grub2 +Obsoletes: greenboot-rpm-ostree-grub2 <= 0.12.0 %description %{summary}. -%package auto-update-fallback -Summary: Automatic updates and failure fallback for rpm-ostree-based system +%package default-health-checks +Summary: Series of optional and curated health checks Requires: %{name} = %{version}-%{release} -Requires: %{name}-reboot = %{version}-%{release} -Requires: %{name}-rpm-ostree-grub2 = %{version}-%{release} +Requires: util-linux +Requires: jq +Provides: greenboot-update-platforms-check +Obsoletes: greenboot-update-platforms-check <= 0.12.0 -%description auto-update-fallback -%{summary}. - -%package status -Summary: Message of the Day updater for greenboot -Requires: %{name} = %{version}-%{release} -# PAM is required to programatically read motd messages from /etc/motd.d/* -# This needs an explicit version but we're awaiting the glacial fix for rhbz 1856828 bug -Requires: pam -# While not strictly necessary to generate the motd, the main use-case of this package is to display it on SSH login -Recommends: openssh - -%description status -%{summary}. - -%package rpm-ostree-grub2 -Summary: Scripts for greenboot on rpm-ostree-based systems using the Grub2 bootloader -Requires: %{name} = %{version}-%{release} -Requires: %{name}-grub2 = %{version}-%{release} -Requires: rpm-ostree - -%description rpm-ostree-grub2 -%{summary}. - -%package grub2 -Summary: Grub2 specific scripts for greenboot -Requires: %{name} = %{version}-%{release} -Requires: grub2-tools-minimal - -%description grub2 -%{summary}. - -%package reboot -Summary: Reboot on red status for greenboot -Requires: %{name} = %{version}-%{release} - -%description reboot +%description default-health-checks %{summary}. %prep @@ -78,104 +61,137 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/check/required.d mkdir %{buildroot}%{_sysconfdir}/%{name}/check/wanted.d mkdir %{buildroot}%{_sysconfdir}/%{name}/green.d mkdir %{buildroot}%{_sysconfdir}/%{name}/red.d +mkdir -p %{buildroot}%{_prefix}/lib/%{name}/check/required.d +mkdir %{buildroot}%{_prefix}/lib/%{name}/check/wanted.d +mkdir %{buildroot}%{_prefix}/lib/%{name}/green.d +mkdir %{buildroot}%{_prefix}/lib/%{name}/red.d mkdir -p %{buildroot}%{_unitdir} +mkdir -p %{buildroot}%{_unitdir}/greenboot-healthcheck.service.d mkdir -p %{buildroot}%{_tmpfilesdir} install -DpZm 0755 usr/libexec/greenboot/* %{buildroot}%{_libexecdir}/%{name} install -DpZm 0644 usr/lib/motd.d/boot-status %{buildroot}%{_exec_prefix}/lib/motd.d/boot-status -install -DpZm 0644 usr/lib/systemd/system/* %{buildroot}%{_unitdir} +install -DpZm 0644 usr/lib/systemd/system/greenboot-healthcheck.service.d/10-network-online.conf %{buildroot}%{_unitdir}/greenboot-healthcheck.service.d/10-network-online.conf +install -DpZm 0644 usr/lib/systemd/system/*.target %{buildroot}%{_unitdir} +install -DpZm 0644 usr/lib/systemd/system/*.service %{buildroot}%{_unitdir} install -DpZm 0644 usr/lib/tmpfiles.d/greenboot-status-motd.conf %{buildroot}%{_tmpfilesdir}/greenboot-status-motd.conf -install -DpZm 0755 etc/greenboot/check/required.d/* %{buildroot}%{_sysconfdir}/%{name}/check/required.d -install -DpZm 0755 etc/greenboot/check/wanted.d/* %{buildroot}%{_sysconfdir}/%{name}/check/wanted.d +install -DpZm 0755 usr/lib/greenboot/check/required.d/* %{buildroot}%{_prefix}/lib/%{name}/check/required.d +install -DpZm 0755 usr/lib/greenboot/check/wanted.d/* %{buildroot}%{_prefix}/lib/%{name}/check/wanted.d %post %systemd_post greenboot-healthcheck.service +%systemd_post greenboot-loading-message.service %systemd_post greenboot-task-runner.service %systemd_post redboot-task-runner.service %systemd_post redboot.target - -%post grub2 +%systemd_post greenboot-status.service %systemd_post greenboot-grub2-set-counter.service %systemd_post greenboot-grub2-set-success.service - -%post reboot +%systemd_post greenboot-rpm-ostree-grub2-check-fallback.service %systemd_post redboot-auto-reboot.service -%post rpm-ostree-grub2 -%systemd_post greenboot-rpm-ostree-grub2-check-fallback.service - -%post status -%systemd_post greenboot-status.service +%post default-health-checks +%systemd_post greenboot-loading-message.service %preun %systemd_preun greenboot-healthcheck.service +%systemd_preun greenboot-loading-message.service %systemd_preun greenboot-task-runner.service %systemd_preun redboot-task-runner.service %systemd_preun redboot.target - -%preun grub2 +%systemd_preun greenboot-status.service %systemd_preun greenboot-grub2-set-counter.service %systemd_preun greenboot-grub2-set-success.service - -%preun rpm-ostree-grub2 %systemd_preun greenboot-rpm-ostree-grub2-check-fallback.service -%preun status -%systemd_preun greenboot-status.service +%preun default-health-checks +%systemd_preun greenboot-loading-message.service %postun %systemd_postun greenboot-healthcheck.service +%systemd_postun greenboot-loading-message.service %systemd_postun greenboot-task-runner.service %systemd_postun redboot-task-runner.service %systemd_postun redboot.target - -%postun grub2 +%systemd_postun greenboot-status.service %systemd_postun greenboot-grub2-set-counter.service %systemd_postun greenboot-grub2-set-success.service - -%postun rpm-ostree-grub2 %systemd_postun greenboot-rpm-ostree-grub2-check-fallback.service -%postun status -%systemd_postun greenboot-status.service +%postun default-health-checks +%systemd_postun greenboot-loading-message.service %files %doc README.md %license LICENSE %dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/%{name} +%{_libexecdir}/%{name}/greenboot-loading-message %{_unitdir}/greenboot-healthcheck.service +%{_unitdir}/greenboot-loading-message.service %{_unitdir}/greenboot-task-runner.service %{_unitdir}/redboot-task-runner.service %{_unitdir}/redboot.target +%dir %{_prefix}/lib/%{name} +%dir %{_prefix}/lib/%{name}/check +%dir %{_prefix}/lib/%{name}/check/required.d +%{_prefix}/lib/%{name}/check/required.d/00_required_scripts_start.sh +%dir %{_prefix}/lib/%{name}/check/wanted.d +%{_prefix}/lib/%{name}/check/wanted.d/00_wanted_scripts_start.sh +%dir %{_prefix}/lib/%{name}/green.d +%dir %{_prefix}/lib/%{name}/red.d %dir %{_sysconfdir}/%{name} %dir %{_sysconfdir}/%{name}/check %dir %{_sysconfdir}/%{name}/check/required.d -%{_sysconfdir}/%{name}/check/required.d/00_required_scripts_start.sh %dir %{_sysconfdir}/%{name}/check/wanted.d -%{_sysconfdir}/%{name}/check/wanted.d/00_wanted_scripts_start.sh %dir %{_sysconfdir}/%{name}/green.d %dir %{_sysconfdir}/%{name}/red.d - -%files status %{_exec_prefix}/lib/motd.d/boot-status %{_libexecdir}/%{name}/greenboot-status %{_tmpfilesdir}/greenboot-status-motd.conf %{_unitdir}/greenboot-status.service - -%files rpm-ostree-grub2 -%{_libexecdir}/%{name}/greenboot-rpm-ostree-grub2-check-fallback -%{_unitdir}/greenboot-rpm-ostree-grub2-check-fallback.service - -%files grub2 %{_libexecdir}/%{name}/greenboot-grub2-set-counter %{_unitdir}/greenboot-grub2-set-success.service %{_unitdir}/greenboot-grub2-set-counter.service - -%files reboot +%{_libexecdir}/%{name}/greenboot-rpm-ostree-grub2-check-fallback +%{_unitdir}/greenboot-rpm-ostree-grub2-check-fallback.service %{_libexecdir}/%{name}/redboot-auto-reboot %{_unitdir}/redboot-auto-reboot.service +%files default-health-checks +%{_prefix}/lib/%{name}/check/required.d/01_repository_dns_check.sh +%{_prefix}/lib/%{name}/check/wanted.d/01_update_platforms_check.sh +%{_unitdir}/greenboot-healthcheck.service.d/10-network-online.conf +%{_prefix}/lib/%{name}/check/required.d/02_watchdog.sh + %changelog +* Tue Jan 18 2022 Peter Robinson - 0.14.0-3 +- Obsolete greenboot-status + +* Wed Dec 15 2021 Peter Robinson - 0.14.0-2 +- Fix systemd version + +* Thu Nov 18 2021 Packit Service - 0.14.0-1 +- Release 0.14.0 (Peter Robinson) +- Updated testing documentation (Jose Noguera) +- README updated with TOC and improved explanations (Jose Noguera) +- Add watchdog-triggered boot check #2 (Jose Noguera) +- Update specfile and README to reflect changes in subpackage layout. (Jose Noguera) +- Ensure all required health checks are run #52 (Jose Noguera) + +* Wed Nov 10 2021 Packit Service - 0.13.1-1 +- tag 0.31.1 (Peter Robinson) + +* Mon Jul 26 2021 Jose Noguera - 0.12.0-1 +- Update to 0.12.0 +- Add ability to configure maximum number of boot attempts via env var and config file. +- Add How does it work section to README. +- Add CI via GitHub Actions and unit testing with BATS. +- Add update platforms DNS resolutiona and connection checker as health checks out of the box + +* Sat Jan 16 2021 Peter Robinson - 0.11.0-2 +- Make arch specific due to grub availability on s390x +- Resolves: rhbz#1915241 + * Thu Aug 20 2020 Peter Robinson - 0.11-1 - Update to 0.11.0 - Resolves: rhbz#1815140