.. oam documentation master file, created by
sphinx-quickstart on Mon Jul 17 21:50:04 2017.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
========================
Welcome to oam!
========================
Operations/Admin/Management for gentoo
--------------------------------------
``oam`` can 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, blockers and new news items
See :doc:`changelog` for changes in this version.
See :doc:`config` for an overview of how to configure ``oam``.
Workflows
---------
Workflows are a sequence of tasks which are executed in sequence, stopping
at the first failure. A task must complete successfully before the next
task starts.
A task can consist of one or more `invoke `_ tasks.
For example the `weekly` workflow will run these tasks:
+------------+-----------------------------------------+
| Task Name | Commands |
+============+=========================================+
| ``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`` |
+------------+-----------------------------------------+
| ``kernel`` | - ``build a new kernel if necessary`` |
+------------+-----------------------------------------+
| ``qcheck`` | - ``qcheck --all`` |
+------------+-----------------------------------------+
Tasks can be added/skipped by configuration.
Manual Operations
-----------------
You must still manually:
+ resolve keyword or use flag blockers (see the blocks.log file for a starting point)
+ run `dispatch-conf` when prompted
+ remove obsolete packages manually with: `emerge --depclean`
Features
--------
* simple workflow configuration on a per-server basis - new workflows can be added - built on `invoke `_.
* 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 `_.
* pulls in many useful dependencies as part of the install (genlop, multitail, logrotate, ranger)
* bash shell completion support with `app-shells/bash-completion `_.
.. image:: ../../screenshots/oam-watch4.png
:width: 600px
:align: center
:height: 300px
:alt: oam-watch sample
Why should you not use oam?
----------------------------------
* it is not a way to become familar with gentoo (learn emerge... etc first)
* you are happy with your current workflow (stick with your own scripts)
.. toctree::
:maxdepth: 2
:caption: Contents:
quickstart
config
changelog
priorart
Copyright
---------
Copyright (c) 2013-2017 Paul Healy
Permission granted to redistribute it and/or modify it under the terms of the
GNU General Public License version 2.
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`