progfigsite.nodes
Module¶
This module should contain a separate Python file for each host. For instance:
progfigsite/
__init__.py
...
nodes/
__init__.py
host1.py
host2.py
host3.py
Node files¶
Each node file should contain a class named node
that inherits from
progfiguration.inventory.nodes.InventoryNode
.
For instance, the node defined in example_site.nodes.node1
:
from progfiguration.inventory.nodes import InventoryNode
node = InventoryNode(
address="node1.example.com",
user="root",
ssh_host_fingerprint="",
roles=dict(
settz={
"timezone": "UTC",
},
),
)
Node secret files with AgeSecretStore¶
Note
Information in this section only applies to AgeSecretStore
This section only applies to sites that use the
progfiguration.sitehelpers.agesecrets.AgeSecretStore
secret storage implementation.
It’s what ships with progfiguration core so it’s the easiest to get started with,
but other secret storage backends will work differently.
If a node has secrets encrypted with progfiguration encrypt
,
they will be stored in a file named <node name>.secrets.json
in the nodes
package.