NAME
materia - a tool for deploying Quadlets and associated files
Synopsis
materia [-h] [--config CONFIGFILE ] [--nosync] command
Description
materia is a tool designed for GitOps style management of services deployed via Podman Quadlets. It takes a URL pointing to a repository containing manifests and components, determines which components are assigned to the current host, and installs them while removing components that are no longer needed.
Configuration
Materia can be configured via either environmental variables or a TOML config file. The most common environmental variables are documented below:
MATERIA_SOURCE_URL
: URL with location of the materia-repository. Example:export MATERIA_SOURCEURL="git://git@github.com/materia/materia_repo
See materia-config(5) and materia-repository(5) for more details.
Global Flags
--config, -c
: Specify TOML config file (env:MATERIA_CONFIG
)--nosync
: Disable syncing for commands that sync (env:MATERIA_NOSYNC
)--help, -h
: Show usage information
Commands
config
: Dump the active configuration to stdout in a human readable format
facts [flags]
Display host facts and role information
Flags:
-
--host
: return only host facts, instead of requiring a repository -
--fact, -f [factname]
: Lookup a specific fact by name
plan [flags]
Generate and display an deployment plan.
Saves plan to MATERIA_OUTPUT
/plan.toml
as well as outputs to stdout (if quiet is not set).
Flags:
-
--quiet, -q
: Minimize output. Useful for validation that a plan can be generated. -
--resource-only, -r
: Only install resources instead of also starting/stopping services
update [flags]
Plan and execute a complete update operation.
Saves executed plan to MATERIA_OUTPUT
/lastrun.toml
as well as outputting to stdout (if quiet is not set)
Flags:
-
--quiet, -q
: Minimize output -
--resource-only, -r
: Only install resources. Skips any service related commands (besides daemon-reload).
remove [component]
Remove a specific component. Note this does not remove it from the repository manifest.
Arguments:
component
: Name of the component to remove
validate [flags]
Validates a plan can be generated for given hosts/roles.
Flags:
-
--component, -c <name>
: Component to validate. If not specified, use what is definined in the repositoriesMANIFEST.toml
-
--source, -s <path>
: Repository source directory, overridesMATERIA_SOURCE_URL
-
--roles, -r <roles>
: Roles for facts generation (can be specified multiple time for multiple roles) -
--hostname, -n <hostname>
: Manually assigned hostname -
--verbose, -v
: Show extra detail
doctor [flags]
Detect and optionally remove corrupted installed components.
Flags:
--remove, -r
: Actually remove corrupted components (default is dry run)
clean
Remove all related file paths and cleanup
version
Display version information