X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=ext%2Fsolaris11%2FREADME.md;fp=ext%2Fsolaris11%2FREADME.md;h=17d70e9e79f932b56ceb065a87dc0fd0ca902088;hb=b87d2f4e68281062df1913440ca5753ae63314a9;hp=0000000000000000000000000000000000000000;hpb=ab0ea530b8ac956091f17b104ab2311336cfc250;p=packages%2Fprecise%2Fmcollective.git diff --git a/ext/solaris11/README.md b/ext/solaris11/README.md new file mode 100644 index 0000000..17d70e9 --- /dev/null +++ b/ext/solaris11/README.md @@ -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 /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. + +