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…
Reference in a new issue