forked from ungleich-public/cdist
		
	mega cleaunp discussion commit :-)
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								d171ad5e64
							
						
					
				
			
			
				commit
				
					
						4b5d7dda25
					
				
			
		
					 40 changed files with 84 additions and 67 deletions
				
			
		|  | @ -9,7 +9,7 @@ Do not believe anything written in cdist, besides what's written in this file | ||||||
|    -- Nico, 20101201 |    -- Nico, 20101201 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| What you can do so far: | What you can do so far: (executed from top level directory) | ||||||
| 
 | 
 | ||||||
| # prepare use: | # prepare use: | ||||||
| export PATH="$PATH:$(pwd -P)/bin" | export PATH="$PATH:$(pwd -P)/bin" | ||||||
|  |  | ||||||
							
								
								
									
										6
									
								
								TODO
									
										
									
									
									
								
							
							
						
						
									
										6
									
								
								TODO
									
										
									
									
									
								
							|  | @ -6,6 +6,7 @@ | ||||||
|          - cdist-push-pull |          - cdist-push-pull | ||||||
|          - cdist-quickstart |          - cdist-quickstart | ||||||
|          - cdist-types           [IMPORTANT] |          - cdist-types           [IMPORTANT] | ||||||
|  |          - cdist.text            [IMPORTANT] | ||||||
|       - add terminology |       - add terminology | ||||||
|       - define steps within configuration apply |       - define steps within configuration apply | ||||||
|          - detect impossible/unsafe things: |          - detect impossible/unsafe things: | ||||||
|  | @ -14,12 +15,11 @@ | ||||||
|          - and report location of occurence |          - and report location of occurence | ||||||
|          - parse afterwards? |          - parse afterwards? | ||||||
|       - multi master setups |       - multi master setups | ||||||
| 
 |       - templating | ||||||
|          - how to define templates |          - how to define templates | ||||||
|             - variable substitution from shell may be problematic |             - variable substitution from shell may be problematic | ||||||
|          - SHELL SCRIPTS! (executables? do not support?) |          - SHELL SCRIPTS! (executables? do not support?) | ||||||
|             - stdout |             - stdout == output of template == what will be used | ||||||
|    - cleanup / integrate doc/man/cdist.text |  | ||||||
| - cdist-explore | - cdist-explore | ||||||
|    - add more stuff to explore |    - add more stuff to explore | ||||||
|    - write manpage |    - write manpage | ||||||
|  |  | ||||||
|  | @ -1,41 +0,0 @@ | ||||||
| #!/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/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Apply configuration to local host |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| . cdist-config |  | ||||||
| 
 |  | ||||||
| whereiam="$(cdist_explore_hostname)" |  | ||||||
| conf="${CDIST_HOSTS}/${whereiam}" |  | ||||||
| 
 |  | ||||||
| if [ ! -d "${conf}" ]; then |  | ||||||
|    echo "Sorry, ${whereiam} has no configuration" |  | ||||||
|    exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # Run the manifest, but abort on first error |  | ||||||
| set -e |  | ||||||
| 
 |  | ||||||
| # change to config dir, to be able to use relative filenames |  | ||||||
| cd "${conf}" |  | ||||||
| 
 |  | ||||||
| # And apply the stuff |  | ||||||
| . "${conf}/manifest" |  | ||||||
|  | @ -1,2 +1,4 @@ | ||||||
| setenv PATH ${PATH}:${HOME}/cdist/bin | setenv PATH ${PATH}:${HOME}/cdist/bin | ||||||
| setenv CDIST_CONFIG ${HOME}/cdist/conf | setenv CDIST_CONFIG ${HOME}/cdist/conf | ||||||
|  | export PATH=$PATH:$HOME/cdist/bin | ||||||
|  | export CDIST_CONFIG=$HOME/cdist/conf | ||||||
|  | @ -8,7 +8,7 @@ conf/manifests/init | ||||||
|       will be available for tracking in |       will be available for tracking in | ||||||
|       cdist core functions |       cdist core functions | ||||||
| 
 | 
 | ||||||
| core/manifests/* (all other) | conf/manifests/* (all other) | ||||||
|    - same function as above |    - same function as above | ||||||
|    - but won't be called by cdist |    - but won't be called by cdist | ||||||
|    - method to seperate configuration parts |    - method to seperate configuration parts | ||||||
|  | @ -26,9 +26,8 @@ conf/types/<name>/ | ||||||
|               but more like reusable defines |               but more like reusable defines | ||||||
|    - or may implement some functionality on their own |    - or may implement some functionality on their own | ||||||
| 
 | 
 | ||||||
| lib/types/<name>/ | conf/explorers/<name> | ||||||
|    - same as above, but provided by the cdist distribution |    - explorers to be run on the target hosts | ||||||
|    - if name exists in both, conf/ has priority |  | ||||||
| 
 | 
 | ||||||
| Differences manifests vs. types | Differences manifests vs. types | ||||||
| 
 | 
 | ||||||
|  | @ -0,0 +1,22 @@ | ||||||
|  | 1) safer and fast version | ||||||
|  |    cat blob | ssh host > tmp; | ||||||
|  |    for var in ... | ||||||
|  |       var=grep ^var= tmp | ||||||
|  | 2) slow & secure | ||||||
|  |    for var in ... | ||||||
|  |    eval var=$(cat single_blob | ssh host" | ||||||
|  | 
 | ||||||
|  | 3) easy & insecure | ||||||
|  |    cat blob | ssh host > tmp; . tmp | ||||||
|  |     | ||||||
|  | 4)   - rsync here/explorers target/explorers | ||||||
|  |    - ssh target_host for explorer in target/explorers/; do | ||||||
|  |       target/explorers/$explorer > target/cache/explorers/$explorer | ||||||
|  |      done | ||||||
|  |    - rsync target/cache/explorers here/cache/explorers.... | ||||||
|  |    - MINUS RSYNC!!!!!!!!!?????????? | ||||||
|  |   | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | TO_MAN: EXPLORER VALUES ARE UNTRUSTED (think of webclients and webapps) | ||||||
|  | 
 | ||||||
							
								
								
									
										50
									
								
								doc/internal.REMOVE_PRE_1.0/logs/2011-02-03
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								doc/internal.REMOVE_PRE_1.0/logs/2011-02-03
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,50 @@ | ||||||
|  | Steven: | ||||||
|  | 
 | ||||||
|  | - cdist-deploy-to = main script | ||||||
|  | - all user usable variables are defined using export __var=... | ||||||
|  | - cdist-explorer return one line of output (or empty) | ||||||
|  | - cdist-manifest-init: generates what the user defined to be configured on target host | ||||||
|  | - HACKERS_README == starting point (until 1.0) | ||||||
|  |    - [12:49] kr:cdist% __cdist_config=$(pwd -P)/conf __cdist_target_host=ikq02.ethz.ch cdist-manifest-init  | ||||||
|  | - cdist_tree_wrapper == non-user-binary => libexec | ||||||
|  | - conf/explorer collection of explorer | ||||||
|  | - config-layout: current status of configuration | ||||||
|  |    - needs to go into manpage | ||||||
|  | - TODO: contains most up-to-date todo stuff, mid-term | ||||||
|  | - ROADMAP: next steps | ||||||
|  | - Documentation must be bit better than excellent at first release | ||||||
|  | - test/: ignore (braindump and pre-braindump) | ||||||
|  | - conf/ | ||||||
|  |    cache: generated | ||||||
|  |    explorer: ok => contains explores | ||||||
|  |    lib: deprecated (does not exist) | ||||||
|  |    manifests: entry point for config2host | ||||||
|  |    types: cdist-types(7) | ||||||
|  | - alternative names for explorer: | ||||||
|  |    - probe | ||||||
|  |    - fact | ||||||
|  |    - ... | ||||||
|  |    - => STEVEN TO DECIDE | ||||||
|  | - explorer / execution: | ||||||
|  |    - see explorer-implementation-ideas.TO_FINISH_AND_DELETE | ||||||
|  | 
 | ||||||
|  | Todo: | ||||||
|  | - cdist-preprocess: | ||||||
|  |    - fix call to cdist-build-explorer and transfer explorer to target host | ||||||
|  | - cdist-manifest-init/ cdist_tree_wrapper: | ||||||
|  |    - fails on second run => use different cache! (old cache exists until new is valid!) | ||||||
|  | - .source in cdist_tree_wrapper records wrong source! | ||||||
|  | - cdist-config: | ||||||
|  |    - use export to mark user available variables! | ||||||
|  | - doc/man/* => defined in TODO | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Future: | ||||||
|  | - ids containing slashes for easier use in types? | ||||||
|  |    - a) __file abc --source /path/from/abc --destination /path/to/abc | ||||||
|  |    - b) id=abc | ||||||
|  |         __file $id --source /path/from/$id --destination /path/to/$id | ||||||
|  |    - c) __file abc --sourcedir /path/from/ --destination_dir /path/to/ | ||||||
|  |       - type file defines that id is implicitly used when --...dir variants used | ||||||
|  |    - d) __file /path/to/abc --source ? --destination ? | ||||||
|  |       - reusing id with slashes would be nice | ||||||
|  | @ -1,12 +0,0 @@ | ||||||
| 1) safer and fast version |  | ||||||
|    cat blob | ssh host > tmp; |  | ||||||
|    for var in ... |  | ||||||
|       var=grep ^var= tmp |  | ||||||
| 2) slow & secure |  | ||||||
|    for var in ... |  | ||||||
|    eval var=$(cat single_blob | ssh host" |  | ||||||
| 
 |  | ||||||
| 3) easy & insecure |  | ||||||
|    cat blob | ssh host > tmp; . tmp |  | ||||||
|     |  | ||||||
| 
 |  | ||||||
|  | @ -1,2 +0,0 @@ | ||||||
| export PATH=$PATH:$HOME/cdist/bin |  | ||||||
| export CDIST_CONFIG=$HOME/cdist/conf |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| $0 evaluated in a sourced script returns name of the caller. |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue