Updated mcollective.init according to OSCI-658
[packages/precise/mcollective.git] / ext / solaris11 / README.md
diff --git a/ext/solaris11/README.md b/ext/solaris11/README.md
new file mode 100644 (file)
index 0000000..17d70e9
--- /dev/null
@@ -0,0 +1,104 @@
+Requirements
+------------
+
+- Ruby (pkg install pkg:/runtime/ruby-18)
+- Header files (pkg install system/header)
+- GCC to install JSON (pkg install developer/gcc-3)
+- Stomp: gem install stomp
+- Ruby-JSON: gem install json
+
+Installation
+------------
+
+Clone the github repository and install as root:
+
+    $ cd marionette-collective
+    $ make -f ext/solaris11/Makefile install
+
+This will use / as a default destination root directory.
+
+IPS package
+-----------
+
+To create an IPS package, follow the excellent guide at:
+http://www.neuhalfen.name/blog/2011/07/02/Solaris11-Packaging-IPS_simple_packages/
+
+To create a basic IPS repository (and start the associated services):
+
+    # zfs create rpool/IPS
+    # zfs set atime=off rpool/IPS
+    # zfs set mountpoint=/IPS rpool/IPS
+    # mkdir /IPS/Solaris11
+    # svcadm enable application/pkg/server
+    # svccfg -s application/pkg/server setprop pkg/inst_root=/IPS/Solaris11
+    # svccfg -s application/pkg/server setprop pkg/readonly=false
+    # pkgrepo create /IPS/Solaris11/
+    # pkgrepo set -s /IPS/Solaris11 publisher/prefix=legrand.im
+    # pkgrepo -s /IPS/Solaris11 refresh
+    # svcadm refresh application/pkg/server
+    # svcadm enable application/pkg/server
+    # pkg set-publisher -O http://localhost:80 legrand.im
+
+To create and send the package itself, from the guide above:
+
+    # mkdir ~/package
+    # cd <GITHUB>/marionette-collective
+    # cat Makefile | sed 's/DESTDIR=$/DESTDIR=~\/package/' > Makefile.package
+    # make -f ext/solaris11/Makefile.package install
+    # pkg install pkg:/file/gnu-findutils
+    # export ROOT=/
+    # export description="MCollective"
+    # export user="root"
+    # export group="root"
+    # cd ~/package
+    # cat > ../send.sh << "EOF"
+    #!/bin/sh
+    export PKGSEND="pkgsend -s http://localhost:80"
+    eval `$PKGSEND open mcollective@1.1-1`
+    $PKGSEND add license ./COPYING license=lorem_ipsum
+    $PKGSEND add set name=description value="${description}"
+    EOF
+    # gfind . -type d -not -name . -printf "\$PKGSEND add dir mode=%m owner=${user} group=${group} path=$ROOT/%h/%f \n"  >> ../send.sh
+    # gfind . -type f -not -name LICENSE   -printf "\$PKGSEND add file %h/%f mode=%m owner=${user} group=${group} path=$ROOT/%h/%f \n" >> ../send.sh
+    # gfind . -type l -not -name LICENSE   -printf "\$PKGSEND add link path=%h/%f target=%l \n" >> ../send.sh
+    # echo '$PKGSEND close' >> ../send.sh
+    # sh -x ../send.sh
+
+The package can then be installed with:
+
+    # pkg install pkg://legrand.im/mcollective
+
+Configuration
+-------------
+
+There is no packaged configuration; you can use the following example:
+
+    # cat > /etc/mcollective/client.cfg << "EOF"
+    topicprefix = /topic/
+    main_collective = mcollective
+    collectives = mcollective
+    libdir = /usr/share/mcollective/plugins
+    logfile = /dev/null
+    loglevel = info
+    # Plugins
+    securityprovider = psk
+    plugin.psk = unset
+    connector = stomp
+    plugin.stomp.host = mqserver
+    plugin.stomp.port = 6163
+    plugin.stomp.user = mcollective
+    plugin.stomp.password = changeme
+    # Facts
+    factsource = yaml
+    plugin.yaml = /etc/mcollective/facts.yaml
+    EOF
+
+License
+------
+
+http://creativecommons.org/publicdomain/zero/1.0/
+
+To the extent possible under law, Mathieu Legrand has waived all copyright and related or
+neighboring rights to this work. This work is published from: Singapore.
+
+