summaryrefslogtreecommitdiff
path: root/doc/centralized_git_repository.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/centralized_git_repository.mdwn')
-rw-r--r--doc/centralized_git_repository.mdwn31
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/centralized_git_repository.mdwn b/doc/centralized_git_repository.mdwn
new file mode 100644
index 00000000..98fe9bf2
--- /dev/null
+++ b/doc/centralized_git_repository.mdwn
@@ -0,0 +1,31 @@
+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.
+
+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 repisitory, 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 "30 * * * *"`
+
+3. Let your hosts know about the changed configuration (including the url
+ to the central repository), by running `proellor --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`