vieter/docs/content/configuration.md

3.2 KiB

weight
20

Configuration

All vieter operations by default try to read in the TOML file ~/.vieterrc for configuration. The location of this file can be changed by using the -f flag.

If the above file doesn't exist or you wish to override some of its settings, configuration is also possible using environment variables. Every variable in the config file has a respective environment variable of the following form: say the variable is called api_key, then the respective environment variable would be VIETER_API_KEY. In essence, it's the variable in uppercase prepended with VIETER_.

If a variable is both present in the config file & as an environment variable, the value in the environment variable is used.

{{< hint info >}} Note
All environment variables can also be provided from a file by appending them with _FILE. This for example allows you to provide the API key from a docker secrets file. {{< /hint >}}

Components

The vieter binary consists of various componeents, indicated by the first argument passed to them. Each component requires a different configuration.

Server

  • log_level: Which levels of logs to show. Valid values are one of FATAL, ERROR, WARN, INFO or DEBUG. Defaults to WARN.
  • pkg_dir: where Vieter should store the actual package archives.
  • data_dir: where Vieter stores the repositories, log file & database.
  • api_key: the API key to use when authenticating requests.
  • default_arch: this setting has several uses:
    • Packages with architecture any will always get added to this architecture inside a repository.
    • If a package with architecture any is the first package to be added to a repository, it'll be added to this architecture.
    • A Git repository added using the API or CLI that doesn't specify an architecture will use this value as their default.

Cron

  • log_level: defines how much logs to show. Valid values are one of FATAL, ERROR, WARN, INFO or DEBUG. Defaults to WARN
  • address: Base your URL of your Vieter instance, e.g. https://example.com. This must be the publicly facing URL of your Vieter instance.
  • api_key: the API key to use when authenticating requests.
  • data_dir: where Vieter stores the log file.
  • base_image: Docker image from which to create the builder images. This image should be for the same Pacman-based distribution as the one you're installing the packages on. The default if not configured is archlinux:base-devel. Note that this image only supports x86_64, so if you require e.g. aarch64 support as well you should use a multi-arch image, such as menci/archlinuxarm:base-devel (GH).
  • max_concurrent_builds: how many builds to run at once.
  • api_update_frequency: how frequently to check for changes in the repo list.
  • image_rebuild_frequency: how frequently to rebuild the builder image.
  • global_schedule: cron schedule to use for any repo without an individual schedule.

Repos CLI

  • address: Base your URL of your Vieter instance, e.g. https://example.com
  • api_key: the API key to use when authenticating requests.