Commit a69c0bc9 authored by Rafael Monnerat's avatar Rafael Monnerat

Update Release Candidate

parents e54a96b4 5f5d5102
......@@ -18,12 +18,14 @@ extends =
[apr]
recipe = hexagonit.recipe.download
ignore-existing = true
version = 1.5.2
md5sum = 4e9769f3349fe11fc0a5e1b224c236aa
url = https://archive.apache.org/dist/apr/apr-${:version}.tar.bz2
[apr-util]
recipe = hexagonit.recipe.download
ignore-existing = true
version = 1.5.4
url = https://archive.apache.org/dist/apr/apr-util-${:version}.tar.bz2
md5sum = 2202b18f269ad606d70e1864857ed93c
......
......@@ -6,6 +6,7 @@ parts = boa
[boa-patch-ENOSYS]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch?revision=1.1
filename = boa-0.94.14_rc21-ENOSYS.patch
md5sum = 7206b342195961501ed1eae38486e5db
......
......@@ -11,6 +11,7 @@ parts =
[cclient-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true
url = ${:_profile_base_location_}/imap-2007f.patch
md5sum = 42c77fdd5d7a976fc302b93aadb3da98
......
......@@ -39,6 +39,7 @@ executable = ${:location}/bin/cloud9.js
[cloud9-session-directory.patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = cloud9-session-directory.patch
download-only = true
......@@ -46,6 +47,7 @@ md5sum = 5dc8cc28447ed3747b8a53c768d872aa
[cloud9-socket.patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = cloud9-socket.patch
download-only = true
......@@ -54,6 +56,7 @@ md5sum = c581456cb3a76841898f79f9600e3a1e
[cloud9-file-already-exist.patch]
# This patch prevents the error "File already exists"
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = cloud9-file_already_exist.patch
download-only = true
......@@ -63,6 +66,7 @@ md5sum = 0bc104af8176388d60cbf884b72c8318
# This patch prevents cloud9 to die every
# time a tab is closed
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = cloud9-removeAllListeners.patch
download-only = true
......
......@@ -113,6 +113,7 @@ environment =
[trusted-config]
recipe = hexagonit.recipe.download
ignore-existing = true
url = https://raw.githubusercontent.com/t-woerner/firewalld/v0.3.14/config/zones/trusted.xml
download-only = true
filename = trusted.xml
......
......@@ -10,7 +10,7 @@ recipe = rubygemsrecipe
url = https://rubygems.org/rubygems/rubygems-2.4.8.zip
ruby-executable = ${ruby:location}/bin/ruby
gems =
fluentd==0.12.15
fluentd==0.12.23
fluent-plugin-td==0.10.27
gem-options = --no-ri --no-rdoc --with-icu-lib=${icu:location}/lib/ --with-icu-dir=${icu:location}/
environment =
......
......@@ -15,6 +15,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
[fonts-base]
destination = ${fonts:location}/${:_buildout_section_name_}
recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true
# Liberation(tm) Fonts - a font family which aims at metric
......
......@@ -37,6 +37,7 @@ md5sum = aa125af368d89b3dbd15fc379f13375f
[ghostscript-fonts]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://downloads.sourceforge.net/project/gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-8.11.tar.gz
md5sum = 6865682b095f8c4500c54b285ff05ef6
strip-top-level-dir = true
......@@ -14,8 +14,8 @@ extends =
[groonga]
recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/groonga/groonga-6.0.1.tar.gz
md5sum = 8bcb172634d9b2fd869f04e8d0eeed9c
url = http://packages.groonga.org/source/groonga/groonga-6.0.2.tar.gz
md5sum = 10fde26350296a479953fd28679f2566
# temporary patch to respect more tokens in natural language mode.
patches =
${:_profile_base_location_}/groonga.patch#9ed02fbe8400402d3eab47eee149978b
......@@ -30,8 +30,13 @@ configure-options =
--with-libstemmer
--with-libstemmer-include=${libstemmer:location}/include
--with-libstemmer-lib=${libstemmer:location}/lib
--without-ruby
--without-inkscape
--without-lemon
--without-lz4
--without-mecab
--without-kytea
--without-libevent
environment =
CPPFLAGS=-I${libstemmer:location}/include -I${libstemmer:location}/include -I${zlib:location}/include
LDFLAGS=-Wl,-rpath=${jemalloc:location}/lib -L${jemalloc:location}/lib -Wl,-rpath=${libstemmer:location}/lib -L${libstemmer:location}/lib -Wl,-rpath=${zlib:location}/lib -L${zlib:location}/lib
......@@ -39,8 +44,8 @@ environment =
[groonga-normalizer-mysql]
recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/groonga-normalizer-mysql/groonga-normalizer-mysql-1.1.0.tar.gz
md5sum = 0a0b523547999f90d347982fe9d03c0e
url = http://packages.groonga.org/source/groonga-normalizer-mysql/groonga-normalizer-mysql-1.1.1.tar.gz
md5sum = 5a93c0238da114e5f91db659ffd499b0
location = ${groonga:location}
configure-options =
--disable-static
......
......@@ -19,7 +19,7 @@ configure-command = true
# otherwise use "generic".
# For ARCH value, x86_64 and i[3456]86 are supported.
make-options =
TARGET="$(uname -sr 2>/dev/null|grep -Eq '^Linux (2\.6\.2[89]|2\.6\.[3-9]|3)' && echo linux2628 || echo generic)"
TARGET="$(uname -sr 2>/dev/null|grep -Eq '^Linux (2\.6\.2[89]|2\.6\.[3-9]|[3-9])' && echo linux2628 || echo generic)"
ARCH="$(uname -m 2>/dev/null|grep -E '^(x86_64|i[3456]86)$')"
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
USE_DL=1
......
......@@ -25,10 +25,10 @@ extends =
[imagemagick]
recipe = slapos.recipe.cmmi
version = 6.8.9-1
url = http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/ImageMagick-${:version}.tar.xz
md5sum = bde038ae05fb20d29cebf88ab9cbdce5
pkg_config_depends = ${fontconfig:location}/lib/pkgconfig:${fontconfig:pkg_config_depends}:${xz-utils:location}/lib/pkgconfig
version = 7.0.1-1
url = https://www.imagemagick.org/download/releases/ImageMagick-${:version}.tar.xz
md5sum = 24673d00fcc8aa00313eeca6aa20fd3c
pkg_config_depends = ${fontconfig:location}/lib/pkgconfig:${fontconfig:pkg_config_depends}:${lcms2:location}/lib/pkgconfig:${xz-utils:location}/lib/pkgconfig
configure-options =
--disable-static
--without-x
......@@ -38,30 +38,30 @@ configure-options =
--without-dps
--without-djvu
--without-fftw
--without-flif
--without-fpx
--with-fontconfig
--without-gslib
--without-gvc
--without-lcms
--with-lcms2
--with-lcms
--without-openjp2
--without-lqr
--without-lzma
--without-openexr
--without-pango
--without-raqm
--without-rsvg
--without-wmf
--with-bzlib=${bzip2:location}
--with-zlib=${zlib:location}
--with-ltdl-include=${libtool:location}/include
--with-ltdl-lib=${libtool:location}/lib
--with-gs-font-dir=${ghostscript-fonts:location}
--with-frozenpaths
patch-options = -p1
patches =
${:_profile_base_location_}/imagemagick-6.6.6-1-no-gsx-gsc-probe.patch#3f28ecd9f6722cf2c3238ce6ec3d7a68
${:_profile_base_location_}/safe_policy.patch#07889fefbd9b55f19b9136ed6c17aa8c
environment =
PATH=${freetype:location}/bin:${ghostscript:location}/bin:${inkscape:location}/bin:${libxml2:location}/bin:${patch:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
CPPFLAGS=-I${bzip2:location}/include -I${zlib:location}/include -I${jbigkit:location}/include -I${libjpeg:location}/include -I${libtiff:location}/include -I${libpng:location}/include -I${jasper:location}/include -I${freetype:location}/include -I${webp:location}/include -I${lcms2:location}/include
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${jbigkit:location}/lib -Wl,-rpath=${jbigkit:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libtiff:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${jasper:location}/lib -Wl,-rpath=${jasper:location}/lib -L${freetype:location}/lib -Wl,-rpath=${freetype:location}/lib -L${webp:location}/lib -Wl,-rpath=${webp:location}/lib -L${lcms2:location}/lib -Wl,-rpath=${lcms2:location}/lib
CPPFLAGS=-I${bzip2:location}/include -I${zlib:location}/include -I${jbigkit:location}/include -I${libjpeg:location}/include -I${libtiff:location}/include -I${libtool:location}/include -I${libpng:location}/include -I${jasper:location}/include -I${freetype:location}/include -I${webp:location}/include
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${jbigkit:location}/lib -Wl,-rpath=${jbigkit:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libtiff:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${libtool:location}/lib -Wl,-rpath=${libtool:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${jasper:location}/lib -Wl,-rpath=${jasper:location}/lib -L${freetype:location}/lib -Wl,-rpath=${freetype:location}/lib -L${webp:location}/lib -Wl,-rpath=${webp:location}/lib
--- ImageMagick-7.0.1-1/config/policy.xml.orig 2016-05-04 00:18:54.000000000 +0200
+++ ImageMagick-7.0.1-1/config/policy.xml 2016-05-06 08:22:30.002045742 +0200
@@ -50,16 +50,25 @@
-->
<policymap>
<!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
- <!-- <policy domain="resource" name="memory" value="2GiB"/> -->
- <!-- <policy domain="resource" name="map" value="4GiB"/> -->
- <!-- <policy domain="resource" name="width" value="10MP"/> -->
- <!-- <policy domain="resource" name="height" value="10MP"/> -->
- <!-- <policy domain="resource" name="area" value="1GB"/> -->
- <!-- <policy domain="resource" name="disk" value="16EB"/> -->
- <!-- <policy domain="resource" name="file" value="768"/> -->
- <!-- <policy domain="resource" name="thread" value="4"/> -->
- <!-- <policy domain="resource" name="throttle" value="0"/> -->
- <!-- <policy domain="resource" name="time" value="3600"/> -->
- <!-- <policy domain="system" name="precision" value="6"/> -->
+ <policy domain="resource" name="memory" value="2GiB"/>
+ <policy domain="resource" name="map" value="4GiB"/>
+ <policy domain="resource" name="width" value="10MP"/>
+ <policy domain="resource" name="height" value="10MP"/>
+ <policy domain="resource" name="area" value="1GB"/>
+ <policy domain="resource" name="disk" value="16EB"/>
+ <policy domain="resource" name="file" value="768"/>
+ <policy domain="resource" name="thread" value="4"/>
+ <policy domain="resource" name="throttle" value="0"/>
+ <policy domain="resource" name="time" value="3600"/>
+ <policy domain="system" name="precision" value="6"/>
<policy domain="cache" name="shared-secret" value="passphrase"/>
+ <policy domain="coder" rights="none" pattern="EPHEMERAL" />
+ <policy domain="coder" rights="none" pattern="HTTPS" />
+ <policy domain="coder" rights="none" pattern="MSL" />
+ <policy domain="coder" rights="none" pattern="MVG" />
+ <policy domain="coder" rights="none" pattern="PLT" />
+ <policy domain="coder" rights="none" pattern="SHOW" />
+ <policy domain="coder" rights="none" pattern="TEXT" />
+ <policy domain="coder" rights="none" pattern="URL" />
+ <policy domain="coder" rights="none" pattern="WIN" />
</policymap>
......@@ -7,6 +7,7 @@ parts =
[json-c-patch-base]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
download-only = true
......
......@@ -8,6 +8,7 @@ extends =
[kerberos-package]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://web.mit.edu/kerberos/dist/krb5/1.11/krb5-1.11.1-signed.tar
md5sum = 76c6bed945c5771674357cfd4a08e3f5
......
......@@ -7,6 +7,7 @@ parts =
[lapack-download]
recipe = hexagonit.recipe.download
ignore-existing = true
version = 3.5.0
filename = lapack-${:version}.tgz
url = http://www.netlib.org/lapack/${:filename}
......
......@@ -6,6 +6,7 @@ extends =
../bzip2/buildout.cfg
../imagemagick/buildout.cfg
../jbigkit/buildout.cfg
../patch/buildout.cfg
../zlib/buildout.cfg
parts =
libdmtx
......@@ -24,8 +25,11 @@ url = http://prdownloads.sourceforge.net/libdmtx/dmtx-utils-0.7.4.tar.bz2
md5sum = b132ab9fb1d289869469b8bb4959a08a
configure-options =
--disable-static
patch-options = -p1
patches =
${:_profile_base_location_}/imagemagick-7.patch#e0ec31041be5a4f3551ab84696671110
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PATH=${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${imagemagick:location}/lib/pkgconfig:${libdmtx:location}/lib/pkgconfig
CPPFLAGS=-I${libdmtx:location}/include
LDFLAGS=-Wl,-rpath=${jbigkit:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${zlib:location}/lib
diff -ur dmtx-utils-0.7.4.orig/configure.ac dmtx-utils-0.7.4/configure.ac
--- dmtx-utils-0.7.4.orig/configure.ac 2011-06-03 07:13:10.000000000 +0200
+++ dmtx-utils-0.7.4/configure.ac 2016-05-06 22:56:23.129582472 +0200
@@ -60,7 +60,7 @@
fi
if test x$dmtxread = xyes -o x$dmtxwrite = xyes; then
- PKG_CHECK_MODULES(MAGICK, Wand >= 6.2.4, [], AC_MSG_ERROR([dmtxread/dmtxwrite requires Wand >= 6.2.4]))
+ PKG_CHECK_MODULES(MAGICK, MagickWand >= 6.2.4, [], AC_MSG_ERROR([dmtxread/dmtxwrite requires MagickWand >= 6.2.4]))
AC_SUBST(MAGICK_CFLAGS)
AC_SUBST(MAGICK_LIBS)
fi
diff -ur dmtx-utils-0.7.4.orig/configure dmtx-utils-0.7.4/configure
--- dmtx-utils-0.7.4.orig/configure 2011-06-03 07:13:53.000000000 +0200
+++ dmtx-utils-0.7.4/configure 2016-05-06 22:56:40.641701426 +0200
@@ -11074,12 +11074,12 @@
pkg_cv_MAGICK_CFLAGS="$MAGICK_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Wand >= 6.2.4\""; } >&5
- ($PKG_CONFIG --exists --print-errors "Wand >= 6.2.4") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"MagickWand >= 6.2.4\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "MagickWand >= 6.2.4") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_MAGICK_CFLAGS=`$PKG_CONFIG --cflags "Wand >= 6.2.4" 2>/dev/null`
+ pkg_cv_MAGICK_CFLAGS=`$PKG_CONFIG --cflags "MagickWand >= 6.2.4" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -11090,12 +11090,12 @@
pkg_cv_MAGICK_LIBS="$MAGICK_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Wand >= 6.2.4\""; } >&5
- ($PKG_CONFIG --exists --print-errors "Wand >= 6.2.4") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"MagickWand >= 6.2.4\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "MagickWand >= 6.2.4") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_MAGICK_LIBS=`$PKG_CONFIG --libs "Wand >= 6.2.4" 2>/dev/null`
+ pkg_cv_MAGICK_LIBS=`$PKG_CONFIG --libs "MagickWand >= 6.2.4" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -11115,18 +11115,18 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- MAGICK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "Wand >= 6.2.4" 2>&1`
+ MAGICK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "MagickWand >= 6.2.4" 2>&1`
else
- MAGICK_PKG_ERRORS=`$PKG_CONFIG --print-errors "Wand >= 6.2.4" 2>&1`
+ MAGICK_PKG_ERRORS=`$PKG_CONFIG --print-errors "MagickWand >= 6.2.4" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$MAGICK_PKG_ERRORS" >&5
- as_fn_error $? "dmtxread/dmtxwrite requires Wand >= 6.2.4" "$LINENO" 5
+ as_fn_error $? "dmtxread/dmtxwrite requires MagickWand >= 6.2.4" "$LINENO" 5
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- as_fn_error $? "dmtxread/dmtxwrite requires Wand >= 6.2.4" "$LINENO" 5
+ as_fn_error $? "dmtxread/dmtxwrite requires MagickWand >= 6.2.4" "$LINENO" 5
else
MAGICK_CFLAGS=$pkg_cv_MAGICK_CFLAGS
MAGICK_LIBS=$pkg_cv_MAGICK_LIBS
diff -ur dmtx-utils-0.7.4.orig/dmtxread/dmtxread.c dmtx-utils-0.7.4/dmtxread/dmtxread.c
--- dmtx-utils-0.7.4.orig/dmtxread/dmtxread.c 2011-06-03 07:13:10.000000000 +0200
+++ dmtx-utils-0.7.4/dmtxread/dmtxread.c 2016-05-06 23:17:08.190667778 +0200
@@ -114,7 +114,7 @@
}
/* Copy pixels to known format */
- success = MagickGetImagePixels(wand, 0, 0, width, height, "RGB", CharPixel, pxl);
+ success = MagickExportImagePixels(wand, 0, 0, width, height, "RGB", CharPixel, pxl);
if(success == MagickFalse || pxl == NULL) {
CleanupMagick(&wand, DmtxTrue);
FatalError(EX_OSERR, "malloc() error");
diff -ur dmtx-utils-0.7.4.orig/dmtxread/dmtxread.h dmtx-utils-0.7.4/dmtxread/dmtxread.h
--- dmtx-utils-0.7.4.orig/dmtxread/dmtxread.h 2011-06-03 07:13:10.000000000 +0200
+++ dmtx-utils-0.7.4/dmtxread/dmtxread.h 2016-05-06 23:01:38.871722717 +0200
@@ -33,7 +33,7 @@
#include <math.h>
#include <stdarg.h>
#include <assert.h>
-#include <wand/magick-wand.h>
+#include <MagickWand/MagickWand.h>
#include <dmtx.h>
#include "../common/dmtxutil.h"
diff -ur dmtx-utils-0.7.4.orig/dmtxwrite/dmtxwrite.h dmtx-utils-0.7.4/dmtxwrite/dmtxwrite.h
--- dmtx-utils-0.7.4.orig/dmtxwrite/dmtxwrite.h 2011-06-03 07:13:10.000000000 +0200
+++ dmtx-utils-0.7.4/dmtxwrite/dmtxwrite.h 2016-05-06 23:01:38.871722717 +0200
@@ -34,7 +34,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <assert.h>
-#include <wand/magick-wand.h>
+#include <MagickWand/MagickWand.h>
#include <dmtx.h>
#include "../common/dmtxutil.h"
......@@ -4,6 +4,7 @@ parts =
[libiconv.gets.patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = 8a20d8afe0617fce56f77537d2b84621
download-only = true
......
......@@ -4,8 +4,8 @@ parts =
[libtasn1]
recipe = slapos.recipe.cmmi
url = http://ftp.gnu.org/gnu/libtasn1/libtasn1-4.7.tar.gz
md5sum = 12d10ca4ae0a3b95f7aa06a076da39ec
url = http://ftp.gnu.org/gnu/libtasn1/libtasn1-4.8.tar.gz
md5sum = 9a6767705725544f2b86670dcfb34107
configure-options =
--disable-static
--disable-gtk-doc-html
......@@ -12,6 +12,7 @@ parts = lxc
[lxc-0.8.0-rc2-libexecdir-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = libexecdir-fix.patch
download-only = true
......@@ -19,6 +20,7 @@ md5sum = d674463ccb3a7c205c2326fb4ab5436b
[lxc-0.8.0-rc2-lxc-ls-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = lxc-ls-fix.patch
download-only = true
......@@ -26,6 +28,7 @@ md5sum = 28c155a554d4f4856351085494585c73
[lxc-0.8.0-rc2-cap_get_flag-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = cap_get_flag-fix.patch
download-only = true
......
......@@ -22,9 +22,9 @@ parts =
[mariadb]
recipe = slapos.recipe.cmmi
version = 10.1.13
version = 10.1.14
url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb/?serve
md5sum = aa881ff81a181c7357a90b8a357dee7c
md5sum = 294925531e0fd2f0461e3894496a5adc
location = ${buildout:parts-directory}/${:_buildout_section_name_}
patch-options = -p0
patches =
......@@ -70,8 +70,8 @@ post-install =
# mroonga - a storage engine for MySQL. It provides fast fulltext search feature to all MySQL users.
# http://mroonga.github.com/
recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/mroonga/mroonga-6.01.tar.gz
md5sum = 65bccc04872361590fd0f7c8fc94e947
url = http://packages.groonga.org/source/mroonga/mroonga-6.02.tar.gz
md5sum = a7c6320e273eaa407860cac11970dae8
pre-configure =
mkdir fake_mariadb_source &&
ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql
......
......@@ -31,6 +31,7 @@ md5sum = c933fffea299d00e43b002cb65738663
[membase-source-common]
recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true
[membase-component-common]
......
......@@ -7,6 +7,7 @@ extends =
[memcached-fix-array-subscript-is-above-array-bounds]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = memcached-1.4-fix-array-subscript-is-above-array-bounds.patch
download-only = true
......@@ -14,6 +15,7 @@ md5sum = 472508b9a4b6c0b9f5d6f2abce3444e3
[memcached-gcc-4.4.patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = memcached-gcc-4.4.patch
download-only = true
......
......@@ -16,6 +16,7 @@ parts =
[mysql-5.1-sphinx-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = eefcd08c400c58d3e89542ab482a8429
filename = mysql-5.1-sphinx-2.0.1-beta.diff
......@@ -23,6 +24,7 @@ download-only = true
[mysql-5.1-no_test-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = 22b0ef8baec5efc182e10d233c6f14ca
filename = mysql_create_system_tables__no_test.patch
......
......@@ -19,6 +19,7 @@ parts =
# MySQL-5.5 in
# http://code.google.com/p/sphinxsearch/source/detail?r=2921
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = 04549822ebfa91b5f84025ff49ef24c2
filename = mysql-5.5-sphinx-2.0.1-beta.diff
......@@ -26,6 +27,7 @@ download-only = true
[mysql-5.5-no_test-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = bb7ee34b9a98da1f913566c63ffbc6f5
filename = mysql_create_system_tables__no_test.patch
......
......@@ -37,6 +37,7 @@ environment =
[mysql-5.0-tritonn-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://dl.sourceforge.jp/tritonn/44472/${:filename}
md5sum = 257abe9c4afdc9b08033687fd486a595
filename = tritonn-1.0.12-mysql-5.0.87.diff
......@@ -44,6 +45,7 @@ download-only = true
[mysql-5.0-sphinx-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = 4ca071cde319213a213ab3605e326d1c
filename = mysql-5.0.87-sphinx-1.10.diff
......
......@@ -28,6 +28,7 @@ configure-options=
[nginx-dav-ext-module]
recipe = hexagonit.recipe.download
ignore-existing = true
url = https://github.com/arut/nginx-dav-ext-module/archive/v0.0.3.tar.gz
strip-top-level-dir = true
md5sum = 2cb502dbda335be4ebd5fed0b3182bae
......@@ -59,6 +60,7 @@ mime = ${nginx:location}/conf/mime.types
[hexaglobe-nginx-module]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://easicloud-p.cdn.hexaglobe.net/nginx-easicloud.tar.gz
md5sum = 57fe2ceb09740f22b5b1023f29889e0e
strip-top-level-dir = true
......
......@@ -4,6 +4,7 @@ parts =
[noVNC]
recipe = hexagonit.recipe.download
ignore-existing = true
# version-0.5.1 release from 29 Nov 2014
url = https://github.com/kanaka/noVNC/archive/v0.5.1.tar.gz
md5sum = ac55b2316b2164b6e09ae3bd89c37cb6
......
......@@ -6,6 +6,7 @@ parts = nspr
[nspr-pkgconfig-patch-download]
recipe = hexagonit.recipe.download
ignore-existing = true
filename = nspr-4.8.6-pkgconfig-1.patch
url = http://www.linuxfromscratch.org/patches/blfs/svn/${:filename}
md5sum = 7c00beff0475314f59214842509e407f
......
......@@ -8,6 +8,7 @@ parts =
[nss-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
filename = nss-3.12.9-with-nspr-4.8.7-1.patch
url = http://www.linuxfromscratch.org/patches/blfs/svn/nss-3.12.8-standalone-1.patch
md5sum = ee7b5966961bef16ca896435e78652d3
......@@ -15,6 +16,7 @@ download-only = true
[nss-download]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_9_RTM/src/nss-3.12.9.tar.gz
md5sum = bd32f183ca28440c1744650be31a9ccc
strip-top-level-dir = true
......
......@@ -6,6 +6,7 @@ parts = ocropus
[ocropus-patch-scons]
recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true
filename = ocropus.SConstruct-local-installation.patch
url = ${:_profile_base_location_}/${:filename}
......@@ -24,6 +25,7 @@ environment =
[scons-local]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://prdownloads.sourceforge.net/scons/scons-local-2.0.1.tar.gz
[scons-bin]
......@@ -34,6 +36,7 @@ command =
[iulib-patch-scons]
recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true
filename = iulib.SConstruct-libtiff-detection.patch
url = ${:_profile_base_location_}/${:filename}
......
......@@ -6,6 +6,7 @@ parts +=
[oood]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://www.nexedi.org/static/tarballs/oood/oood-r36294.tar.gz
md5sum = 9e71251eea4b310fd6bd4ebf8abf890e
strip-top-level-dir = true
......@@ -16,8 +16,8 @@ parts =
[openssl]
recipe = slapos.recipe.cmmi
url = https://www.openssl.org/source/openssl-1.0.2g.tar.gz
md5sum = f3c710c045cdee5fd114feb69feba7aa
url = https://www.openssl.org/source/openssl-1.0.2h.tar.gz
md5sum = 9392e65072ce4b614c1392eefc1f23d0
location = ${buildout:parts-directory}/${:_buildout_section_name_}
# 'prefix' option to override --openssldir/--prefix (which is useful
# when combined with INSTALL_PREFIX). Used by slapos.package.git/obs
......
......@@ -11,6 +11,7 @@ parts = pdftk
[pdftk-1.44-Makefile.Base.patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
download-only = true
md5sum = 04a3607213e4e638c1fd993321804499
......@@ -18,6 +19,7 @@ filename = pdftk-1.44-Makefile.Base.patch
[pdftk-hooks-download]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
filename = pdftk-hooks.py
md5sum = d2a067b98953ad30ba1230f87dfb8b92
......
......@@ -13,8 +13,8 @@ extends =
[poppler]
recipe = slapos.recipe.cmmi
url = http://poppler.freedesktop.org/poppler-0.30.0.tar.xz
md5sum = fb0a9d82b5433c823421a123eb8e9789
url = http://poppler.freedesktop.org/poppler-0.43.0.tar.xz
md5sum = 1d2b001663119855cdfbc0713dbfb9c6
configure-options =
--disable-cairo-output
--disable-cms
......
......@@ -14,6 +14,7 @@ parts =
[python2.4-dbm-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
# original patch from http://bugs.gentoo.org/attachment.cgi?id=109117
url = ${:_profile_base_location_}/${:filename}
md5sum = 8611020af1463b42f253ac73a91b09a1
......@@ -22,6 +23,7 @@ filename = python2.4-dbm.patch
[python2.4-no_system_inc_dirs-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = 65c1193ac42c15109be0e6f9b7a671b8
download-only = true
......@@ -29,6 +31,7 @@ filename = python2.4-no_system_inc_dirs.patch
[python2.4-CPPFLAGS-patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = 912b6d4b107e3f382995a4d3afcd3eca
download-only = true
......
......@@ -17,6 +17,7 @@ parts =
[python-2.6.6-no_system_inc_dirs.patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
path = ${:filename}
md5sum = ed7f8e11a97e45e5e09649c8b242e917
......
......@@ -3,6 +3,7 @@ parts = python-setuptools
[setuptools-download]
recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true
package_suffix = setuptools-18.4
filename = ${:package_suffix}.tar.gz
......
......@@ -43,6 +43,7 @@ environment =
[debian-amd64-netinst.iso]
# Download the installer of Debian 8 (Jessie)
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://cdimage.debian.org/debian-cd/8.4.0/amd64/iso-cd/debian-8.4.0-amd64-netinst.iso
filename = ${:_buildout_section_name_}
md5sum = 8d52d1b7789cd5a464aae719f05299ec
......
......@@ -10,6 +10,7 @@ extends =
[sphinx-1.10-beta-snowball.patch]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
path = ${:filename}
md5sum = 65a5ee78bf27c030734674c018006287
......
......@@ -46,6 +46,7 @@ make-options =
[tesseract-eng-traineddata]
recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true
url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz
md5sum = 89c139a73e0e7b1225809fc7b226b6c9
......@@ -11,12 +11,14 @@ parts =
[tomcat6]
recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true
url = http://apache.multidist.com/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
md5sum = 3dde098fd0b3a08d3f2867e4a95591ba
[tomcat7]
recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true
url = http://apache.multidist.com/tomcat/tomcat-7/v7.0.34/bin/apache-tomcat-7.0.34.tar.gz
md5sum = 0f50494425c24450b4f66dfd4d2aecca
......@@ -275,8 +275,8 @@ environment =
[pixman]
recipe = slapos.recipe.cmmi
url = http://xorg.freedesktop.org/archive/individual/lib/pixman-0.32.8.tar.bz2
md5sum = 18d6b62abdb7bc0f8e6b0ddf48986b2c
url = http://cairographics.org/releases/pixman-0.34.0.tar.gz
md5sum = e80ebae4da01e77f68744319f01d52a3
configure-options =
--disable-static
......
......@@ -6,6 +6,7 @@ parts = xpdf
[xpdf-patch-download]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ftp://ftp.foolabs.com/pub/xpdf/${:filename}
download-only = true
......
......@@ -18,6 +18,7 @@ parts =
[mysql-5.1-download]
recipe = hexagonit.recipe.download
ignore-existing = true
version = 5.1.56
url = http://s3.amazonaws.com/percona.com/downloads/community/mysql-${:version}.tar.gz
md5sum = 15161d67f4830aad3a8a89e083749d49
......@@ -26,6 +27,7 @@ filename = mysql-${:version}.tar.gz
[libtar-download]
recipe = hexagonit.recipe.download
ignore-existing = true
version = 1.2.11
url = http://s3.amazonaws.com/percona.com/downloads/community/libtar-${:version}.tar.gz
md5sum = 604238e8734ce6e25347a58c4f1a1d7e
......
......@@ -13,18 +13,22 @@
},
"serialisation": {
"description": "How the parameters and results are serialised",
"required": true,
"require": true,
"enum": ["xml", "json-in-xml"],
"type": "string"
},
"software-type": {
"description": "Existing software types",
"required": true,
"require": true,
"patternProperties": {
".*": {
"description": "Software type declaration",
"additionalProperties": false,
"properties": {
"title": {
"description": "A human-friendly title of the software type",
"type": "string"
},
"description": {
"description": "A human-friendly description of the software type",
"type": "string"
......@@ -35,18 +39,26 @@
"type": "string"
},
"request": {
"required": true,
"require": true,
"description": "URL, relative to Software Release base path, of a json schema for values expected by instance of current software type",
"type": "string"
},
"response": {
"required": true,
"require": true,
"description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type",
"type": "string"
},
"software-type" : {
"description": "Value to be used as software type instead of the software type id (in order to use multiple diferent forms for the same software type).",
"type": "string"
},
"shared" : {
"description": "Define if the request will request a Slave or Software Instance.",
"type": "boolean"
},
"index": {
"description": "Value to use instead of software type id to sort them (in order to display most relevant software types earlier in a list, for example)",
"type": "any"
"type": "number"
}
},
"type": "object"
......
......@@ -28,7 +28,7 @@ from setuptools import setup, find_packages
import glob
import os
version = '1.0.26.dev0'
version = '1.0.30'
name = 'slapos.cookbook'
long_description = open("README.txt").read() + "\n" + \
open("CHANGES.txt").read() + "\n"
......
......@@ -110,6 +110,7 @@ parts = configure-script
[configure-script]
recipe = hexagonit.recipe.download
ignore-existing = true
location = ${buildout:parts-directory}/${:_buildout_section_name_}
url = url_of_script_name.py
filename = script_name.py
......
......@@ -27,8 +27,10 @@
import os
import hashlib
import ConfigParser
import tempfile
from slapos.recipe.librecipe import GenericBaseRecipe
from certificate_authority import popenCommunicate
class Recipe(GenericBaseRecipe):
......@@ -93,6 +95,13 @@ class Recipe(GenericBaseRecipe):
class Request(Recipe):
def setPath(self):
self.request_directory = self.options['requests-directory']
self.ca_private = self.options['ca-private']
self.ca_certs = self.options['ca-certs']
self.ca_key_ext = '.key'
self.ca_crt_ext = '.crt'
def _options(self, options):
if 'name' not in options:
options['name'] = self.name
......@@ -114,6 +123,7 @@ class Request(Recipe):
# XXX Ugly hack to quickly provide custom certificate/key to everyone using the recipe
if key_content and cert_content:
self._checkCertificateKeyConsistency(key_content, cert_content)
open(key, 'w').write(key_content)
open(certificate, 'w').write(cert_content)
request_needed = False
......@@ -145,3 +155,48 @@ class Request(Recipe):
path_list.append(wrapper)
return path_list
def _checkCertificateKeyConsistency(self, key, certificate, ca=""):
openssl_binary = self.options.get('openssl-binary', 'openssl')
tmpdir = tempfile.mkdtemp()
with open(tmpdir + "/ca", "w") as f:
f.write(ca)
with open(tmpdir + "/key", "w") as f:
f.write(key)
with open(tmpdir + "/cert", "w") as f:
f.write(certificate)
try:
# Simple test if the user/certificates are readable and don't raise
popenCommunicate([openssl_binary, 'x509', '-noout', '-text', '-in', tmpdir + "/cert"])
popenCommunicate([openssl_binary, 'rsa', '-noout', '-text', '-in', tmpdir + "/key"])
# Get md5 to check if the key and certificate matches
modulus_cert = popenCommunicate([openssl_binary, 'x509', '-noout', '-modulus', '-in', tmpdir + "/cert"])
modulus_key = popenCommunicate([openssl_binary, 'rsa', '-noout', '-modulus', '-in', tmpdir + "/key"])
md5sum_cert = popenCommunicate([openssl_binary, 'md5'], modulus_cert)
md5sum_key = popenCommunicate([openssl_binary, 'md5'], modulus_key)
if md5sum_cert != md5sum_key:
raise ValueError("The key and certificate provided don't patch each other. Please check your parameters")
except:
try:
file_list = [tmpdir + "/ca", tmpdir + "/key", tmpdir + "/cert"]
for f in file_list:
if os.path.exists(f):
os.unlink(f)
if os.path.exists(tmpdir):
os.rmdir(tmpdir)
except:
# do not raise during cleanup
pass
raise
else:
pass
......@@ -48,6 +48,14 @@
"description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type",
"type": "string"
},
"software-type" : {
"description": "Value to be used as software type instead of the software type id (in order to use multiple diferent forms for the same software type).",
"type": "string"
},
"shared" : {
"description": "Define if the request will request a Slave or Software Instance.",
"type": "boolean"
},
"index": {
"description": "Value to use instead of software type id to sort them (in order to display most relevant software types earlier in a list, for example)",
"type": "number"
......
......@@ -53,7 +53,7 @@ smmap = 0.9.0
# Required by:
# slapos.toolbox==0.55
GitPython = 1.0.1
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.55
......@@ -69,7 +69,7 @@ lockfile = 0.10.2
# Required by:
# slapos.toolbox==0.55
paramiko = 1.16.0
paramiko = 2.0.0
# Required by:
# slapos.toolbox==0.55
......
......@@ -46,6 +46,7 @@ mode = 0644
[application]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://garr.dl.sourceforge.net/project/ajaxplorer/ajaxplorer/dev-channel/4.3.4/ajaxplorer-core-4.3.4.tar.gz
md5sum = 2f2ff8bda7bbe841ef0e870c724eb74f
strip-top-level-dir = true
......
......@@ -11,6 +11,7 @@ extends =
../../component/stunnel/buildout.cfg
../../component/dcron/buildout.cfg
../../component/logrotate/buildout.cfg
../../component/python-cryptography/buildout.cfg
../../component/rdiff-backup/buildout.cfg
../../component/trafficserver/buildout.cfg
......@@ -37,6 +38,7 @@ parts +=
recipe = zc.recipe.egg
eggs =
${lxml-python:egg}
${python-cryptography:egg}
slapos.toolbox
scripts =
......@@ -78,7 +80,7 @@ mode = 0644
[template-slave-list]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/templates/apache-custom-slave-list.cfg.in
md5sum = c01c0ebb749d16bda4649bf42d36c7ea
md5sum = 7f010ef92fdea8fb4de9bc93c76604ba
mode = 640
[template-slave-configuration]
......@@ -133,7 +135,7 @@ mode = 640
[template-default-slave-virtualhost]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/templates/default-virtualhost.conf.in
md5sum = aed0077ee82aaa7fbd2b7e84ce5fbd69
md5sum = e7a13555b39b3004200b0e46738df8ab
mode = 640
[template-cached-slave-virtualhost]
......@@ -163,6 +165,7 @@ md5sum = 8cde04bfd0c0e9bd56744b988275cfd8
[template-trafficserver-records-config]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/templates/trafficserver/${:filename}
md5sum = 65afeef0229430ad8a6fbc57298b787b
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......@@ -172,6 +175,7 @@ mode = 0644
[template-trafficserver-storage-config]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/templates/trafficserver/${:filename}
md5sum = 23c83efaf2fb0f9f0b3096bbfdda05c1
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......
{
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Input Parameters",
"properties": {
"public-ipv4": {
"title": "Backend URL",
"description": "Url of the backend",
"type": "string"
},
"-frontend-authorized-slave-string": {
"title": "Authorized Slave String",
"description": "List of SOFTINST-XXX of Slaves, separated by space which is allowed to use custom configuration.",
"type": "string"
},
"apache-key": {
"title": "Apache Key",
"description": "Url of the Backend",
"type": "string"
},
"apache-certificate": {
"title": "Apache Certificate",
"description": "Apache Certificate",
"type": "string"
},
"apache-ca-certificate": {
"title": "Apache CA Certificate",
"description": "Apache CA Certificate",
"type": "string"
},
"domain": {
"title": "Domain",
"description": "Base Domain for create subdomains.",
"type": "string",
"pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$"
},
"-frontend-quantity": {
"title": "Frontend Replication Quantity",
"description": "Quantity of Frontends Replicate.",
"type": "integer",
"default": ""
}
}
}
\ No newline at end of file
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Values returned by Apache Frontend instanciation",
"properties": {
"accepted-slave-amount": {
"description": "Amount of Slaves allocated to the Instance which are deployed",
"type": "integer"
},
"slave-amount": {
"description": "Total amount of Slaves allocated to the Instance (include blocked ones)",
"type": "integer"
},
"reject-slave-amount": {
"description": "Rejected Amount of Slaves allocated to the Instance which are not deployed",
"type": "integer"
},
"rejected-slave-list": {
"description": "List of slave instances references which are rejected",
"type": "array"
},
"domain": {
"description": "Base domain used by the instance",
"type": "string"
},
"monitor-base-url": {
"description": "Base url for monitor",
"type": "string"
},
"monitor-url": {
"description": "Url of Monitor (opml)",
"type": "string"
},
"monitor-password": {
"description": "Password to access the monitor",
"type": "string"
},
"monitor-user": {
"description": "User to access the monitor",
"type": "string"
}
},
"type": "object"
}
......@@ -49,12 +49,14 @@
"title": "SSL Certificate",
"description": "SSL Certificate",
"type": "string",
"textarea": true,
"default": ""
},
"ssl_key": {
"title": "SSL Key",
"description": "SSL Key",
"type": "string",
"textarea": true,
"default": ""
},
......@@ -62,6 +64,7 @@
"title": "SSL Certificate Authority's Certificate",
"description": "SSL Key",
"type": "string",
"textarea": true,
"default": ""
},
"https-only": {
......@@ -130,12 +133,14 @@
"title": "HTTP configuration",
"description": "Raw http configuration in python template format. Your site will be rejected if you use it without notification and approval of the frontend adminastrator",
"default": "",
"textarea": true,
"type": "string"
},
"apache_custom_https": {
"title": "HTTPS configuration",
"description": "Raw https configuration in python template format. Your site will be rejected if you use it without notification and approval of the frontend adminastrator",
"default": "",
"textarea": true,
"type": "string"
}
}
......
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Values returned by Apache Frontend instanciation",
"properties": {
"replication_number": {
"description": "Number of nodes the slave is replicated",
"type": "integer"
},
"domain": {
"description": "Base domain used by the instance",
"type": "string"
},
"url": {
"description": "Default URL provided",
"type": "string"
},
"site_url": {
"description": "URL for HTTP access",
"type": "string"
},
"secure_access": {
"description": "URL for HTTP access",
"type": "string"
},
"public-ipv4": {
"description": "Public IPv4 to be included on DNS",
"type": "string"
},
"log-access-url": {
"description": "List of URLs to access logs",
"type": "array"
}
},
"type": "object"
}
......@@ -16,7 +16,7 @@ smmap = 0.9.0
# Required by:
# slapos.toolbox==0.55
GitPython = 1.0.1
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.55
......@@ -32,7 +32,7 @@ lockfile = 0.10.2
# Required by:
# slapos.toolbox==0.55
paramiko = 1.16.0
paramiko = 2.0.0
# Required by:
# slapos.toolbox==0.55
......
{
"name": "Apache Frontend",
"description": "Apache Frontend",
"serialisation": "xml",
"software-type": {
"custom-personal-slave": {
"title": "Custom Personal (Slave)",
"description": "Custom Personal",
"request": "instance-slave-apache-input-schema.json",
"response": "instance-output-schema.json",
"index": 1,
"software-type": "custom-personal",
"shared": true
},
"custom-personal": {
"title": "Custom Personal",
"description": "",
"request": "instance-apache-input-schema.json",
"response": "instance-output-schema.json",
"index": 2
},
"default": {
"title": "Default",
"software-type": "default",
"description": "Default",
"request": "instance-slave-apache-input-schema.json",
"response": "instance-output-schema.json",
"index": 3
},
"default-slave": {
"title": "Default (slave)",
"software-type": "default",
"description": "Default",
"request": "instance-slave-apache-input-schema.json",
"response": "instance-output-schema.json",
"index": 3,
"shared": true
}
}
}
......@@ -98,7 +98,7 @@ command = {{frontend_configuration.get('apache-directory')}}/bin/htpasswd -cb ${
#### Set Slave Certificates if needed
# Set ssl certificates for each slave
{% for cert_name in ('ssl_key', 'ssl_crt', 'ssl_ca_crt', 'ssl_csr', 'ssl_proxy_ca_crt')-%}
{% for cert_name in ('ssl_ca_crt', 'ssl_csr', 'ssl_proxy_ca_crt')-%}
{% if cert_name in slave_instance -%}
{% set cert_title = '%s-%s' % (slave_reference, cert_name.replace('ssl_', '')) -%}
{% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) -%}
......@@ -118,6 +118,41 @@ value = {{ dumps(slave_instance.get(cert_name)) }}
{% endif -%}
{% endfor -%}
[cadirectory]
recipe = slapos.cookbook:mkdirectory
requests = {{ custom_ssl_directory }}/requests/
private = {{ custom_ssl_directory }}/private/
certs = {{ custom_ssl_directory }}/certs/
newcerts = {{ custom_ssl_directory }}/newcerts/
crl = {{ custom_ssl_directory }}/crl/
{% if 'ssl_key' in slave_instance and 'ssl_crt' in slave_instance -%}
{% set cert_title = '%s-crt' % (slave_reference) -%}
{% set key_title = '%s-key' % (slave_reference) -%}
{% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) -%}
{% set key_file = '/'.join([custom_ssl_directory, key_title.replace('-','.')]) -%}
{% do part_list.append(cert_title) -%}
{% do slave_instance.__setitem__('path_to_ssl_crt', cert_file) -%}
{% do slave_instance.__setitem__('path_to_ssl_key', key_file) -%}
[{{cert_title}}]
recipe = slapos.cookbook:certificate_authority.request
#openssl-binary = ${openssl:location}/bin/openssl
requests-directory = ${cadirectory:requests}
ca-private = ${cadirectory:private}
ca-certs = ${cadirectory:certs}
ca-newcerts = ${cadirectory:newcerts}
ca-crl = ${cadirectory:crl}
key-file = {{ key_file }}
cert-file = {{ cert_file }}
key-content = {{ dumps(slave_instance.get('ssl_key')) }}
cert-content = {{ dumps(slave_instance.get('ssl_crt')) }}
{% endif -%}
############################
#### Set Slave Configuration
......
......@@ -78,7 +78,7 @@
# First, we check if we have a zope backend server
# If so, let's use Virtual Host Daemon rewrite
# We suppose that Apache listens to 443 (even indirectly thanks to things like iptables)
RewriteRule ^/(.*)$ {{ slave_parameter.get('url', '') }}/VirtualHostBase/https/{{ slave_parameter.get('custom_domain', '') }}:443/{{ slave_parameter.get('path', '') }}/VirtualHostRoot/$1 [L,P]
RewriteRule ^/(.*)$ {{ slave_parameter.get('url', '') }}/VirtualHostBase/https//%{SERVER_NAME}:443/{{ slave_parameter.get('path', '') }}/VirtualHostRoot/$1 [L,P]
{% elif slave_parameter.get('type', '') == 'redirect' -%}
RewriteRule (.*) {{slave_parameter.get('url', '')}}$1 [R,L]
{% else -%}
......@@ -160,7 +160,7 @@
# First, we check if we have a zope backend server
# If so, let's use Virtual Host Daemon rewrite
# We suppose that Apache listens to 80 (even indirectly thanks to things like iptables)
RewriteRule ^/(.*)$ {{ slave_parameter.get('url', '') }}/VirtualHostBase/http/{{ slave_parameter.get('custom_domain', '') }}:80/{{ slave_parameter.get('path', '') }}/VirtualHostRoot/$1 [L,P]
RewriteRule ^/(.*)$ {{ slave_parameter.get('url', '') }}/VirtualHostBase/http/%{SERVER_NAME}:80/{{ slave_parameter.get('path', '') }}/VirtualHostRoot/$1 [L,P]
{% else -%}
{% if 'default-path' in slave_parameter %}
RewriteRule ^/?$ {{ slave_parameter.get('default-path') }} [R=301,L]
......
......@@ -24,6 +24,7 @@ md5sum = 4a286795a6822ee6d53743191d5374a6
#Download Boinc Application Binary and configure project
[application]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${boinc:location}/libexec/examples/upper_case
download-only = true
filename = upper_case
......
......@@ -32,6 +32,7 @@ md5sum = 4cf5a1a44bc7185f8882ab7247f309fc
[bonjourgrid]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/bonjourgrid.src/bonjourgrid.slapos.tar.gz
md5sum = 5b4594b8451d83eedfa5224dbdcbb872
......@@ -45,6 +46,7 @@ mode = 0644
[computer-info]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/templates/machineinfo.worker.sh.in
md5sum = 994fcb4dff1c86755b27f7c4a085e24a
filename = machineinfo.worker.sh.in
......
......@@ -50,6 +50,7 @@ md5sum = 59cc789d6ce765d3d25f9bd6f9659e55
[bonjourgrid]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/bonjourgrid.src/bonjourgrid.slapos.tar.gz
md5sum = 5b4594b8451d83eedfa5224dbdcbb872
......@@ -70,6 +71,7 @@ md5sum = 8b223d1fe0ffd40c7151766730da7fcb
#Download Boinc Application Binary and configure project
[application]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${boinc:location}/libexec/examples/upper_case
download-only = true
filename = upper_case
......
......@@ -50,12 +50,14 @@
"title": "SSL Certificate",
"description": "SSL Certificate",
"type": "string",
"textarea": true,
"default": ""
},
"frontend-ssl_key": {
"title": "SSL Key",
"description": "SSL Key",
"type": "string",
"textarea": true,
"default": ""
},
......@@ -63,61 +65,57 @@
"title": "SSL Certificate Authority's Certificate",
"description": "SSL Key",
"type": "string",
"textarea": true,
"default": ""
},
"frontend-https-only": {
"title": "HTTPS Only",
"description": "If set to true, http request are redirect to https",
"type": "string",
"default": "false",
"enum": ["false", "true"]
"type": "boolean",
"default": false
},
"frontend-ssl-proxy-verify": {
"title": "Verify Backend Certificates",
"description": "If set to true, Backend Certificates are checked",
"type": "string",
"default": "false",
"enum": ["false", "true"]
"type": "boolean",
"default": false
},
"frontend-ssl_proxy_ca_crt": {
"title": "SSL Backend Authority's Certificate",
"description": "SSL Certificate Authority of the backen (to be used with ssl-proxy-verify)",
"type": "string",
"textarea": true,
"default": ""
},
"frontend-enable_cache": {
"title": "Enable Cache",
"description": "If set to true, the cache is used",
"type": "string",
"default": "false",
"enum": ["false", "true"]
"type": "boolean",
"default": false
},
"frontend-disable-no-cache-request": {
"title": "Disable 'no-cache' requests",
"description": "If set to true, no-cache control headers will be disabled",
"type": "string",
"default": "false",
"enum": ["false", "true"]
"type": "boolean",
"default": false
},
"frontend-disable-via-header": {
"title": "Disable 'Via' headers from cache",
"description": "If set to true, via headers will be disabled",
"type": "string",
"default": "false",
"enum": ["false", "true"]
"type": "boolean",
"default": false
},
"frontend-prefer-gzip-encoding-to-backend": {
"title": "Prefer gzip Encoding for Backend",
"description": "If set to true, if a request is made with accept encoding 'gzip', only that one will be transferred to the backend",
"type": "string",
"default": "false",
"enum": ["false", "true"]
"type": "boolean",
"default": false
},
"frontend-disabled-cookie-list": {
......
{
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Input Parameters",
"properties": {
"port": {
"title": "Backend port",
"description": "Port where the service is running on the backend",
"default": 80,
"type": "integer"
},
"frontend-custom_domain": {
"title": "Custom Domain",
"description": "Custom Domain to use for the website",
"type": "string",
"pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$"
},
"frontend-server-alias": {
"title": "Server Alias",
"description": "Server Alias List separated by space",
"type": "string",
"default": ""
},
"frontend-type": {
"title": "Backend Type",
"description": "Type of slave. If redirect, the slave will redirect to the given url. If zope, the rewrite rules will be compatible with Virtual Host Monster",
"type": "string",
"default": "",
"enum": ["", "zope", "redirect"]
},
"frontend-path": {
"title": "Backend Path",
"description": "Path to proxy to in the backend",
"type": "string",
"default": ""
},
"frontend-default-path": {
"title": "Default Path",
"description": "Provide default path to redirect user to",
"type": "string",
"default": ""
},
"frontend-https-only": {
"title": "HTTPS Only",
"description": "If set to true, http request are redirect to https",
"type": "boolean",
"default": false
},
"frontend-enable_cache": {
"title": "Enable Cache",
"description": "If set to true, the cache is used",
"type": "boolean",
"default": false
}
}
}
......@@ -6,9 +6,17 @@
"default": {
"title": "Default",
"description": "Re6st registry",
"request": "instance-cdn-me-input-schema.json",
"request": "instance-cdn-me-simplified-input-schema.json",
"response": "instance-cdn-me-output-schema.json",
"index": 0
},
"default-advanced": {
"title": "Default (Advanced Form)",
"software-type": "default",
"description": "Re6st registry",
"request": "instance-cdn-me-input-schema.json",
"response": "instance-cdn-me-output-schema.json",
"index": 1
}
}
}
......@@ -29,6 +29,7 @@ eggs = ${instance-recipe:egg}
[application]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://garr.dl.sourceforge.net/project/ajaxplorer/ajaxplorer/dev-channel/4.3.4/ajaxplorer-core-4.3.4.tar.gz
md5sum = 2f2ff8bda7bbe841ef0e870c724eb74f
strip-top-level-dir = true
......
......@@ -79,7 +79,7 @@
"software-type": {
"description": "Request a front-end slave instance of this software type.",
"default": "RootSoftwareInstance",
"type": ""
"type": "object"
}
},
"type": "object"
......
......@@ -79,7 +79,7 @@ plone.recipe.command = 1.1
# Required by:
# slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.40.2
......@@ -91,4 +91,4 @@ feedparser = 5.1.3
# Required by:
# slapos.toolbox==0.40.2
paramiko = 1.16.0
paramiko = 2.0.0
......@@ -7,23 +7,8 @@ parts =
promise-httpd-ipv6
publish-connection-information
## Monitoring part
###Parts to add for monitoring
certificate-authority
cron-entry-monitor
cron-entry-rss
deploy-index
deploy-settings-cgi
deploy-status-cgi
deploy-status-history-cgi
setup-static-files
zero-parameters
public-symlink
cgi-httpd-wrapper
cgi-httpd-graceful-wrapper
monitor-promise
monitor-instance-log-access
## Monitor for apache
## Monitoring part
monitor-base
extends = ${monitor-template:output}
......
......@@ -24,12 +24,13 @@ mode = 0644
[template-html5-ide]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-html5ide.cfg
md5sum = e4d8adb5b7f0e5bf6ea12e47c5a13f8e
md5sum = 21331b97b1fffe3567fdbb079ff147b9
output = ${buildout:directory}/template-html5ide.cfg
mode = 0644
[template_httpd_conf]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/httpd.conf.jinja2
download-only = true
md5sum = 97d84138323b1e3214847b1b7de9a10e
......
......@@ -6,7 +6,6 @@ parts =
kernel-json
custom-js
extends = {{ monitor_template }}
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
......@@ -80,31 +79,6 @@ mode = 0744
context =
raw config_cfg ${buildout:directory}/knowledge0.cfg
[monitor-instance-parameter]
monitor-base-url = ${monitor-frontend-promise:url}
# XXX Monitor will request frontend and check frontend promise
# If required use ipv6 url bellow
#monitor-base-url = ${monitor-httpd-conf-parameter:url}
cors-domains = ${slap-parameter:monitor-cors-domains}
[monitor-conf-parameters]
private-path-list +=
${instance-parameter:logfile}
# XXX need to convert this for new Monitor
[monitor-deploy-set-password-cgi]
<= dynamic-jinja2-template-base
template = {{ ipython_notebook_set_password_location }}/{{ ipython_notebook_set_password_filename }}
rendered = ${directory:etc}/${:filename}
filename = ipython-notebook-password.cgi
mode = 0744
context =
raw config_cfg ${buildout:directory}/knowledge0.cfg
raw python_executable {{ bin_directory }}/ipython
# key pwd monitor-directory:knowledge0-cgi
key this_file :filename
# key httpd_graceful cgi-httpd-graceful-wrapper:rendered
[directory]
recipe = slapos.cookbook:mkdirectory
home = ${buildout:directory}
......@@ -123,10 +97,6 @@ erp5_kernel_dir = ${:ipython_kernel_dir}/ERP5
[publish-connection-parameter]
recipe = slapos.cookbook:publish.serialised
url = https://[${instance-parameter:host}]:${instance-parameter:port}
monitor-base-url = ${publish:monitor-base-url}
monitor-url = ${publish:monitor-url}
monitor-user = ${publish:monitor-user}
monitor-password = ${publish:monitor-password}
[erp5-kernel]
<= dynamic-jinja2-template-base
......@@ -154,5 +124,3 @@ template = {{ custom_js_location }}/{{ custom_js_filename }}
rendered = ${directory:ipython_dir}/profile_default/static/custom/custom.js
mode = 0744
[slap-parameter]
monitor-cors-domains = monitor.node.vifib.com
......@@ -2,14 +2,12 @@
versions = versions
extends =
../../stack/slapos.cfg
../../stack/monitor/buildout.cfg
../../component/ipython/buildout.cfg
../../component/scipy/buildout.cfg
../../component/scikit-learn/buildout.cfg
../../component/pandas/buildout.cfg
../../component/openssl/buildout.cfg
parts =
monitor-eggs
slapos-cookbook
ipython-notebook
instance-jupyter
......@@ -25,6 +23,7 @@ eggs +=
[download-file-base]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename}
download-only = true
destination = ${buildout:parts-directory}/${:_buildout_section_name_}
......@@ -60,12 +59,11 @@ recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg.in
rendered = ${buildout:directory}/template.cfg
mode = 0644
md5sum = 060487563061b596af08815bf146190b
md5sum = 26a28b74c8b18c92108c751b87abe80c
context =
key bin_directory buildout:bin-directory
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
key monitor_template monitor-template:rendered
key openssl_output openssl-output:openssl
key python_executable python2.7:executable
key ipython_notebook_config_location ipython-notebook-config:location
......
......@@ -45,6 +45,8 @@ parts =
[eggs]
recipe = zc.recipe.egg
eggs =
${python-cffi:egg}
${python-cryptography:egg}
${lxml-python:egg}
websockify
slapos.cookbook
......@@ -96,6 +98,7 @@ mode = 0644
[template-kvm]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2
mode = 644
md5sum = 88d7622b207760f4c0bdb1b149730478
......@@ -104,6 +107,7 @@ on-update = true
[template-kvm-cluster]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in
mode = 644
md5sum = d5c3728faa0972c55506b6cfc2359b59
......@@ -112,6 +116,7 @@ on-update = true
[template-kvm-resilient]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2
mode = 644
md5sum = e7c613f15fec8b440180d3c26476ed18
......@@ -120,6 +125,7 @@ on-update = true
[template-kvm-resilient-test]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-resilient-test.cfg.jinja2
md5sum = e3d275621420f0b8c081228caeb571f9
mode = 0644
......@@ -128,6 +134,7 @@ on-update = true
[template-kvm-import]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-import.cfg.jinja2.in
md5sum = 3177381b65b4b95ba29190a6ac03b771
mode = 0644
......@@ -136,6 +143,7 @@ on-update = true
[template-kvm-import-script]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/kvm-import.sh.jinja2
filename = kvm-import.sh.jinja2
md5sum = 926a11421921c29f91fae8240bbcf585
......@@ -144,6 +152,7 @@ mode = 0755
[template-kvm-export]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-export.cfg.jinja2
mode = 644
md5sum = ff281bf8a8905632b32254622db105b7
......@@ -152,6 +161,7 @@ on-update = true
[template-kvm-export-script]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/kvm-export.sh.jinja2
filename = kvm-export.sh.jinja2
md5sum = 22bd2e0c8fdb39a764a14c403a3bd752
......@@ -174,6 +184,7 @@ mode = 0644
[template-ansible-promise]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/ansible-promise.in
md5sum = d0bd07d5a7799b7aea7720ffdf46f322
mode = 0644
......@@ -182,6 +193,7 @@ filename = ansible-promise.in
[template-kvm-run]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/template-kvm-run.in
mode = 644
filename = template-kvm-run.in
......@@ -191,6 +203,7 @@ on-update = true
[template-kvm-controller]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/kvm-controller-run.in
mode = 644
filename = kvm-controller-run.in
......@@ -200,6 +213,7 @@ on-update = true
[template-apache-conf]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/apache.conf.in
mode = 644
filename = apache.conf.in
......@@ -209,6 +223,7 @@ on-update = true
[template-content]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/template-content.in
mode = 644
filename = template-content.in
......
......@@ -19,7 +19,7 @@ develop =
[slapos.cookbook-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/slapos.git
branch = kvm-cluster
branch = master
git-executable = ${git:location}/bin/git
[slapos.core-repository]
......
......@@ -20,7 +20,7 @@ pycurl = 7.19.5.1
# Required by:
# slapos.toolbox==0.48
GitPython = 1.0.1
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.48
......@@ -44,7 +44,7 @@ numpy = 1.9.2
# Required by:
# slapos.toolbox==0.48
paramiko = 1.16.0
paramiko = 2.0.0
# Required by:
# slapos.toolbox==0.48
......
......@@ -2,6 +2,7 @@
extends =
../../component/pycurl/buildout.cfg
../../component/python-cryptography/buildout.cfg
../../component/wget/buildout.cfg
../../stack/monitor/buildout.cfg
../../component/fluentd/buildout.cfg
......@@ -77,6 +78,7 @@ recipe = zc.recipe.egg
eggs =
${lxml-python:egg}
${pycurl:egg}
${python-cryptography:egg}
slapos.toolbox
scripts =
......@@ -99,22 +101,18 @@ eggs =
[versions]
PyRSS2Gen = 1.1
apache-libcloud = 1.0.0rc2
cns.recipe.symlink = 0.2.3
plone.recipe.command = 1.1
slapos.recipe.template = 2.7
rubygemsrecipe = 0.2.1
pycurl = 7.19.5.1
apache-libcloud = 0.16.0
ecdsa = 0.11
gitdb = 0.6.0
pycrypto = 2.6.1
gitdb = 0.6.4
pycurl = 7.43.0
rubygemsrecipe = 0.2.2
slapos.recipe.template = 2.9
slapos.toolbox = 0.55
smmap = 0.8.3
smmap = 0.9.0
# Required by:
# slapos.toolbox==0.55
GitPython = 0.3.2.1
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.55
......@@ -122,17 +120,12 @@ atomize = 0.2.0
# Required by:
# slapos.toolbox==0.55
feedparser = 5.1.3
feedparser = 5.2.1
# Required by:
# slapos.toolbox==0.55
paramiko = 1.16.0
lockfile = 0.12.2
# Required by:
# slapos.toolbox==0.55
lockfile = 0.10.2
# Required by:
# slapos.toolbox==0.55
rpdb = 0.1.5
paramiko = 2.0.0
......@@ -84,7 +84,7 @@ context =
recipe = slapos.recipe.template:jinja2
template = {{ scripts_dir }}/cros_full_build.in
rendered = ${directory:run}/cros_full_build
md5sum = d2c41ded046c75473eda0f923ee215e2
md5sum = 75599e6b8418a5f3756c7c7b26600399
mode = 0700
context =
key bash_path bin:bash
......
......@@ -128,7 +128,7 @@ for board in ${BOARDS} ; do
cp {{ logo_dir }}/* {{ cros_location }}/{{ branch }}/src/platform/chromiumos-assets/images_100_percent/
cp {{ logo_dir }}/* {{ cros_location }}/{{ branch }}/src/platform/chromiumos-assets/images_200_percent/
NAYU_IMAGE_LOCATION=${board}.nayuos.img
NAYU_IMAGE_LOCATION=/tmp/${board}.nayuos.img
# rebuild packages with boot pictures
cros_sdk -- ./build_packages --board=${board} >> "${BUILD_LOG}"
......@@ -139,8 +139,8 @@ for board in ${BOARDS} ; do
cros_sdk -- ./build_image --board=${board} dev >> "${BUILD_LOG}" \
&& cros_sdk -- rm -f $NAYU_IMAGE_LOCATION && cros_sdk -- touch $NAYU_IMAGE_LOCATION \
&& cros_sdk -- cros flash --board=${board} file://$NAYU_IMAGE_LOCATION >> "${BUILD_LOG}" \
&& cros_sdk -- ./test_nayuos_image ${board} > "${TEST_LOG}" \
|| { echo "An error occured while building ${board} NayuOS image. Exiting." ; exit 1 ;}
# && cros_sdk -- ./test_nayuos_image ${board} > "${TEST_LOG}" \
# save ~15Go/device but delete cache (next build will be as long)
if [ ${KEEP_CACHE,,} == "no" ] ; then
......@@ -159,7 +159,7 @@ done
RELEASE=$(echo ${BRANCH} | cut -d- -f2)
DIR_IMAGE_LOCATION={{ cros_location }}/images/${RELEASE}/$(date +'%F')
install ${DIR_IMAGE_LOCATION} -d
mv {{ cros_location }}/{{ branch }}/src/scripts/*.img ${DIR_IMAGE_LOCATION}
mv {{ cros_location }}/{{ branch }}/chroot/tmp/*.img ${DIR_IMAGE_LOCATION}
cd ${DIR_IMAGE_LOCATION}
for hashfunction in md5sum sha1sum sha256sum sha512sum; do
......
......@@ -35,7 +35,7 @@ command = sudo -V
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg
rendered = ${buildout:directory}/instance.cfg
md5sum = 875d7fd5990a8645e761849193b09630
md5sum = be6bd665c0b356a84090d200ea14b33c
mode = 0644
scripts_dir = ${:_profile_base_location_}/scripts
logo_dir = ${:_profile_base_location_}/logo
......
......@@ -15,7 +15,7 @@ extends =
#END LXML
../../component/patch/buildout.cfg
../../component/python-mysqlclient/buildout.cfg
../../component/pycrypto-python/buildout.cfg
../../component/python-cryptography/buildout.cfg
parts =
# keep neoppod first so that ZODB3 is built correctly,
......@@ -50,7 +50,7 @@ recipe = zc.recipe.egg
eggs =
${lxml-python:egg}
${python-PyYAML:egg}
${pycrypto-python:egg}
${python-cryptography:egg}
${python-cliff:egg}
slapos.toolbox
scripts =
......@@ -121,10 +121,10 @@ apache-libcloud = 0.20.1
atomize = 0.2.0
ecdsa = 0.13
feedparser = 5.2.1
GitPython = 1.0.2
GitPython = 2.0.2
gitdb = 0.6.4
lockfile = 0.10.2
mysqlclient = 1.3.7
paramiko = 1.16.0
paramiko = 2.0.0
pycrypto = 2.6.1
smmap = 0.9.0
......@@ -42,7 +42,7 @@ ZODB3 = 3.10.5+SlapOSPatched002
erp5.util = 0.4.44
# To match ERP5
transaction = 1.1.1
ZConfig = 2.9.1
ZConfig = 2.9.3
zc.lockfile = 1.0.2
zdaemon = 2.0.7
zope.event = 3.5.2
......
......@@ -60,6 +60,20 @@
"description": "Template used to generate DNS domain name",
"type": "string",
"default": "ns%s. + zone"
},
"monitor-interface-url": {
"title": "Monitor Web Interface URL",
"description": "Give Url of HTML web interface that will be used to render this monitor instance.",
"type": "string",
"format": "uri",
"default": "https://monitor.app.officejs.com"
},
"monitor-cors-domains": {
"title": "Monitor CORS domains",
"description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.",
"type": "string",
"default": "monitor.app.officejs.com"
}
}
}
......@@ -13,6 +13,7 @@ context =
${:extra-context}
{% set part_list = [] -%}
{% set monitor_url_list = [] -%}
{% set single_type_key = 'single-' %}
{% if slap_software_type in ("replicate", "RootSoftwareInstance") %}
{% set dns_type = slapparameter_dict.pop('-dns-type', 'single-default') -%}
......@@ -67,9 +68,27 @@ config-soa = {{ "%s,%s" % (dns_domain, server_admin) }}
{% for parameter in sla_parameters -%}
sla-{{ parameter }} = {{ slapparameter_dict.pop( sla_key + parameter ) }}
{% endfor -%}
{% do monitor_url_list.append('${' ~ request_section_title ~ ':connection-monitor-base-url}') -%}
{% endfor -%}
[monitor-htpasswd]
recipe = slapos.cookbook:generate.password
storage-path = ${directory:etc}/.monitor_user
bytes = 8
username = admin
[monitor-instance-parameter]
monitor-httpd-port = 8099
cors-domains = {{ slapparameter_dict.get('monitor-cors-domains', 'monitor.app.officejs.com') }}
username = ${monitor-htpasswd:username}
password = ${monitor-htpasswd:passwd}
[monitor-conf-parameters]
monitor-url-list +=
{% for url in monitor_url_list -%}
{{ ' ' ~ url }}
{% endfor %}
{% set ns_record = slapparameter_dict.pop('ns-record', ','.join(dns_domain_list)) %}
[replicate]
......@@ -82,26 +101,36 @@ software-url = {{ slapparameter_dict.pop(dns_software_url_key) }}
software-url = ${slap-connection:software-release-url}
{% endif %}
software-type = {{dns_type}}
return = private-ipv4 public-ipv4 slave-instance-information-list monitor_url
return = private-ipv4 public-ipv4 slave-instance-information-list monitor-base-url
config-server-admin = {{ server_admin }}
config-ns-record = {{ ns_record }}
{% for parameter, value in slapparameter_dict.iteritems() -%}
config-{{parameter}} = {{ value }}
{% endfor -%}
config-{{ slave_list_name }} = {{ json_module.dumps(slave_instance_list) }}
connection-monitor_url =
config-monitor-cors-domains = {{ slapparameter_dict.get('monitor-cors-domains', 'monitor.node.vifib.com') }}
config-monitor-username = ${monitor-htpasswd:username}
config-monitor-password = ${monitor-htpasswd:passwd}
[publish-information]
recipe = slapos.cookbook:publish
domain = {{ slapparameter_dict.get('domain') }}
slave-amount = {{ slave_instance_list | length }}
ns-record = {{ ns_record }}
{% for dns in dns_section_list %}
{{ dns }}-monitor-url = {{ '${' + dns + ':connection-monitor_url}' }}
{% endfor -%}
monitor-url = ${publish:monitor-url}
monitor-user = ${publish:monitor-user}
monitor-password = ${publish:monitor-password}
{% set monitor_interface_url = slapparameter_dict.get('monitor-interface-url', 'https://monitor.app.officejs.com') -%}
{% if monitor_interface_url -%}
monitor-setup-url = {{ monitor_interface_url }}/#page=settings_configurator&url=${publish:monitor-url}
{% endif -%}
[buildout]
extends =
{{ template_monitor }}
parts =
monitor-base
publish-information
{% for part in part_list -%}
{{ ' %s' % part }}
......
......@@ -99,6 +99,12 @@ path = $${directory:promise}/pdns-port-listening
hostname = $${pdns:local-ipv4}
port = $${pdns:port}
[publish-connection-informations]
recipe = slapos.cookbook:publish
monitor-url = $${publish:monitor-url}
monitor-user = $${publish:monitor-user}
monitor-password = $${publish:monitor-password}
#####################
# Power DNS Slave configuration
#
......@@ -131,28 +137,11 @@ parts =
pdns-server
pdns-reload
pdns-promise-listen-port
monitor-base
publish-connection-informations
{% for part in part_list %}
{{ ' %s' % part }}
{% endfor %}
## Monitoring part
###Parts to add for monitoring
cron
certificate-authority
cron-entry-monitor
cron-entry-rss
deploy-index
deploy-settings-cgi
deploy-status-cgi
deploy-status-history-cgi
setup-static-files
certificate-authority
zero-parameters
public-symlink
cgi-httpd-wrapper
cgi-httpd-graceful-wrapper
monitor-promise
monitor-instance-log-access
extends = ${monitor-template:output}
......
......@@ -43,7 +43,7 @@ extensions = jinja2.ext.do
extra-context =
# Must match the key id in [switch-softwaretype] which uses this section.
raw software_type RootSoftwareInstance-default
raw template_monitor monitor-template:output
[slap-parameters]
recipe = slapos.cookbook:slapconfiguration
......
......@@ -18,14 +18,14 @@ eggs =
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
md5sum = d2b12e0a1876849ed200ee5af6d1e618
md5sum = 19116ef08be2e9b5bda5e3e5139e45ac
output = ${buildout:directory}/template.cfg
mode = 0644
[template-powerdns]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-powerdns.cfg
md5sum = e90f6ac8e3b7fb1284c86565ffa146c6
md5sum = 06ad5bc18936b04b0bd566353047d02f
output = ${buildout:directory}/template-powerdns.cfg
mode = 0644
......@@ -38,11 +38,12 @@ mode = 640
[template-dns-replicate]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-powerdns-replicate.cfg.jinja2
md5sum = 83cedc8fa923c59ca900b4600cc1c52f
md5sum = ff2ac1f61fdd57fb349e209b9950f117
mode = 0644
[iso-list]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/zz.countries.nexedi.dk.rbldnsd
md5sum = 078bbe893aae7272270b4ec22505de33
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......@@ -52,6 +53,7 @@ mode = 0644
[template-cdn-conf]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/cdn.conf.in
md5sum = 9d9b431d8373c2e1850f3cef5ae1898a
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......
......@@ -8,6 +8,7 @@ extends =
../../component/openssl/buildout.cfg
../../component/logrotate/buildout.cfg
../../component/apache/buildout.cfg
../../component/python-cryptography/buildout.cfg
../../stack/slapos.cfg
parts =
......@@ -23,6 +24,7 @@ parts =
recipe = zc.recipe.egg
eggs =
${lxml-python:egg}
${python-cryptography:egg}
slapos.toolbox
scripts =
slapos-kill
......@@ -115,7 +117,7 @@ smmap = 0.9.0
# Required by:
# slapos.toolbox==0.55
GitPython = 0.3.6
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.55
......@@ -139,7 +141,7 @@ miniupnpc = 1.9
# Required by:
# slapos.toolbox==0.55
paramiko = 1.16.0
paramiko = 2.0.0
# Required by:
# slapos.toolbox==0.55
......
......@@ -59,6 +59,7 @@ mode = 0644
[template-runner-import-script]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/runner-import.sh.jinja2
download-only = true
md5sum = d7f88b58b2508ce5af42ea7d7241626e
......@@ -74,6 +75,7 @@ mode = 0644
[template-runner-export-script]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/runner-export.sh.jinja2
download-only = true
md5sum = 9dc934fe5015ff53869830a833266192
......@@ -96,6 +98,7 @@ mode = 0644
[template-resilient-test]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-resilient-test.cfg.jinja2
download-only = true
md5sum = fb8c45e5c35548331fb06c4633ec592a
......@@ -104,6 +107,7 @@ mode = 0644
[template_nginx_conf]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/nginx_conf.in
download-only = true
md5sum = e6c2e1dd2153afefa0805c4065066e4e
......@@ -112,6 +116,7 @@ mode = 0644
[template_httpd_conf]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/httpd_conf.in
download-only = true
md5sum = 505edf5a6a39edf0238bd42934503f1b
......@@ -128,6 +133,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
[template-slapos-cfg]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename}
md5sum = f406b91c5b0261b198a1c1930c195071
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......@@ -137,6 +143,7 @@ mode = 0644
[template-parameters]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename}
md5sum = f8446fcf254b4929eb828a9a1d7e5f62
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......@@ -146,6 +153,7 @@ mode = 0644
[template-bash-profile]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename}
md5sum = 1c88cbca0c1e705eeb4b544ef4616097
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......@@ -155,6 +163,7 @@ mode = 0644
[template-supervisord]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename}
md5sum = d294d0dafd265048399de6da8c96345f
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......@@ -164,6 +173,7 @@ mode = 0644
[template-listener-slapgrid]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename}
md5sum = 49d50410cf7467175a841eb7cd0d93d4
location = ${buildout:parts-directory}/${:_buildout_section_name_}
......@@ -173,6 +183,7 @@ mode = 0644
[monitor-check-webrunner-internal-instance]
recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename}
download-only = true
#md5sum = 4c44d617d5bfd1db8695200e896480c0
......
......@@ -4,6 +4,7 @@
"user-authorized-key": {
"title": "User Authorized Key",
"description": "SSH public key in order to connect to the SSH server of this runner instance.",
"textarea": true,
"type": "string"
},
"instance-amount": {
......@@ -121,6 +122,23 @@
"description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.",
"type": "string",
"default": "monitor.app.officejs.com"
},
"cpu-usage-ratio": {
"title": "CPU Usage Ratio",
"description": "Ratio of the CPU use for compilation, if value is set to n, compilation will use number-of-cpu/n of cpus (need instance restart)",
"type": "integer",
"default" : 4
},
"resilient-clone-number": {
"title": "Number of Resilient Clones",
"description": "Number of clones to be deployed when a resilient runner, if missing a single clone is provided. Its value can be 1 or 2",
"type": "integer",
"enum": [1, 2]
},
"instance-name": {
"title": "Instance Name",
"description": "Name of the instance, to show in the window title",
"type": "string"
}
}
}
......@@ -15,7 +15,7 @@ collective.recipe.environment = 0.2.0
ecdsa = 0.13
erp5.util = 0.4.44
gitdb = 0.6.4
gunicorn = 19.4.5
gunicorn = 19.5.0
prettytable = 0.7.2
pycrypto = 2.6.1
slapos.recipe.template = 2.9
......@@ -24,7 +24,7 @@ smmap = 0.9.0
# Required by:
# slapos.toolbox==0.55
GitPython = 1.0.2
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.55
......@@ -40,4 +40,4 @@ lockfile = 0.10.2
# Required by:
# slapos.toolbox==0.55
paramiko = 1.16.0
paramiko = 2.0.0
......@@ -75,7 +75,7 @@ smmap = 0.8.2
# Required by:
# slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.40.2
......@@ -87,4 +87,4 @@ feedparser = 5.1.3
# Required by:
# slapos.toolbox==0.40.2
paramiko = 1.16.0
paramiko = 2.0.0
......@@ -29,6 +29,7 @@ extends =
../../component/percona-toolkit/buildout.cfg
../../component/patch/buildout.cfg
../../component/pillow/buildout.cfg
../../component/pycrypto-python/buildout.cfg
../../component/pysvn-python/buildout.cfg
../../component/python-ldap-python/buildout.cfg
../../component/rdiff-backup/buildout.cfg
......@@ -131,7 +132,6 @@ parts +=
# jupyter
ipython-notebook
instance-jupyter
monitor-eggs
# override instance-jupyter not to render into default template.cfg
[instance-jupyter]
......@@ -156,7 +156,7 @@ mode = 755
[template-mariadb]
<= download-base
filename = instance-mariadb.cfg.in
md5sum = fbc39d333bf70894f6f9d094515a2a4a
md5sum = ede2481d6ce60a335bde920d8cec5318
link-binary =
${coreutils:location}/bin/basename
${coreutils:location}/bin/cat
......@@ -192,7 +192,7 @@ md5sum = bc6048b85b410693e60e5a77399dd1b7
[template-my-cnf]
<= download-base
filename = my.cnf.in
md5sum = 9ae79a450f9760072ccbc8c9b2d0c377
md5sum = ac5c87991d95907f62bf2129ecfd42c4
[template-mariadb-initial-setup]
<= download-base
......@@ -341,7 +341,7 @@ md5sum = b0cb0ee97cddc79112a718e065806037
[template-zope]
<= download-base
filename = instance-zope.cfg.in
md5sum = 6bcd92d8823c99912abfbdc476301e76
md5sum = 144fb4567e12bac2c7ed61e7477d5418
link-binary =
${aspell:location}/bin/aspell
${dmtx-utils:location}/bin/dmtxwrite
......@@ -621,13 +621,13 @@ scripts +=
[versions]
# See ../../software/neoppod/software-common.cfg for versions common with NEO:
# neoppod, python-mysqlclient, slapos.recipe.template & [slapos-deps-eggs]
# neoppod, mysqlclient, slapos.recipe.template & [slapos-deps-eggs]
# patched eggs
Acquisition = 2.13.9+SlapOSPatched001
Products.DCWorkflow = 2.2.4+SlapOSPatched001
pysvn = 1.7.10+SlapOSPatched002
python-ldap = 2.4.22+SlapOSPatched001
python-ldap = 2.4.25+SlapOSPatched001
python-magic = 0.4.11+SlapOSPatched001
# specify dev version to be sure that an old released version is not used
......@@ -672,8 +672,9 @@ zope.app.testing = 3.8.1
Pillow = 3.2.0
Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1
Products.ExternalEditor = 2.0.0
Products.GenericSetup = 1.8.2
# Products.ExternalEditor 2.0.0's dtml is not based on Zope2 OFS's one.
Products.ExternalEditor = 1.1.1
Products.GenericSetup = 1.8.3
Products.LongRequestLogger = 2.0.0
Products.MimetypesRegistry = 2.0.8
Products.PluginRegistry = 1.4
......@@ -692,7 +693,7 @@ chardet = 2.3.0
cns.recipe.symlink = 0.2.3
csp-eventlet = 0.7.0
erp5diff = 0.8.1.7
eventlet = 0.18.4
eventlet = 0.19.0
five.formlib = 1.0.4
five.localsitemanager = 2.0.5
greenlet = 0.4.9
......@@ -700,22 +701,23 @@ http-parser = 0.8.3
httplib2 = 0.9.2
huBarcode = 1.0.0
interval = 1.0.0
ipdb = 0.9.1
ipython = 4.1.2
ipywidgets = 4.1.1
ipdb = 0.10.0
ipykernel = 4.3.1
ipython = 4.2.0
ipywidgets = 5.1.3
logilab-common = 1.2.0
matplotlib = 1.5.1
mistune = 0.7.2
mysqlclient = 1.3.7
notebook = 4.2.0
numpy = 1.11.0
objgraph = 2.0.1
pandas = 0.18.0
objgraph = 3.0.0
pandas = 0.18.1
ply = 3.8
polib = 1.0.7
pprofile = 1.8.1
pprofile = 1.8.3
ptyprocess = 0.5.1
pycountry = 1.20
pyflakes = 1.1.0
pyflakes = 1.2.3
# pylint 1.5.1 breaks testDynamicClassGeneration
pylint = 1.4.4
python-memcached = 1.57
......@@ -725,7 +727,7 @@ qrcode = 5.2.2
restkit = 4.2.2
rtjp-eventlet = 0.3.2
scikit-learn = 0.17.1
scipy = 0.17.0
scipy = 0.17.1
simplegeneric = 0.8.1
socketpool = 0.5.3
spyne = 2.12.11
......@@ -737,6 +739,7 @@ tornado = 4.3
urlnorm = 1.1.2
uuid = 1.30
validictory = 1.0.1
widgetsnbextension = 1.2.2
xfw = 0.10
xupdate-processor = 0.4
......@@ -744,6 +747,10 @@ xupdate-processor = 0.4
# Products.CMFCore==2.2.9
Products.ZSQLMethods = 2.13.4
# Required by:
# ipython==4.2.0
backports.shutil-get-terminal-size = 1.0.0
# Required by:
# tornado==4.3
backports.ssl-match-hostname = 3.5.0.1
......@@ -761,7 +768,7 @@ colorama = 0.3.7
cycler = 0.10.0
# Required by:
# ipython==4.1.2
# ipython==4.2.0
# traitlets==4.2.1
decorator = 4.0.9
......@@ -769,55 +776,46 @@ decorator = 4.0.9
# SOAPpy===0.12.0nxd001
fpconst = 0.7.2
# Required by:
# ipywidgets==4.1.1
# notebook==4.1.0
ipykernel = 4.3.1
# Required by:
# nbformat==4.0.1
# notebook==4.1.0
# notebook==4.2.0
# traitlets==4.2.1
ipython-genutils = 0.1.0
# Required by:
# notebook==4.1.0
# notebook==4.2.0
# nbconvert 4.2.0 depends on entrypoints egg that is not available as tar/zip source.
nbconvert = 4.1.0
# Required by:
# nbconvert==4.1.0
# notebook==4.1.0
# notebook==4.2.0
nbformat = 4.0.1
# Required by:
# ipywidgets==4.1.1
notebook = 4.1.0
# Required by:
# pickleshare==0.7.2
pathlib2 = 2.1.0
# Required by:
# ipython==4.1.2
# ipython==4.2.0
pexpect = 4.0.1
# Required by:
# ipython==4.1.2
# ipython==4.2.0
pickleshare = 0.7.2
# Required by:
# matplotlib==1.5.1
# pandas==0.18.0
python-dateutil = 2.5.2
python-dateutil = 2.5.3
# Required by:
# tornado==4.3
singledispatch = 3.4.0.3
# Required by:
# ipython==4.1.2
# ipywidgets==4.1.1
# notebook==4.1.0
# ipython==4.2.0
# notebook==4.2.0
traitlets = 4.2.1
# Required by:
......
......@@ -114,6 +114,7 @@ relaxed-writes = {{ dumps(slapparameter_dict.get('relaxed-writes', False)) }}
binlog-path = ${directory:mariadb-backup-incremental}/binlog
# XXX: binlog rotation happens along with other log's rotation
binlog-expire-days = {{ dumps(incremental_backup_retention_days) }}
server-id = {{ dumps(slapparameter_dict.get('server-id', 1)) }}
{% else %}
binlog-path =
{%- endif %}
......
......@@ -327,7 +327,7 @@ path = ${directory:promises}/{{ name }}
{% endfor -%}
[{{ section("promise-" ~ name ~ "-is-running-actual-product") }}]
recipe = slapos.cookbook:wrapper
command-line = '{{ parameter_dict['bin-directory'] }}/is-process-older-than-dependency-set' -k '{{ "${" ~ conf_parameter_name ~ ":pid-file}" }}' {{ " ".join(shell_escaped_extra_path_list) }}
command-line = '{{ parameter_dict['bin-directory'] }}/is-process-older-than-dependency-set' '{{ "${" ~ conf_parameter_name ~ ":pid-file}" }}' {{ " ".join(shell_escaped_extra_path_list) }}
wrapper-path = ${directory:promises}/{{ name }}-is-running-actual-product
parameters-extra = true
......
......@@ -51,6 +51,7 @@ innodb_locks_unsafe_for_binlog = 1
log_bin = {{ log_bin }}
{% set binlog_expire_days = parameter_dict['binlog-expire-days'] -%}
{% if binlog_expire_days > 0 %}expire_logs_days = {{ binlog_expire_days }}{% endif %}
server_id = {{ parameter_dict['server-id'] }}
{% endif %}
# Some dangerous settings you may want to uncomment temporarily
......
......@@ -30,6 +30,7 @@ eggs =
[hadoop]
recipe = hexagonit.recipe.download
ignore-existing = true
version = 2.5.1
filename = hadoop-${:version}.tar.gz
url = http://apache.mirrors.spacedump.net/hadoop/common/hadoop-${:version}/${:filename}
......@@ -41,6 +42,7 @@ strip-top-level-dir = true
[hadoop-streaming]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://repo1.maven.org/maven2/org/apache/hadoop/hadoop-streaming/0.20.203.0/hadoop-streaming-0.20.203.0.jar
download-only = true
md5sum = 792c7df75b63e477fef12988b7cced6f
......
......@@ -50,7 +50,7 @@ smmap = 0.8.2
# Required by:
# slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.40.2
......@@ -62,4 +62,4 @@ feedparser = 5.1.1
# Required by:
# slapos.toolbox==0.40.2
paramiko = 1.16.0
paramiko = 2.0.0
......@@ -56,6 +56,7 @@ keep-compile-dir = false
[application]
recipe = hexagonit.recipe.download
ignore-existing = true
# If the provided tarball does not contain top directory, this option should be changed to false
strip-top-level-dir = true
......@@ -193,7 +194,7 @@ smmap = 0.8.2
# Required by:
# slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1
GitPython = 2.0.2
# Required by:
# slapos.toolbox==0.40.2
......@@ -205,4 +206,4 @@ feedparser = 5.1.3
# Required by:
# slapos.toolbox==0.40.2
paramiko = 1.16.0
paramiko = 2.0.0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment