forked from ungleich-public/cdist
		
	finish cdist-explore
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								5f312787a5
							
						
					
				
			
			
				commit
				
					
						847054c77d
					
				
			
		
					 4 changed files with 103 additions and 16 deletions
				
			
		
							
								
								
									
										21
									
								
								INTRO
									
										
									
									
									
								
							
							
						
						
									
										21
									
								
								INTRO
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -29,6 +29,9 @@ What do I need from puppet?
 | 
			
		|||
   - the DSL
 | 
			
		||||
      - with many bugs
 | 
			
		||||
   - templates
 | 
			
		||||
   - Client/Server approach is nice to have
 | 
			
		||||
      - Clients only get the part of the documentation, that's
 | 
			
		||||
        relevant to them
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
What do I miss from puppet?
 | 
			
		||||
| 
						 | 
				
			
			@ -62,12 +65,30 @@ Simple stuff done by Unix[notm]
 | 
			
		|||
      - "manifests" (use the same name here?) will be run/sourced
 | 
			
		||||
         - inheritance possible via sourcing
 | 
			
		||||
         - cdist-lib always preloaded
 | 
			
		||||
      - library == functions?
 | 
			
		||||
   - version control via git
 | 
			
		||||
   - file distribution via ssh
 | 
			
		||||
   - authentication via ssh
 | 
			
		||||
   - dumb clients, similar to manifest compile in puppet
 | 
			
		||||
      - clients just execute commands
 | 
			
		||||
   - dependencies via make?
 | 
			
		||||
      - how to ensure sigletons / conflicting definitions?
 | 
			
		||||
         file { "/a":
 | 
			
		||||
            ensure => present,
 | 
			
		||||
         file { "/a":
 | 
			
		||||
            ensure => absent,
 | 
			
		||||
   - matching on explored items, not only on host name?
 | 
			
		||||
      - match function in host? [optional]
 | 
			
		||||
   - file source:
 | 
			
		||||
      - relative to specification
 | 
			
		||||
      - or absolute
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Architecture
 | 
			
		||||
 | 
			
		||||
   
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Implementation
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,30 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
# output or sourcable
 | 
			
		||||
#
 | 
			
		||||
# 2010 Nico Schottelius (nico-cdist at schottelius.org)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of cdist.
 | 
			
		||||
#
 | 
			
		||||
# cdist is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# cdist is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# OS
 | 
			
		||||
cdist_explore_os()
 | 
			
		||||
{
 | 
			
		||||
   [ -f /etc/arch-release ] && echo archlinux
 | 
			
		||||
reports="os"
 | 
			
		||||
 | 
			
		||||
   [ -f /etc/debian_version ] && echo debian
 | 
			
		||||
 | 
			
		||||
   grep -q ^DISTRIB_ID=Ubuntu /etc/lsb-release 2>/dev/null && echo ubuntu
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# could work, if cdist_explore_os would be a different program
 | 
			
		||||
# nope, does not work, set -x output is not sourcable...
 | 
			
		||||
[ "$1" = "-o" ] && set -x
 | 
			
		||||
 | 
			
		||||
CDIST_OS="$(cdist_explore_os)"
 | 
			
		||||
for report in $reports; do
 | 
			
		||||
   func="cdist_explore_$report"
 | 
			
		||||
   var="__cdist_$report"
 | 
			
		||||
   . "../lib/$func"
 | 
			
		||||
   eval $var=\"\$\($func\)\"
 | 
			
		||||
   eval echo $var=\\\"\$$var\\\"
 | 
			
		||||
done
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										29
									
								
								lib/cdist_explore_os
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								lib/cdist_explore_os
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# 2010 Nico Schottelius (nico-cdist at schottelius.org)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of cdist.
 | 
			
		||||
#
 | 
			
		||||
# cdist is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# cdist is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
cdist_explore_os()
 | 
			
		||||
{
 | 
			
		||||
   [ -f /etc/arch-release ] && echo archlinux
 | 
			
		||||
 | 
			
		||||
   [ -f /etc/debian_version ] && echo debian
 | 
			
		||||
 | 
			
		||||
   grep -q ^DISTRIB_ID=Ubuntu /etc/lsb-release 2>/dev/null && echo ubuntu
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								lib/cdist_package
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								lib/cdist_package
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# 2010 Nico Schottelius (nico-cdist at schottelius.org)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of cdist.
 | 
			
		||||
#
 | 
			
		||||
# cdist is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# cdist is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
cdist_package()
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue