propellor spin
This commit is contained in:
parent
178cd65e47
commit
14d56a303c
|
@ -186,7 +186,7 @@ spin host = do
|
||||||
|
|
||||||
sendGitClone :: HostName -> String -> IO ()
|
sendGitClone :: HostName -> String -> IO ()
|
||||||
sendGitClone host url = void $ actionMessage ("Pushing git repository to " ++ host) $
|
sendGitClone host url = void $ actionMessage ("Pushing git repository to " ++ host) $
|
||||||
withTmpFile "gitbundle" $ \tmp _ -> allM id
|
withTmpFile "propellor.git." $ \tmp _ -> allM id
|
||||||
-- TODO: ssh connection caching, or better push method
|
-- TODO: ssh connection caching, or better push method
|
||||||
-- with less connections.
|
-- with less connections.
|
||||||
[ boolSystem "git" [Param "bundle", Param "create", File tmp, Param "HEAD"]
|
[ boolSystem "git" [Param "bundle", Param "create", File tmp, Param "HEAD"]
|
||||||
|
|
10
README
10
README
|
@ -26,6 +26,14 @@ of which classes and share which configuration. It might be nice to use
|
||||||
reclass[1], but then again a host is configured using simply haskell code,
|
reclass[1], but then again a host is configured using simply haskell code,
|
||||||
and so it's easy to factor out things like classes of hosts as desired.
|
and so it's easy to factor out things like classes of hosts as desired.
|
||||||
|
|
||||||
|
## security
|
||||||
|
|
||||||
|
Propellor's security model is that the hosts it's used to deploy are
|
||||||
|
untrusted, and that the central git repository server is untrusted.
|
||||||
|
|
||||||
|
The only trusted machine is the laptop where you run propellor --spin
|
||||||
|
to connect to a remote host.
|
||||||
|
|
||||||
## bootstrapping and private data
|
## bootstrapping and private data
|
||||||
|
|
||||||
To bootstrap propellor on a new host, use: propellor --spin $host
|
To bootstrap propellor on a new host, use: propellor --spin $host
|
||||||
|
@ -47,6 +55,8 @@ in such a file, use: propellor --set $host $field
|
||||||
The field name will be something like 'Password "root"'; see PrivData.hs
|
The field name will be something like 'Password "root"'; see PrivData.hs
|
||||||
for available fields.
|
for available fields.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## using git://... securely
|
## using git://... securely
|
||||||
|
|
||||||
It's often easiest for a remote host to use a git:// or http://
|
It's often easiest for a remote host to use a git:// or http://
|
||||||
|
|
|
@ -28,7 +28,7 @@ Executable propellor
|
||||||
GHC-Options: -Wall
|
GHC-Options: -Wall
|
||||||
Build-Depends: MissingH, directory, filepath, base >= 4.5, base < 5,
|
Build-Depends: MissingH, directory, filepath, base >= 4.5, base < 5,
|
||||||
IfElse, process, bytestring, hslogger, unix-compat, ansi-terminal,
|
IfElse, process, bytestring, hslogger, unix-compat, ansi-terminal,
|
||||||
containers, base64-bytestring
|
containers
|
||||||
|
|
||||||
if (! os(windows))
|
if (! os(windows))
|
||||||
Build-Depends: unix
|
Build-Depends: unix
|
||||||
|
|
Loading…
Reference in New Issue