APT-DATER(5)

πŸ’– apt-dater.xml β€” the config file of apt-dater(8) πŸ’–

okay bestie, welcome to the manual page for apt-dater.xml (that's the apt-dater(5) one, in case you're keeping track) πŸŽ€


✨ SYNOPSIS ✨

<apt-dater xmlns:xi="http://www.w3.org/2001/XInclude">
    <ssh
     spawn-agent="true">

        <add-key fn="/path/to/id_rsa1"/>
        <add-key fn="/path/to/id_rsa2"/>
    </ssh>

    <paths
     hosts-file="path-to/hosts.xml"
     stats-dir="path-to/stats"/>

    <history
        record="true"
     err-pattern="((?<!no )error|warning|fail)"/>
</apt-dater>

🌸 DESCRIPTION 🌸

So apt-dater.xml is literally the configuration file for apt-dater(8). And apt-dater(8)? It's a program that manages package updates across a large number of remote hosts over SSH. Big swarm energy. 🐝

This man page walks you through the parameters of apt-dater.xml briefly β€” no gatekeeping here. The default spot for this file is $XDG_CONFIG_HOME/apt-dater/apt-dater.xml. πŸ’…

Oh and heads up: the config file gets parsed using libxml2, and it supports Xincludes. Fancy, right? ✨


πŸ‘‘ OPTIONS πŸ‘‘

Attributes of the 'paths' element

  • hosts-file="$XDG_CONFIG_HOME/apt-dater/hosts.xml" β€” where the file that contains all the hosts you're managing with apt-dater lives. (optional)
  • stats-dir="$XDG_DATA_HOME/apt-dater" β€” where the directory that holds the status files of any host lives. (optional)

Attributes of the 'screen' element

  • rc-file="$XDG_CONFIG_HOME/apt-dater/screenrc" β€” the location of the screen(1) config file. (optional)
  • title="%m # %u@%h:%p" β€” a template for screen titles, built with string escapes. (optional)
  • no-dumps="false" β€” turns support of screen dumps on/off. (optional)
  • query-maintainer="false" β€” if you set this to 1, apt-dater will ask for the maintainer's name on startup. If you set it to 2, it'll only ask when no MAINTAINER environment variable is set.

Attributes of the 'ssh' element

  • cmd="/usr/bin/ssh β€” the location of the ssh-client binary.
  • sftp-cmd β€” the command to initiate sftp file transfer, e.g. /usr/bin/sftp
  • opt-cmd-flags β€” extra ssh-client command flags, which get appended.
  • spawn-agent="false" β€” if enabled, apt-dater tries to spawn ssh-agent(1) when none is already running. ssh-add(1) gets called to load your private keys.
  • add-keys β€” the list of private keys that should be loaded when apt-dater calls ssh-add(1).

ngl, here's the tea on keys: apt-dater will try to load additional private SSH keys using ssh-add(1) during start. Those keys need to be listed as add-key child elements. And the attribute fn refers to the filename of the private key:

<ssh spawn-agent="false" ..>
  <add-key fn="/path/to/id_rsa1"/>
</ssh>

Attributes of the 'commands' element

  • CmdRefresh="apt-dater-host refresh" β€” the command used to refresh the status of the managed host.
  • CmdUpgrade="apt-dater-host upgrade" β€” the command used to initiate an upgrade of a managed host.
  • CmdInstall="apt-dater-host install %s" β€” the command used to update a single package. The %s gets replaced by the name of the package. ✨

Attributes of the 'appearance' element

  • colors β€” set your own color style of the ui components. To highlight colors you can use the bright* keyword. Example: Colors=menu brightgreen blue;status brightgreen blue;selector black red;

Components are:

  • default
  • menu
  • status
  • selector
  • hoststatus
  • query
  • input

Colors are:

  • default
  • black
  • cyan
  • green
  • magenta
  • red
  • white
  • yellow

Attributes of the 'auto-ref' element

  • enabled="true" β€” enabled the auto refresh feature if compiled in (see README.autoref).

Attributes of the 'notify' element

  • beep="true" β€” enables user notification by terminal bell. πŸ””
  • flash="true" β€” enables user notification by terminal flashing.

Attributes of the 'history' element

  • err-pattern="((?<!no )error|warning|fail)" β€” a regular expression pattern to match the screen output. A match means the user should be asked to review the output (using less). (Optional)
  • record="true" β€” enables session recording using script(1). (Optional)

Attributes of the 'hooks' element

  • pre-update="/etc/apt-dater/pre-upg.d",
  • pre-refresh="/etc/apt-dater/pre-ref.d",
  • pre-install="/etc/apt-dater/pre-ins.d",
  • pre-connect="/etc/apt-dater/pre-con.d",
  • post-update="/etc/apt-dater/post-upg.d",
  • post-refresh="/etc/apt-dater/post-ref.d",
  • post-install="/etc/apt-dater/post-ins.d",
  • post-connect="/etc/apt-dater/post-con.d" β€” hooks to be run before and after an action on a host is done. The values should be path names, and any executable script within these directories will be run by run-parts(8). 🫢

πŸ¦‹ STRING ESCAPES πŸ¦‹

apt-dater(8) provides a string escape mechanism, and the escape character is %. iconic tbh.

Table 1. List of supported escapes.

  • % β€” replaced by the escape character
  • h β€” replaced by the hostname
  • H β€” replaced by the SSH hostname used for connecting
  • m β€” replaced by the maintainer name
  • p β€” replaced by the SSH port number
  • u β€” replaced by the SSH username
  • U β€” replaced by the SSH username appended by '@', empty string if no SSH username is configured.

πŸŽ€ FILES πŸŽ€

  • apt-dater.xml β€” the configuration file of apt-dater.
  • hosts.xml β€” contains all hosts you would like to manage.

🌈 SEE ALSO 🌈

apt-dater(8), apt-get(1), debtrack, screen(1), script(1), ssh(1), XDG Base Directory Specification[1].


πŸ’œ AUTHORS πŸ’œ

  • Thomas Liske <liske@ibh.de>
    • maintainer
  • Andre Ellguth
    • ex-maintainer

Copyright Β© 2008-2015 IBH IT-Service GmbH [https://www.ibh.de/]


πŸ“ NOTES πŸ“

  1. XDG Base Directory Specification http://www.freedesktop.org/Standards/basedir-spec

okay that's the whole thing, no cap. this page came from the apt-dater project and it's dated February 28, 2015 β€” go forth and configure, bestie, you got this πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from