72 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
cdist-best-practice(7)
 | 
						|
======================
 | 
						|
Nico Schottelius <nico-cdist--@--schottelius.org>
 | 
						|
 | 
						|
NAME
 | 
						|
----
 | 
						|
cdist-best-practice - Practices used in real environments
 | 
						|
 | 
						|
 | 
						|
PASSWORDLESS CONNECTIONS
 | 
						|
------------------------
 | 
						|
It is recommended to run cdist with public key authentication.
 | 
						|
This requires a private/public key pair and the entry
 | 
						|
"PermitRootLogin without-password" in the sshd server.
 | 
						|
See sshd_config(5) and ssh-keygen(1).
 | 
						|
 | 
						|
 | 
						|
SPEEDING UP SSH CONNECTIONS
 | 
						|
---------------------------
 | 
						|
When connecting to a new host, the initial delay with ssh connections
 | 
						|
is pretty big. You can work around this by
 | 
						|
"sharing of multiple sessions over a single network connection"
 | 
						|
(quote from ssh_config(5)). The following code is suitable for
 | 
						|
inclusion into your ~/.ssh/config:
 | 
						|
 | 
						|
--------------------------------------------------------------------------------
 | 
						|
Host *
 | 
						|
  ControlPath ~/.ssh/master-%l-%r@%h:%p
 | 
						|
  ControlMaster auto
 | 
						|
  ControlPersist 10
 | 
						|
--------------------------------------------------------------------------------
 | 
						|
 | 
						|
 | 
						|
MULTI MASTER OR ENVIRONMENT SETUPS
 | 
						|
----------------------------------
 | 
						|
If you plan to distribute cdist among servers or use different
 | 
						|
environments, you can do so easily with the included version
 | 
						|
control git. For instance if you plan to use the typical three
 | 
						|
environments production, integration and development, you can
 | 
						|
realise this with git branches:
 | 
						|
 | 
						|
--------------------------------------------------------------------------------
 | 
						|
# Go to cdist checkout
 | 
						|
cd /path/to/cdist
 | 
						|
 | 
						|
# Create branches
 | 
						|
git branch development
 | 
						|
git branch integration
 | 
						|
git branch production
 | 
						|
 | 
						|
# Make use of a branch, for instance production
 | 
						|
git checkout production
 | 
						|
--------------------------------------------------------------------------------
 | 
						|
 | 
						|
Similar if you want to have cdist checked out at multiple machines,
 | 
						|
you can clone it multiple times:
 | 
						|
 | 
						|
--------------------------------------------------------------------------------
 | 
						|
machine-a % git clone git://your-git-server/cdist
 | 
						|
machine-b % git clone git://your-git-server/cdist
 | 
						|
--------------------------------------------------------------------------------
 | 
						|
 | 
						|
 | 
						|
SEE ALSO
 | 
						|
--------
 | 
						|
- cdist(7)
 | 
						|
 | 
						|
 | 
						|
COPYING
 | 
						|
-------
 | 
						|
Copyright \(C) 2011 Nico Schottelius. Free use of this software is
 | 
						|
granted under the terms of the GNU General Public License version 3 (GPLv3).
 |