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,13 +9,13 @@ Do not believe anything written in cdist, besides what's written in this file
|
|||
-- Nico, 20101201
|
||||
|
||||
|
||||
What you can do so far:
|
||||
What you can do so far: (executed from top level directory)
|
||||
|
||||
# prepare use:
|
||||
export PATH="$PATH:$(pwd -P)/bin"
|
||||
|
||||
# Test first level manifest execution
|
||||
__cdist_config=$(pwd -P)/conf __cdist_target_host=ikq02.ethz.ch cdist-manifest-init
|
||||
__cdist_config=$(pwd -P)/conf __cdist_target_host=ikq02.ethz.ch cdist-manifest-init
|
||||
|
||||
# See what it generated
|
||||
find conf/cache
|
||||
|
|
10
TODO
10
TODO
|
@ -6,6 +6,7 @@
|
|||
- cdist-push-pull
|
||||
- cdist-quickstart
|
||||
- cdist-types [IMPORTANT]
|
||||
- cdist.text [IMPORTANT]
|
||||
- add terminology
|
||||
- define steps within configuration apply
|
||||
- detect impossible/unsafe things:
|
||||
|
@ -14,12 +15,11 @@
|
|||
- and report location of occurence
|
||||
- parse afterwards?
|
||||
- multi master setups
|
||||
|
||||
- how to define templates
|
||||
- variable substitution from shell may be problematic
|
||||
- templating
|
||||
- how to define templates
|
||||
- variable substitution from shell may be problematic
|
||||
- SHELL SCRIPTS! (executables? do not support?)
|
||||
- stdout
|
||||
- cleanup / integrate doc/man/cdist.text
|
||||
- stdout == output of template == what will be used
|
||||
- cdist-explore
|
||||
- add more stuff to explore
|
||||
- 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 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
|
||||
cdist core functions
|
||||
|
||||
core/manifests/* (all other)
|
||||
conf/manifests/* (all other)
|
||||
- same function as above
|
||||
- but won't be called by cdist
|
||||
- method to seperate configuration parts
|
||||
|
@ -26,9 +26,8 @@ conf/types/<name>/
|
|||
but more like reusable defines
|
||||
- or may implement some functionality on their own
|
||||
|
||||
lib/types/<name>/
|
||||
- same as above, but provided by the cdist distribution
|
||||
- if name exists in both, conf/ has priority
|
||||
conf/explorers/<name>
|
||||
- explorers to be run on the target hosts
|
||||
|
||||
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…
Reference in a new issue