Materia Options
Note
The quadlet options' suboptions are not shown here. For that, check out the quadlet options. Otherwise this page would be very long.
components
(no description)
Type:
attribute set of (submodule)
Default value:
{ }
Declared in:
components.<name>.backups
Type:
submodule
Default value:
unset
Declared in:
components.<name>.backups.noCompress
(no description)
Type:
boolean
components.<name>.backups.online
(no description)
Type:
boolean
components.<name>.backups.pause
(no description)
Type:
boolean
components.<name>.backups.skip
(no description)
Type:
list of string
components.<name>.builds
Type:
attribute set of (submodule)
Default value:
{ }
Declared in:
components.<name>.containers
Type:
attribute set of (submodule)
Default value:
{ }
Declared in:
components.<name>.defaults
Key-value pairs describing default variable/attribute values for a component.
Type:
attribute set
Default value:
unset
Example value:
{
containerTag = "latest";
}
Declared in:
components.<name>.files
Extra files to copy to the quadlet's directory.
Type:
attribute set of (package or string)
Default value:
{ }
Example value:
{
"config.json" = <derivation config.json>;
"config.yaml" = "hello: world";
}
Declared in:
components.<name>.finalOutput
Directory containing the output files, like example.container.
Type:
package
Default value:
<derivation quadlet>
Declared in:
components.<name>.images
Type:
attribute set of (submodule)
Default value:
{ }
Declared in:
components.<name>.kubes
Type:
attribute set of (submodule)
Default value:
{ }
Declared in:
components.<name>.networks
Type:
attribute set of (submodule)
Default value:
{ }
Declared in:
components.<name>.pods
Type:
attribute set of (submodule)
Default value:
{ }
Declared in:
components.<name>.quadnix.project
Project to prepend to every resource.
Type:
string
Default value:
""
Declared in:
components.<name>.scripts
A list of resources that, despite not ending in .sh, should be treated as script resources.
Type:
list of string
Default value:
unset
Declared in:
components.<name>.secretFiles
Secret files which get collected and put into the secrets directory of the final
Materia repository.
Type:
attribute set of absolute path
Default value:
{ }
Example value:
{ "example.enc.yaml" = ./example.enc.yaml; }
Declared in:
components.<name>.secrets
A list of materia attributes that will used in the form of podman secrets. Attributes listed here will be added to the podman secrets vault and are accessible in templates with the related macros.
Type:
list of string
Default value:
unset
Example value:
[
"attribute1"
]
Declared in:
components.<name>.services
An array of service definitions, use to describe what systemd services should be started when a component is installed.
When the component is installed and when materia update is run,
the hello.service systemd unit will be started or restarted.
When the hello.container resource is updated, the hello.service unit will be restarted.
When the conf/config.toml resource is updated, the hello.service unit will be reloaded.
Note the resource is given by its relative path to the component root.
Type:
list of (submodule)
Default value:
unset
Example value:
[
{
reloadedBy = [
"conf/config.toml"
];
restartedBy = [
"hello.container"
];
service = "hello.service";
}
]
Declared in:
components.<name>.services.*.reloadedBy
Type:
list of string
Default value:
unset
components.<name>.services.*.restartedBy
Type:
list of string
Default value:
unset
components.<name>.services.*.service
Type:
string
components.<name>.settings
Key-value pairs for component settings.
Type:
submodule
Default value:
unset
Declared in:
components.<name>.settings.noRestart
By default, materia will restart services belonging to .container and .pod resources
when they are updated. Set to true to disable this behaviour.
Type:
boolean
components.<name>.snippets
Under construction. Used to indicate custom snippets. See materia-templates(5) for more details.
Type:
list of (submodule)
Default value:
unset
Declared in:
components.<name>.snippets.*.body
(no description)
Type:
string
components.<name>.snippets.*.name
(no description)
Type:
string
components.<name>.snippets.*.parameters
(no description)
Type:
list of string
components.<name>.volumes
Type:
attribute set of (submodule)
Default value:
{ }
Declared in:
finalOutput
The fully built materia repository.
Type:
package
Declared in:
hosts
Configure host roles and components.
Defaults to assigning all defined components to localhost.
Type:
attribute set of (submodule)
Default value:
{
localhost = {
components = [ ];
};
}
Declared in:
hosts.<name>.components
Components to assign to this host.
Type:
list of string
Default value:
unset
Declared in:
hosts.<name>.overrides
Overrides for this host.
Type:
attribute set
Default value:
unset
Declared in:
hosts.<name>.roles
Roles to assign to this host.
Type:
list of string
Default value:
unset
Declared in:
ociImage
Materia repository put into an OCI image for easy deployment.
Type:
package
Declared in:
quadnix.project
Project to prepend to every resource.
Type:
string
Default value:
""
Declared in:
remotes
Other remote materia repositories to include.
Type:
attribute set of (submodule)
Default value:
unset
Example value:
{
COMPONENT_LOCAL_NAME = {
url = "git://github.com/example/component_name";
version = "v1";
};
}
Declared in:
remotes.<name>.url
Remote URL.
Type:
string
remotes.<name>.version
Version of remote, optional.
Type:
string
Default value:
unset
roleCommand
(EXPERIMENTAL) An external command ran on a host to determine what role(s) it has.
Type:
string
Default value:
unset
Declared in:
roles
An attrset of containing roles entries.
Type:
attribute set of (submodule)
Default value:
unset
Example value:
{
sample = {
components = [
"hello"
];
};
}
Declared in:
roles.<name>.components
Components to assign to this role/hosts with this role.
Type:
list of string
Default value:
[ ]
secretsCombined
All secretFiles combined into a single directory. Gets copied to secrets in the materia repo.
Type:
package
Declared in:
snippets
Experimental.
Type:
list of (submodule)
Default value:
unset
Declared in:
snippets.*.body
(no description)
Type:
string
snippets.*.name
(no description)
Type:
string
snippets.*.parameters
(no description)
Type:
list of string