Browse Source

finish cdist-explore

Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
1.0
Nico Schottelius 12 years ago
parent
commit
847054c77d
  1. 21
      INTRO
  2. 43
      bin/cdist-explore
  3. 29
      lib/cdist_explore_os
  4. 26
      lib/cdist_package

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

43
bin/cdist-explore

@ -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

@ -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

@ -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…
Cancel
Save