72 lines
3.2 KiB
Markdown
72 lines
3.2 KiB
Markdown
---
|
|
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`](https://hub.docker.com/r/menci/archlinuxarm)
|
|
([GH](https://github.com/Menci/docker-archlinuxarm)).
|
|
* `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.
|