propellor/doc/usage.mdwn

82 lines
2.3 KiB
Markdown

# NAME
propellor - property-based host configuration management in haskell
# SYNOPSIS
propellor [options]
# DESCRIPTION
`propellor` is a property-based host configuration management program written
and configured in haskell.
The first time you run `propellor`, without any options,
it will set up a `~/.propellor/` repository.
Edit `~/.propellor/config.hs` to configure it.
Once propellor is configured, running it without any options will take
action as needed to satisfy the configured properties of the local host.
# OPTIONS
* --spin targethost [--via relayhost]
Causes propellor to automatically install itself on the specified target
host, or if it's already installed there, push any updates. Propellor is
then run on the target host, to satisfy its configured properties.
When run with --via, propellor sshes to the relay host and runs
`propellor --spin hostname` from there. This can be useful when
propellor is installing itself, since most of the data transfer
is done between relay host and target host. Note that propellor
uses ssh agent forwarding to make this work, and the relay host
sees any privdata belonging to the target host.
* --add-key keyid
Adds a gpg key, which is used to encrypt the privdata.
If the gpg secret key is present, git is configured to sign commits
using this key. Propellor requires signed commits when pulling from
a central git repository.
* --list-fields
Lists all privdata fields that are used by your propellor configuration.
The first 2 columns are the field name and context, and are followed by
a list of the hosts that use that privdata value.
* --set field context
Sets a field of privdata. The content is read in from stdin.
* --dump field context
Outputs the privdata value to stdout.
* --edit field context
Opens $EDITOR on the privdata value.
* hostname
When run with a hostname and no other options, propellor will
provision the local host with the configuration of that hostname.
This is useful when the local host doesn't yet have its hostname set
correctly.
# ENVIRONMENT
Set `PROPELLOR_DEBUG=1` to make propellor output each command it runs and
other debugging information.
# SH AUTHOR
Joey Hess <id@joeyh.name>
<https://propellor.branchable.com/>
Warning: Automatically converted into a man page by mdwn2man. Edit with care.