forked from ungleich-public/cdist
merge from upstream
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
commit
b9b90dad36
25 changed files with 420 additions and 176 deletions
|
|
@ -1,3 +1,12 @@
|
|||
1.6.0:
|
||||
* New Type __package_yum
|
||||
* New type __debconf_set_selections
|
||||
* Fix Type __group in case of __group NAME syntax
|
||||
* Type __package gained Fedora support
|
||||
* Removed --preseed support from __package_apt
|
||||
* explorer/os: gained Fedora support
|
||||
* Simplified types __user and __group
|
||||
|
||||
1.5.0: 2011-04-01
|
||||
* Add basic cache functionality
|
||||
* New type __process
|
||||
|
|
|
|||
9
doc/dev/logs/2011-04-02.yum
Normal file
9
doc/dev/logs/2011-04-02.yum
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
Fun with yum:
|
||||
|
||||
[root@brett ~]# yum --assumeyes --quiet install "vim"
|
||||
Package 2:vim-enhanced-7.3.056-1.fc14.x86_64 already installed and latest version
|
||||
[root@brett ~]# rpm -q vim
|
||||
package vim is not installed
|
||||
[root@brett ~]#
|
||||
|
||||
(Me || yum) == dumb?
|
||||
1
doc/dev/todo/1.6
Normal file
1
doc/dev/todo/1.6
Normal file
|
|
@ -0,0 +1 @@
|
|||
- adjust documentation / stages
|
||||
|
|
@ -26,13 +26,14 @@ CORE
|
|||
|
||||
TYPES
|
||||
------
|
||||
Types to be written/extended:
|
||||
- __ssh-keys (host/user)
|
||||
- Think about __service - necessary?
|
||||
- __file_edit
|
||||
- regexp replace (can probably cover all?)
|
||||
-> aka sed.
|
||||
- __cron
|
||||
- __ssh-keys (host/user)
|
||||
- __file_edit
|
||||
- regexp replace (can probably cover all?)
|
||||
-> aka sed.
|
||||
- __cron
|
||||
- __user:
|
||||
add option to include --create-home
|
||||
fix __user NAME case (same issue as __group)
|
||||
|
||||
DOCUMENTATION
|
||||
--------------
|
||||
|
|
@ -45,7 +46,3 @@ Cache:
|
|||
- export variable $__cache
|
||||
-> for current host
|
||||
-> add function to cdist-config, import from cdist-cache
|
||||
|
||||
|
||||
remove --preseed from package_apt and add debconf_set_selection or similar
|
||||
-> much cleaner!
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
Release 1.5.0 correctly :-)
|
||||
remove --preseed from package_apt and add debconf_set_selection or similar
|
||||
-> much cleaner!
|
||||
|
|
|
|||
|
|
@ -135,19 +135,8 @@ tmp_dir::
|
|||
|
||||
TYPES
|
||||
-----
|
||||
The following types are available:
|
||||
|
||||
eof
|
||||
for type in man7/cdist-type__*; do
|
||||
name_1="${type#man7/cdist-type}"
|
||||
name_2="${name_1%.7}"
|
||||
|
||||
name="$name_2"
|
||||
echo "- $name"
|
||||
done
|
||||
|
||||
cat << eof
|
||||
|
||||
The available types are listed in the SEE ALSO section
|
||||
and are referenced as cdist-type__TYPENAME.
|
||||
|
||||
VARIABLES
|
||||
---------
|
||||
|
|
@ -187,7 +176,7 @@ SEE ALSO
|
|||
--------
|
||||
- cdist(7)
|
||||
eof
|
||||
for type in man7/cdist-type__*; do
|
||||
for type in man7/cdist-type__*.7; do
|
||||
name_1="${type#man7/}"
|
||||
name_2="${name_1%.7}"
|
||||
|
||||
|
|
|
|||
|
|
@ -60,6 +60,84 @@ machine-a % git clone git://your-git-server/cdist
|
|||
machine-b % git clone git://your-git-server/cdist
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
SEPERATING WORK BY GROUPS
|
||||
-------------------------
|
||||
If you are working with different groups on one cdist-configuration,
|
||||
you can delegate to other manifests and have the groups edit only
|
||||
their manifests. You can use the following snippet in
|
||||
**conf/manifests/init**:
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
# Include other groups
|
||||
sh -e "$__manifest/systems"
|
||||
|
||||
sh -e "$__manifest/cbrg"
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
||||
MAINTAINING MULTIPLE CONFIGURATIONS
|
||||
-----------------------------------
|
||||
When you need to manage multiple sites with cdist, like company_a, company_b
|
||||
and private for instance, you can easily use git for this purpose.
|
||||
Including a possible common base that is reused accross the different sites:
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
# create branches
|
||||
git branch company_a company_b common private
|
||||
|
||||
# make stuff for company a
|
||||
git checkout company_a
|
||||
# work, commit, etc.
|
||||
|
||||
# make stuff for company b
|
||||
git checkout company_b
|
||||
# work, commit, etc.
|
||||
|
||||
# make stuff relevant for all sites
|
||||
git checkout common
|
||||
# work, commit, etc.
|
||||
|
||||
# change to private and include latest common stuff
|
||||
git checkout private
|
||||
git merge common
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
The following **.git/config** is taken from a a real world scenario:
|
||||
--------------------------------------------------------------------------------
|
||||
# Track upstream, merge from time to time
|
||||
[remote "upstream"]
|
||||
url = git://git.schottelius.org/cdist
|
||||
fetch = +refs/heads/*:refs/remotes/upstream/*
|
||||
|
||||
# Same as upstream, but works when being offline
|
||||
[remote "local"]
|
||||
fetch = +refs/heads/*:refs/remotes/local/*
|
||||
url = /home/users/nico/p/cdist
|
||||
|
||||
# Remote containing various ETH internal branches
|
||||
[remote "eth"]
|
||||
url = sans.ethz.ch:/home/services/sans/git/cdist-eth
|
||||
fetch = +refs/heads/*:refs/remotes/eth/*
|
||||
|
||||
# Public remote that contains my private changes to cdist upstream
|
||||
[remote "nico"]
|
||||
url = git.schottelius.org:/home/services/git/cdist-nico
|
||||
fetch = +refs/heads/*:refs/remotes/nico/*
|
||||
|
||||
# The "nico" branch will be synced with the remote nico, branch master
|
||||
[branch "nico"]
|
||||
remote = nico
|
||||
merge = refs/heads/master
|
||||
|
||||
# ETH stable contains rock solid configurations used in various places
|
||||
[branch "eth-stable"]
|
||||
remote = eth
|
||||
merge = refs/heads/stable
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Have a look at git-remote(1) to adjust the remote configuration, which allows
|
||||
you to push certain branches to certain remotes.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue