Skip to content

Package reboot deps - #193

Merged
eniac111 merged 5 commits into
masterfrom
chore/agent-package-reboot-deps
Oct 20, 2026
Merged

eniac111 merged 5 commits into
masterfrom
chore/agent-package-reboot-deps

Conversation

@eniac111

Copy link
Copy Markdown
Member

No description provided.

Signed-off-by: Blagovest Petrov <blagovest@petrovs.info>
A new policy type manages the distribution's unattended update mechanism
and the reboot after updates. A policy sets what the node installs on its
own (nothing, check only, security updates, all updates), the schedule as
a drop-in of the engine's timer, packages held back, and the reboot rule:
never, when an update needs it, or after every run, within a daily
window, only when nobody is logged in unless the reboot has been pending
for a number of days, with a desktop warning before a reboot that affects
users.

The agent drives dnf-automatic (DNF 4 and 5), unattended-upgrades,
os-update and rpm-ostree's automatic update policy, installs the engine
package when it is missing, switches every engine's own reboot off and
decides reboots itself, records every original state and restores it
when the node leaves every policy. Nodes report their engine, pending
updates with advisories and CVE ids, last run, kernels and reboot state,
shown in a new Software updates section of the node page. Holds are
audited as policy.updates_hold.

Migration 000045 adds the inventory tables. Agent configuration gains the
updates section. Documentation, demo seed and screenshot included.

Signed-off-by: Blagovest Petrov <blagovest@petrovs.info>
- Limits: security, reboot and metadata age thresholds reported as the
  updates:security-age, updates:reboot-age and updates:check-age items,
  evaluated from the scan facts the agent records; the mode and age
  items carry the CIS "Ensure updates, patches, and additional security
  software are installed" control.
- Node actions check, install and reboot over the policy stream, behind
  the new updates:operate permission (migration 000046) and audited as
  updates.action; forced reboots warn users and restart after a minute.
- Nodes list Updates column and filter, per-row update summary and
  dashboard cards from GET /api/v1/updates/summary.
- Firmware: fwupd metadata refresh timer and pending firmware in the
  inventory and as the updates:firmware item.
- Editor tabs Limits and Firmware, templates with limits, docs,
  permissions reference and release notes.

Signed-off-by: Blagovest Petrov <blagovest@petrovs.info>
Signed-off-by: Blagovest Petrov <blagovest@petrovs.info>
- Offline mode on dnf5 systems: the engine downloads only, the agent
  stores the offline transaction (updates:offline item, a pending
  reboot) and the policy's reboot runs it with dnf5 offline reboot.
- transactional-update as a fifth engine for MicroOS, Aeon, Kalpa and
  SLE Micro, and updates.engine to force an engine on a node.
- CVE ids for dnf security advisories, and a CSV or JSON export of the
  pending updates from the nodes list and the node section.
- The updates schedule drop-in is 90-bor-updates.conf, so the Services
  & timers type no longer removes it; a sync's window reset covers only
  its own files.
- Agent packages keep the unit enabled across upgrades and restart an
  enrolled agent on the new binary.

Signed-off-by: Blagovest Petrov <blagovest@petrovs.info>
@eniac111
eniac111 merged commit 439b78a into master Oct 20, 2026
33 checks passed
@eniac111
eniac111 deleted the chore/agent-package-reboot-deps branch October 20, 2026 14:00
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant