Propellor can be used without any centralized git repsitory. When `propellor --spin $HOST` is run, propellor pushes the local git repo directly to the host. This makes it easy to get started with propellor. A central git repository allows hosts to run propellor from cron and pick up any updates you may have pushed. This is useful when managing several hosts with propellor. The central repository does not need to be trusted; it can be hosted anywhere, and propellor will only accept verified gpg signed git commits from it. See [[security]] for details, but this means you can put it on github without github being able to 0wn your propellor driven hosts, for example. You can add a central git repository to your existing propellor setup easily: 1. Push propellor's git repository to a central server (github or your own): `cd ~/.propellor/; git remote add origin ssh://git.example.com/propellor.git; git push -u origin master` 2. Configure the url your hosts should use for the git repository, if it differs from the url above, by setting up a remote named "deploy": `cd ~/.propellor/; git remote add deploy git://git.example.com/propellor.git` 2. Add a property to your hosts like: `Cron.runPropellor (Cron.Times "*/30 * * * *")` 3. Let your hosts know about the changed configuration (including the url to the central repository), by running `propellor --spin $HOST` for each of your hosts. Now the hosts will automatically update every 30 minutes, and you can `git commit -S` and `git push` changes that affect any number of hosts. Note that private data, set with `propellor --set`, is gpg encrypted, and hosts cannot decrypt it! So after updating the private data of a host, you still need to manually run `propellor --spin $HOST`