Configuration¶
Tako determines what to fetch and where to store images from a config file, one per image. Config files follow the same syntax as systemd unit files.
Example¶
Origin=https://images.example.com/app-foo
PublicKey=8+r5DKNN/cwI+h0oHxMtgdyND3S/5xDLHQu0hFUmq+g=
Destination=/var/lib/images/app-foo
Version=1.*
# Restart app-foo after a new image has been fetched.
Restart=app-foo.service
Options¶
The following options are available. Unless noted otherwise, all options must be specified exactly once.
Origin=
¶
Remote uri to fetch the manifest and images from. Usually an https url, but anything supported by Curl will do, such as a file://
or ssh://
uri. The uri must point to a directory that contains a manifest file. A trailing slash is allowed, but not required.
PublicKey=
¶
Public key used to verify image integrity and authenthicity. The public key should be announced by the distributor of the image. Distributors can generate a key pair with tako gen-key
.
Destination=
¶
Directory where images will be stored. This directory must exist. Tako will create a store
subdirectory to hold images, a manifest
file which is a copy of the remote manifest, and a latest
symlink that points to the latest compatible image in the store. A trailing slash is allowed, but not required.
Version=
¶
A version pattern that indicates which version range is compatible. Tako will fetch the latest (highest numbered) compatible version. The version pattern can be a fixed version, a wildcard pattern, or a bounds pattern. See Versions for more information.
Restart=
¶
A systemd unit to restart in case a newer image has been fetched. The format is the same as that of Requires=
in systemd units. This option may be specified more than once, or multiple space-separated units may be specified in one option. This option is not required: if it is not set, no unit will be restarted.
Comments¶
Like systemd unit files, lines starting with #
or ;
are ignored. Empty lines are ignored as well.