4 - Ruby (pkg install pkg:/runtime/ruby-18)
5 - Header files (pkg install system/header)
6 - GCC to install JSON (pkg install developer/gcc-3)
7 - Stomp: gem install stomp
8 - Ruby-JSON: gem install json
13 Clone the github repository and install as root:
15 $ cd marionette-collective
16 $ make -f ext/solaris11/Makefile install
18 This will use / as a default destination root directory.
23 To create an IPS package, follow the excellent guide at:
24 http://www.neuhalfen.name/blog/2011/07/02/Solaris11-Packaging-IPS_simple_packages/
26 To create a basic IPS repository (and start the associated services):
28 # zfs create rpool/IPS
29 # zfs set atime=off rpool/IPS
30 # zfs set mountpoint=/IPS rpool/IPS
31 # mkdir /IPS/Solaris11
32 # svcadm enable application/pkg/server
33 # svccfg -s application/pkg/server setprop pkg/inst_root=/IPS/Solaris11
34 # svccfg -s application/pkg/server setprop pkg/readonly=false
35 # pkgrepo create /IPS/Solaris11/
36 # pkgrepo set -s /IPS/Solaris11 publisher/prefix=legrand.im
37 # pkgrepo -s /IPS/Solaris11 refresh
38 # svcadm refresh application/pkg/server
39 # svcadm enable application/pkg/server
40 # pkg set-publisher -O http://localhost:80 legrand.im
42 To create and send the package itself, from the guide above:
45 # cd <GITHUB>/marionette-collective
46 # cat Makefile | sed 's/DESTDIR=$/DESTDIR=~\/package/' > Makefile.package
47 # make -f ext/solaris11/Makefile.package install
48 # pkg install pkg:/file/gnu-findutils
50 # export description="MCollective"
54 # cat > ../send.sh << "EOF"
56 export PKGSEND="pkgsend -s http://localhost:80"
57 eval `$PKGSEND open mcollective@1.1-1`
58 $PKGSEND add license ./COPYING license=lorem_ipsum
59 $PKGSEND add set name=description value="${description}"
61 # gfind . -type d -not -name . -printf "\$PKGSEND add dir mode=%m owner=${user} group=${group} path=$ROOT/%h/%f \n" >> ../send.sh
62 # 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
63 # gfind . -type l -not -name LICENSE -printf "\$PKGSEND add link path=%h/%f target=%l \n" >> ../send.sh
64 # echo '$PKGSEND close' >> ../send.sh
67 The package can then be installed with:
69 # pkg install pkg://legrand.im/mcollective
74 There is no packaged configuration; you can use the following example:
76 # cat > /etc/mcollective/client.cfg << "EOF"
77 main_collective = mcollective
78 collectives = mcollective
79 libdir = /usr/share/mcollective/plugins
83 securityprovider = psk
86 plugin.stomp.host = mqserver
87 plugin.stomp.port = 6163
88 plugin.stomp.user = mcollective
89 plugin.stomp.password = changeme
92 plugin.yaml = /etc/mcollective/facts.yaml
98 http://creativecommons.org/publicdomain/zero/1.0/
100 To the extent possible under law, Mathieu Legrand has waived all copyright and related or
101 neighboring rights to this work. This work is published from: Singapore.