improvements

* multi-sign and multi-web configuration
* change default configuration to do not use architecture
* change units to be templated
* some refactoring
This commit is contained in:
2021-03-11 03:55:17 +03:00
parent 30ededb2cd
commit 1770793e69
32 changed files with 235 additions and 173 deletions

View File

@ -1,17 +1,17 @@
# ahriman configuration
Some groups can be specified for each architecture separately with default values. E.g. if there are `build` and `build_x86_64` groups it will use the `build_x86_64` for the `x86_64` architecture and `build` for any other.
Some groups can be specified for each architecture separately. E.g. if there are `build` and `build_x86_64` groups it will use the `build_x86_64` for the `x86_64` architecture and `build` for any other (architecture specific group has higher priority).
## `settings` group
Base configuration settings:
Base configuration settings.
* `include` - path to directory with configuration files overrides, string, required.
* `logging` - path to logging configuration, string, required. Check `logging.ini` for reference.
## `aur` group
AUR related configuration:
AUR related configuration.
* `url` - base url for AUR, string, required.
@ -27,25 +27,25 @@ Build related configuration. Group name must refer to architecture, e.g. it shou
## `repository` group
Base repository settings:
Base repository settings.
* `name` - repository name, string, required.
* `root` - root path for application, string, required.
## `sign` group
## `sign_*` groups
Settings for signing packages or repository:
Settings for signing packages or repository. Group name must refer to architecture, e.g. it should be `sign_x86_64` for x86_64 architecture.
* `target` - configuration flag to enable signing, space separated list of strings, required. Allowed values are `package` (sign each package separately), `repository` (sign repository database file).
* `key` - PGP key, string, required.
## `report` group
Report generation settings:
Report generation settings.
* `target` - list of reports to be generated, space separated list of strings, optional. Allowed values are `html`.
### `html_*` group
### `html_*` groups
Group name must refer to architecture, e.g. it should be `html_x86_64` for x86_64 architecture.
@ -56,25 +56,25 @@ Group name must refer to architecture, e.g. it should be `html_x86_64` for x86_6
## `upload` group
Remote synchronization settings:
Remote synchronization settings.
* `target` - list of synchronizations to be used, space separated list of strings, optional. Allowed values are `rsync`, `s3`.
### `rsync_*` group
### `rsync_*` groups
Group name must refer to architecture, e.g. it should be `rsync_x86_64` for x86_64 architecture. Requires `rsync` package to be installed. Do not forget to configure ssh for user `ahriman`.
* `remote` - remote server to rsync (e.g. `1.2.3.4:5678:path/to/sync`), string, required.
### `s3_*` group
### `s3_*` groups
Group name must refer to architecture, e.g. it should be `s3_x86_64` for x86_64 architecture. Requires `aws-cli` package to be installed. Do not forget to configure it for user `ahriman`.
* `bucket` - bucket name (e.g. `s3://bucket/path`), string, required.
## `web` group
## `web_*` groups
Web server settings. If any of `host`/`port` is not set, web intergration will be disabled.
Web server settings. If any of `host`/`port` is not set, web integration will be disabled. Group name must refer to architecture, e.g. it should be `web_x86_64` for x86_64 architecture.
* `host` - host to bind, string, optional.
* `port` - port to bind, int, optional.