forked from ungleich-public/cdist
		
	[RFC] scanner documentation
This commit is contained in:
		
					parent
					
						
							
								87b46a6224
							
						
					
				
			
			
				commit
				
					
						91d99bf08a
					
				
			
		
					 1 changed files with 34 additions and 0 deletions
				
			
		
							
								
								
									
										34
									
								
								docs/dev/logs/2020-10-29.org
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								docs/dev/logs/2020-10-29.org
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
* The scanner, 2020-10-29, Hacking Villa Diesbach
 | 
			
		||||
** Motivation
 | 
			
		||||
   - The purpose of cdist is to ensure systems are in a configured state
 | 
			
		||||
   - If systems reboot into a clean (think: netboot) state they are
 | 
			
		||||
     stuck in an unconfigured mode
 | 
			
		||||
   - We can either trigger *from* those machines
 | 
			
		||||
     - this is what cdist trigger is for
 | 
			
		||||
   - Or we can regulary *scan* for machines
 | 
			
		||||
     - This method does not need any modification to standard OS
 | 
			
		||||
** How it works
 | 
			
		||||
   - cdist scan uses the all nodes multicast group ff02::1
 | 
			
		||||
   - It sends a ping packet there in regular intervals
 | 
			
		||||
   - This even works in non-IPv6 networks, as all operating systems
 | 
			
		||||
     are IPv6 capable and usually IPv6 enabled by default
 | 
			
		||||
     - Link local is always accessible!
 | 
			
		||||
   - cdist scan receives an answer from all alive hosts
 | 
			
		||||
     - These results are stored in ~/.cdist/scan/${hostip}
 | 
			
		||||
     - We record the last_seen date  ~/.cdist/scan/${hostip}/last_seen
 | 
			
		||||
   - After a host is detected, cdist *can* try to configure it
 | 
			
		||||
     - It saves the result (+/- logging needs to be defined) in
 | 
			
		||||
       ~/.cdist/scan/${hostip}/{config, install}_result
 | 
			
		||||
     - If logging is saved: maybe in ~/.cdist/scan/${hostip}/{config, install}_log
 | 
			
		||||
     - Final naming TBD
 | 
			
		||||
** Benefits from the scanning approach
 | 
			
		||||
   - We know when a host is alive/dead
 | 
			
		||||
   - We can use standard OS w/o trigger customisation
 | 
			
		||||
     - Only requirement: we can ssh into it
 | 
			
		||||
     - Can make use f.i. of Alpine Linux w/ ssh keys feeding in
 | 
			
		||||
   - We can trigger regular reconfiguration
 | 
			
		||||
     - If alive && last_config_time > 1d -> reconfigure
 | 
			
		||||
   - Data can be exported to f.i. prometheus
 | 
			
		||||
     - Record when configured (successfully)
 | 
			
		||||
     - Record when seen
 | 
			
		||||
   - Enables configurations in stateless environments
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue