Skip to content

flat235/upman

Repository files navigation

Upman

UPdata MANager is used in conjunction with Upclid to display pending updates and reboots.

Working features

  • displaying pending updates
  • displaying pending reboots
  • displaying locked packages
  • display log of last update-run
  • authenticating users via ldap (for actions, displaying works without login)
  • authorizing users via ldap (simple group check)
  • showing custom facts about systems (if custom facts are implemented)
  • triggering updates runs
  • triggering reboots
  • panic button (abort all updates/reboot, that have not been started)
  • optionally save ets tables to disk on shutdown (for hot cache / persistent persmissions&locks)

Currently plannend features

  • (un)locking packages
  • instead of authenticating clients: update-clearance includes list of reported updatetable packages. client only installs updates, if list matches.

Deploying Upman

  • Install current erlang (i.e. from here
  • copy upman.service to /etc/systemd/system/upman.service
  • copy upman.toml to /etc/upman.toml and customize the ldap settings, port, etc.
  • run mix deps.get to install dependencies
  • run mix phx.digest to create compressed assets
  • run MIX_ENV=prod mix release to create a release-package
  • run tar -C /opt/upman -xzf _build/prod/upman-$version.tar.gz to install the release locally
  • Start Upman via systemctl start upman
  • install and start Upclid on one or more systems

Now you can visit localhost from your browser.

Contributions very welcome!

Issues, pull requests, documentation, questions, feature request, whatever your method - your contributions are very welcome!

License

Apache 2.0