xenial (1) propellor.1.gz

Provided by: propellor_2.16.0-1_amd64 bug

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.

MODES OF OPERATION

       propellor

              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.

              If  there's  a  central  git  repository,  it  will first fetch from the repository, check the gpg
              signature and merge, and rebuild propellor, so that any  configuration  changes  will  immediately
              take effect.

              If propellor is run by a non-root user without any options, this is the same  as running propellor
              --spin with the hostname of the local host.

       propellor --spin targethost [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.

              A signed git commit is made by --spin, so that any changes you have made  get  propagated  to  the
              target host.

              Multiple target hosts can be specified; propellor will run on each of them in sequence.

              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.

              Propellor configuration typically uses the FQDN of hosts.  The hostname given to --spin can  be  a
              short name, which is then looked up in the DNS to find the FQDN.

       propellor --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.

       propellor --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.

       propellor --set field context
              Sets a field of privdata. The content is read in from stdin.

       propellor --unset field context
              Removes a value from the privdata store.

       propellor --unset-unused
              Removes all values from the privdata store that are not currently in use.

       propellor --dump field context
              Outputs the privdata value to stdout.

       propellor --edit field context
              Opens $EDITOR on the privdata value.

       propellor --merge
              Combine multiple --spin commits into a single, more useful commit.

              When  using  propellor,  you  may  find yourself repeatedly running propellor --spin until you get
              things working the way you like.   This  results  in  a  lot  of  git  commits  being  made,  with
              incremental changes.

              To  clean  that up to a single commit, use propellor --merge. A normal interactive git commit will
              then be made, consisting of all changes that have been previously committed by --spin,  since  the
              last time a normal git commit was made.

              (This will result in a trapezoid pattern in gitk.)

       propellor --check
              If propellor is able to run, this simply exits successfully.

       propellor 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.

GIT CONFIGURATION

       git config propellor.debug 1 will configure propellor to output debugging information.

       git  config  propellor.spin-branch  foo will configure propellor to refuse to spin when the foo branch is
       not checked out.

       git config propellor.forbid-dirty-spin true will configure propellor to refuse to  spin  when  there  are
       uncommitted changes in the ~/.propellor repository.

       The  usual  git  configuration  controls which centralized repository (if any) propellor pushes and pulls
       from.

       Additionally, the url of a remote named "deploy", if it exists in your ~/.propellor/ repository, is  used
       as the origin url for the other repositories.

SH AUTHOR

       Joey Hess <id@joeyh.name>

       <https://propellor.branchable.com/>

                                                                                                    propellor(1)