| 
									
										
										
										
											2012-01-11 17:11:11 +01:00
										 |  |  | cdist-quickstart(7) | 
					
						
							|  |  |  | =================== | 
					
						
							|  |  |  | Nico Schottelius <nico-cdist--@--schottelius.org> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | NAME | 
					
						
							|  |  |  | ---- | 
					
						
							|  |  |  | cdist-quickstart - jump in and enjoy cdist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | INTRODUCTION | 
					
						
							|  |  |  | ------------ | 
					
						
							|  |  |  | This tutorial is aimed at people learning cdist and shows | 
					
						
							|  |  |  | typical approaches as well as gives an easy start into | 
					
						
							|  |  |  | the world of configuration management. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This tutorial assumes you are configuring **localhost**, because | 
					
						
							|  |  |  | it is always available. Just replace **localhost** with your target | 
					
						
							|  |  |  | host for real life usage. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | QUICK START - GET YOUR HANDS DIRTY NOW | 
					
						
							|  |  |  | -------------------------------------- | 
					
						
							|  |  |  | For those who just want to configure a system with the | 
					
						
							|  |  |  | cdist configuration management and do not need (or want) | 
					
						
							|  |  |  | to understand everything. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Cdist uses **ssh** for communication and transportation | 
					
						
							|  |  |  | and usually logs into the **target host** as the | 
					
						
							|  |  |  | **root** user. So you need to configure the **ssh server** | 
					
						
							|  |  |  | of the target host to allow root logins: Edit | 
					
						
							|  |  |  | the file **/etc/ssh/sshd_config** and add one of the following | 
					
						
							|  |  |  | lines: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | -------------------------------------------------------------------------------- | 
					
						
							|  |  |  | # Allow login only via public key | 
					
						
							|  |  |  | PermitRootLogin without-password | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Allow login via password and public key | 
					
						
							|  |  |  | PermitRootLogin yes | 
					
						
							|  |  |  | -------------------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | As cdist uses ssh intensively, it is recommended to setup authentication | 
					
						
							|  |  |  | with public keys: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | -------------------------------------------------------------------------------- | 
					
						
							|  |  |  | # Generate pubkey pair as a normal user | 
					
						
							|  |  |  | ssh-keygen | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Copy pubkey over to target host | 
					
						
							|  |  |  | ssh-copy-id root@localhost | 
					
						
							|  |  |  | -------------------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Have a look at ssh-agent(1) and ssh-add(1) on how to cache the password for | 
					
						
							|  |  |  | your public key.  Usually it looks like this: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | -------------------------------------------------------------------------------- | 
					
						
							|  |  |  | # Start agent and export variables | 
					
						
							|  |  |  | eval `ssh-agent` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Add keys (requires password for every identity file) | 
					
						
							|  |  |  | ssh-add | 
					
						
							|  |  |  | -------------------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | At this point you should be able to ***ssh root@localhost*** without | 
					
						
							|  |  |  | re-entering the password. If something failed until here, ensure that | 
					
						
							|  |  |  | all steps went successfully and you have read and understood the | 
					
						
							|  |  |  | documentation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | As soon as you are able to login without password to localhost, | 
					
						
							|  |  |  | we can use cdist to configure it. You can copy and paste the following | 
					
						
							|  |  |  | code into your shell to get started and configure localhost: | 
					
						
							|  |  |  | -------------------------------------------------------------------------------- | 
					
						
							| 
									
										
										
										
											2013-10-05 16:48:55 +09:00
										 |  |  | # Get cdist  | 
					
						
							|  |  |  | # Mirrors can be found on | 
					
						
							|  |  |  | # http://www.nico.schottelius.org/software/cdist/install/#index2h4 | 
					
						
							| 
									
										
										
										
											2012-01-11 17:11:11 +01:00
										 |  |  | git clone git://git.schottelius.org/cdist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Create manifest (maps configuration to host(s) | 
					
						
							|  |  |  | cd cdist | 
					
						
							| 
									
										
										
										
											2012-11-11 13:09:46 +01:00
										 |  |  | echo '__file /etc/cdist-configured' > cdist/conf/manifest/init | 
					
						
							| 
									
										
										
										
											2012-01-11 17:11:11 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Configure localhost in verbose mode | 
					
						
							|  |  |  | ./bin/cdist config -v localhost | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Find out that cdist created /etc/cdist-configured | 
					
						
							|  |  |  | ls -l /etc/cdist-configured | 
					
						
							|  |  |  | -------------------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | That's it, you've successfully used cdist to configure your first host! | 
					
						
							|  |  |  | Continue reading the next sections, to understand what you did and how | 
					
						
							|  |  |  | to create a more sophisticated configuration. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SEE ALSO | 
					
						
							|  |  |  | -------- | 
					
						
							|  |  |  | - cdist(1) | 
					
						
							| 
									
										
										
										
											2012-01-13 13:18:09 +01:00
										 |  |  | - cdist-tutorial(7) | 
					
						
							| 
									
										
										
										
											2012-01-11 17:11:11 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | COPYING | 
					
						
							|  |  |  | ------- | 
					
						
							|  |  |  | Copyright \(C) 2011-2012 Nico Schottelius. Free use of this software is | 
					
						
							|  |  |  | granted under the terms of the GNU General Public License version 3 (GPLv3). |