oam aims to reduce some of the repetition of normal regular maintainance tasks on a gentoo server.
The philosophy is to:
- automate tasks where it is safe to do so (e.g. merge blockers must be still resolved manually)
- log all actions and outputs (to aid postmortum analysis and followup manual intervention)
- provide a dashboard view of the progress of actions and results (to spot issues early)
- provide an editor preloaded with logs and portage config files ("vim -p" tabs)
- provide a quick glance summary of merges, blocks, glsa's and news items
See the docs for details.
Workflows are a sequence of tasks which are executed in sequence, stopping at the first failure.
For example the weekly
workflow will run:
- sync
emaint --auto sync, layman --sync=ALL, eix-update/eix-remote
- glsa
glsa-check
- fetch
emerge --fetchonly --update world
- update
emerge --update world, perl-cleaner, emerge @preserved-rebuild
- clean
eclean distfiles, eclean-kernel
- kernel attempts to build a new kernel if necessary
- qcheck
qcheck --all
- simple workflow configuration on a per-server basis - new workflows can be added
- dashboard display of currently running oam processes built on multitail
- overall summary of a merge (what merged succesfully, what didn't, glsa's, blockers, qcheck differences, unread news items... etc)
- logs all operations, errors, process output... etc
- multi-server support for starting and monitoring operations
- install via ebuild from the lmiphay overlay
Copyright (c) 2013-2018 Paul Healy
Permission granted to redistribute it and/or modify it under the terms of the GNU General Public License version 2.