voa-config

Crates.iovoa-config
lib.rsvoa-config
version0.1.2
created_at2025-12-17 19:29:19.432453+00
updated_at2026-01-06 10:20:31.876831+00
descriptionA library for the configuration of technology backends in VOA
homepagehttps://voa.archlinux.page
repositoryhttps://gitlab.archlinux.org/archlinux/alpm/voa
max_upload_size
id1991012
size292,046
David Runge (dvzrv)

documentation

README

VOA-config

A library for the configuration of technology backends in the "File Hierarchy for the Verification of OS Artifacts" (VOA).

Documentation

This library defines the voa configuration file format.

Installation

This crate does not expose a command line interface, but is instead used by the voa crate.

Man pages

The man page for the configuration file format can be created by calling the following in the root of the source repository (requires lowdown to be installed):

just generate specifications voa-config

The man page is placed into output/manpages/ by default.

Examples

use voa_config::VoaConfig;

# fn main() -> testresult::TestResult {
// Load all available and valid configuration files.
let config = VoaConfig::load();

// Query the settings for an OS "example"
let _settings = config.settings_for_os_or_default(&"example".parse()?);

// Query the settings for an OS "example" with purpose "package" and context "my-repo".
let _settings = config.settings_for_context_or_default(&"example".parse()?, &"package".parse()?, &"my-repo".parse()?);
# Ok(())
# }

Contributing

Please refer to the [contribution guidelines] to learn how to contribute to this project.

License

This project can be used under the terms of the Apache-2.0 or MIT. Contributions to this project, unless noted otherwise, are automatically licensed under the terms of both of those licenses.

Commit count: 0

cargo fmt