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
|
- the DSL
|
||||||
- with many bugs
|
- with many bugs
|
||||||
- templates
|
- 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?
|
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
|
- "manifests" (use the same name here?) will be run/sourced
|
||||||
- inheritance possible via sourcing
|
- inheritance possible via sourcing
|
||||||
- cdist-lib always preloaded
|
- cdist-lib always preloaded
|
||||||
|
- library == functions?
|
||||||
- version control via git
|
- version control via git
|
||||||
- file distribution via ssh
|
- file distribution via ssh
|
||||||
- authentication via ssh
|
- authentication via ssh
|
||||||
- dumb clients, similar to manifest compile in puppet
|
- dumb clients, similar to manifest compile in puppet
|
||||||
- clients just execute commands
|
- clients just execute commands
|
||||||
- dependencies via make?
|
- 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
|
Implementation
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,30 @@
|
||||||
#!/bin/sh
|
#!/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
|
reports="os"
|
||||||
cdist_explore_os()
|
|
||||||
{
|
|
||||||
[ -f /etc/arch-release ] && echo archlinux
|
|
||||||
|
|
||||||
[ -f /etc/debian_version ] && echo debian
|
for report in $reports; do
|
||||||
|
func="cdist_explore_$report"
|
||||||
grep -q ^DISTRIB_ID=Ubuntu /etc/lsb-release 2>/dev/null && echo ubuntu
|
var="__cdist_$report"
|
||||||
|
. "../lib/$func"
|
||||||
}
|
eval $var=\"\$\($func\)\"
|
||||||
|
eval echo $var=\\\"\$$var\\\"
|
||||||
# could work, if cdist_explore_os would be a different program
|
done
|
||||||
# nope, does not work, set -x output is not sourcable...
|
|
||||||
[ "$1" = "-o" ] && set -x
|
|
||||||
|
|
||||||
CDIST_OS="$(cdist_explore_os)"
|
|
||||||
|
|
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…
Reference in a new issue