- Uses puppet for easy configuration and package installation
- A simple kickstart script intended to be included in a existing
kickstart configuration
Signed-off-by: Adam Stokes <astokes(a)fedoraproject.org>
---
contrib/kickstart/matahari-win.ks | 3 +
contrib/kickstart/matahari.ks | 10 +++++
contrib/puppet/README | 3 +
.../puppet/lib/puppet/provider/service/systemd.rb | 42 ++++++++++++++++++++
contrib/puppet/lib/puppet/type/systemd.rb | 18 ++++++++
contrib/puppet/manifests/modules.pp | 1 +
contrib/puppet/manifests/site.pp | 3 +
contrib/puppet/modules/matahari/manifests/init.pp | 28 +++++++++++++
contrib/puppet/modules/yum/manifests/init.pp | 25 ++++++++++++
9 files changed, 133 insertions(+), 0 deletions(-)
create mode 100644 contrib/kickstart/matahari-win.ks
create mode 100644 contrib/kickstart/matahari.ks
create mode 100644 contrib/puppet/README
create mode 100644 contrib/puppet/lib/puppet/provider/service/systemd.rb
create mode 100644 contrib/puppet/lib/puppet/type/systemd.rb
create mode 100644 contrib/puppet/manifests/modules.pp
create mode 100644 contrib/puppet/manifests/site.pp
create mode 100644 contrib/puppet/modules/matahari/manifests/init.pp
create mode 100644 contrib/puppet/modules/yum/manifests/init.pp
diff --git a/contrib/kickstart/matahari-win.ks b/contrib/kickstart/matahari-win.ks
new file mode 100644
index 0000000..10e6252
--- /dev/null
+++ b/contrib/kickstart/matahari-win.ks
@@ -0,0 +1,3 @@
+%packages
+mingw32-matahari
+%end
diff --git a/contrib/kickstart/matahari.ks b/contrib/kickstart/matahari.ks
new file mode 100644
index 0000000..8557021
--- /dev/null
+++ b/contrib/kickstart/matahari.ks
@@ -0,0 +1,10 @@
+%packages
+matahari
+matahari-agent-lib
+matahari-service
+matahari-broker
+matahari-host
+matahari-net
+matahari-lib
+!matahari-devel
+%end
diff --git a/contrib/puppet/README b/contrib/puppet/README
new file mode 100644
index 0000000..278c8f6
--- /dev/null
+++ b/contrib/puppet/README
@@ -0,0 +1,3 @@
+Within the contrib/puppet directory run:
+
+# sudo RUBYLIB=lib/ puppet --modulepath=modules/ --verbose manifests/site.pp
\ No newline at end of file
diff --git a/contrib/puppet/lib/puppet/provider/service/systemd.rb
b/contrib/puppet/lib/puppet/provider/service/systemd.rb
new file mode 100644
index 0000000..9a0fca4
--- /dev/null
+++ b/contrib/puppet/lib/puppet/provider/service/systemd.rb
@@ -0,0 +1,42 @@
+Puppet::Type.type(:service).provide :systemd,
+ :parent => :init, :source => :init do
+
+ desc "execute systemd service using systemctl"
+
+ commands :service => "/bin/systemctl"
+ defaultfor :operatingsystem => [:fedora]
+ def self.defpath
+ superclass.defpath
+ end
+
+ def disable
+ [command(:service), "disable", @resource[:name]]
+ end
+
+ def enabled?
+ system("/bin/systemctl", "is-enabled", @resource[:name])
+ if [0].include?($CHILD_STATUS.exitstatus)
+ return :true
+ else
+ return :false
+ end
+ end
+
+ def enable
+ output = service(:enable, @resource[:name])
+ rescue Puppet::ExecutionFailure => detail
+ raise Puppet::Error, "Could not enable #{self.name}: #{detail}"
+ end
+
+ def restartcmd
+ [command(:service), "restart", @resource[:name]]
+ end
+
+ def startcmd
+ [command(:service), "start", @resource[:name]]
+ end
+
+ def stopcmd
+ [command(:service), "stop", @resource[:name]]
+ end
+end
diff --git a/contrib/puppet/lib/puppet/type/systemd.rb
b/contrib/puppet/lib/puppet/type/systemd.rb
new file mode 100644
index 0000000..c94a516
--- /dev/null
+++ b/contrib/puppet/lib/puppet/type/systemd.rb
@@ -0,0 +1,18 @@
+require 'puppet/type'
+
+Puppet::Type.newtype :systemd do
+ @doc = "Run service via systemd"
+
+ newparam :service do
+ desc "Name of service"
+ end
+
+ newparam :action do
+ desc "Start/Stop/Restart service"
+ end
+
+ ensurable do
+ defaultvalues
+ defaultto :start
+ end
+end
diff --git a/contrib/puppet/manifests/modules.pp b/contrib/puppet/manifests/modules.pp
new file mode 100644
index 0000000..e5b1959
--- /dev/null
+++ b/contrib/puppet/manifests/modules.pp
@@ -0,0 +1 @@
+import "matahari"
diff --git a/contrib/puppet/manifests/site.pp b/contrib/puppet/manifests/site.pp
new file mode 100644
index 0000000..a254b49
--- /dev/null
+++ b/contrib/puppet/manifests/site.pp
@@ -0,0 +1,3 @@
+import "modules.pp"
+
+include matahari::base
diff --git a/contrib/puppet/modules/matahari/manifests/init.pp
b/contrib/puppet/modules/matahari/manifests/init.pp
new file mode 100644
index 0000000..3cd830d
--- /dev/null
+++ b/contrib/puppet/modules/matahari/manifests/init.pp
@@ -0,0 +1,28 @@
+class matahari::base {
+ notice("Matahari manifests begin")
+
+ $packagelist = [
+ "matahari-host",
+ "matahari-network",
+ "matahari-service",
+ "matahari-sysconfig",
+ "matahari-lib",
+ "matahari-agent-lib",
+ "matahari-broker",
+ "matahari"]
+ package {
+ $packagelist: ensure => latest
+ }
+
+ $serlist = [
+ "matahari-host.service",
+ "matahari-network.service",
+ "matahari-sysconfig.service",
+ "matahari-service.service",
+ "matahari-broker.service"]
+ service {
+ $serlist:
+ ensure => stopped,
+ enable => true
+ }
+}
diff --git a/contrib/puppet/modules/yum/manifests/init.pp
b/contrib/puppet/modules/yum/manifests/init.pp
new file mode 100644
index 0000000..9a8e8f4
--- /dev/null
+++ b/contrib/puppet/modules/yum/manifests/init.pp
@@ -0,0 +1,25 @@
+class matahari::yum {
+ package {
+ yum: ensure => installed
+ }
+
+ file {
+ fedora-updates:
+ name => '/etc/yum.repos.d/fedora-updates.repo',
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 600,
+ require => Package["yum"],
+ }
+
+ yumrepo {
+ fedora-updates:
+ descr => 'fedora-updates',
+ baseurl =>
'http://download.fedoraproject.org/pub/fedora/linux/updates/16/x86_64/',
+ enabled => 1,
+ gpgcheck => 0,
+ gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora',
+ require => File["fedora-updates"];
+ }
+}
--
1.7.6.2