Commit 6345aeed authored by Thomas Gambier's avatar Thomas Gambier 🚴🏼

Update Release Candidate

parents 4074105b 55171b94
...@@ -4,7 +4,7 @@ parts = babeld ...@@ -4,7 +4,7 @@ parts = babeld
[babeld] [babeld]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://lab.nexedi.com/nexedi/babeld/repository/archive.tar.gz?ref=v1.8.4-nxd1 url = https://lab.nexedi.com/nexedi/babeld/repository/archive.tar.gz?ref=v1.8.4-nxd1
md5sum = 00fb984503f4fa65de9244226dc11c13 md5sum = 536cca6abe34eb9faeda8682b80ee7bc
configure-command = configure-command =
echo "No configure.." echo "No configure.."
......
From: Chuan-kai Lin <cklin@debian.org>
Date: Sun, 18 Nov 2018 16:03:20 -0800
Subject: Inhibit example code extraction
The Debian bison package cannot extract example code from info documentation
because said documentation is moved into the bison-doc package due to DFSG
non-compliance. Leaving example code extraction in the build process breaks
parallel builds, so this patch is necessary to make parallel builds work.
Bug-Debian: http://bugs.debian.org/732034
Forwarded: not-needed
Last-Update: 2013-12-16
---
Makefile.in | 3 +--
examples/local.mk | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 02444e8..6a64845 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -6645,8 +6645,7 @@ examples/extracted.stamp: $(doc) doc/version.texi $(extexi)
$(AM_V_at)mv $@.tmp $@
$(extracted): examples/extracted.stamp
- @test -f $@ || rm -f examples/extracted.stamp
- @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) examples/extracted.stamp
+ touch $@
# Suppress the #lines from the examples when rolling the tarball, so
# that regular users have readable examples even before installing
diff --git a/examples/local.mk b/examples/local.mk
index a35c082..8af27e6 100644
--- a/examples/local.mk
+++ b/examples/local.mk
@@ -41,8 +41,7 @@ MAINTAINERCLEANFILES += $(extracted) %D%/extracted.stamp
$(AM_V_at)mv $@.tmp $@
$(extracted): %D%/extracted.stamp
- @test -f $@ || rm -f %D%/extracted.stamp
- @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) %D%/extracted.stamp
+ touch $@
## ------ ##
[buildout] [buildout]
extends = extends =
../automake/buildout.cfg
../m4/buildout.cfg ../m4/buildout.cfg
../perl/buildout.cfg ../perl/buildout.cfg
../xz-utils/buildout.cfg ../xz-utils/buildout.cfg
...@@ -9,8 +10,12 @@ parts = ...@@ -9,8 +10,12 @@ parts =
[bison] [bison]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
url = http://ftp.gnu.org/gnu/bison/bison-3.0.2.tar.xz url = http://ftp.gnu.org/gnu/bison/bison-3.3.2.tar.xz
md5sum = 146be9ff9fbd27497f0bf2286a5a2082 md5sum = c9b552dee234b2f6b66e56b27e5234c9
environment = environment =
AUTOMAKE=${automake:location}/bin/automake
M4=${m4:location}/bin/m4 M4=${m4:location}/bin/m4
PATH=${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s PATH=${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
patch-options = -p1
patches =
${:_profile_base_location_}/01_inhibit_example_generation#ee2df22601a56d738939fa760f9dc19b
...@@ -8,6 +8,7 @@ parts = ...@@ -8,6 +8,7 @@ parts =
caddy caddy
[gowork] [gowork]
golang = ${golang1.12:location}
install = install =
github.com/mholt/caddy github.com/mholt/caddy
......
...@@ -17,5 +17,5 @@ rpath = ${:library-dirs} ...@@ -17,5 +17,5 @@ rpath = ${:library-dirs}
[geolite2-country] [geolite2-country]
recipe = slapos.recipe.build:download-unpacked recipe = slapos.recipe.build:download-unpacked
url = http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz#${:md5sum} url = http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz#${:md5sum}
md5sum = d77df0f613c542af8122a78c03d53a27 md5sum = 2e92c3567aaad25e0f1cc8ce2c1f920d
strip-top-level-dir = true strip-top-level-dir = true
...@@ -58,6 +58,15 @@ environment-extra = ...@@ -58,6 +58,15 @@ environment-extra =
url = https://dl.google.com/go/go1.11.4.src.tar.gz url = https://dl.google.com/go/go1.11.4.src.tar.gz
md5sum = a77697673215be465d1b583680ef2318 md5sum = a77697673215be465d1b583680ef2318
# go1.11 needs go1.4 to bootstrap
environment-extra =
GOROOT_BOOTSTRAP=${golang14:location}
[golang1.12]
<= golang-common
url = https://dl.google.com/go/go1.12.src.tar.gz
md5sum = b3332feba8a945a193b47a52d9981bb9
# go1.11 needs go1.4 to bootstrap # go1.11 needs go1.4 to bootstrap
environment-extra = environment-extra =
GOROOT_BOOTSTRAP=${golang14:location} GOROOT_BOOTSTRAP=${golang14:location}
......
From: Santiago Vila <sanvila@debian.org>
Subject: Fix FTBFS with glibc 2.28
Bug-Debian: https://bugs.debian.org/915152
X-Debian-version: 1.4.18-2
Based on this gnulib commit by Paul Eggert:
https://lists.gnu.org/r/bug-gnulib/2018-03/msg00002.html
--- a/lib/fflush.c
+++ b/lib/fflush.c
@@ -33,7 +33,7 @@
#undef fflush
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
static void
@@ -72,7 +72,7 @@
#endif
-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
@@ -148,7 +148,7 @@
if (stream == NULL || ! freading (stream))
return fflush (stream);
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
clear_ungetc_buffer_preserving_position (stream);
--- a/lib/fpending.c
+++ b/lib/fpending.c
@@ -32,7 +32,7 @@
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
return fp->_IO_write_ptr - fp->_IO_write_base;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
--- a/lib/fpurge.c
+++ b/lib/fpurge.c
@@ -62,7 +62,7 @@
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_IO_read_end = fp->_IO_read_ptr;
fp->_IO_write_ptr = fp->_IO_write_base;
/* Avoid memory leak when there is an active ungetc buffer. */
--- a/lib/freadahead.c
+++ b/lib/freadahead.c
@@ -25,7 +25,7 @@
size_t
freadahead (FILE *fp)
{
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_write_ptr > fp->_IO_write_base)
return 0;
return (fp->_IO_read_end - fp->_IO_read_ptr)
--- a/lib/freading.c
+++ b/lib/freading.c
@@ -31,7 +31,7 @@
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
return ((fp->_flags & _IO_NO_WRITES) != 0
|| ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
&& fp->_IO_read_base != NULL));
--- a/lib/fseeko.c
+++ b/lib/fseeko.c
@@ -47,7 +47,7 @@
#endif
/* These tests are based on fpurge.c. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_read_end == fp->_IO_read_ptr
&& fp->_IO_write_ptr == fp->_IO_write_base
&& fp->_IO_save_base == NULL)
@@ -123,7 +123,7 @@
return -1;
}
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags &= ~_IO_EOF_SEEN;
fp->_offset = pos;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
--- a/lib/stdio-impl.h
+++ b/lib/stdio-impl.h
@@ -18,6 +18,12 @@
the same implementation of stdio extension API, except that some fields
have different naming conventions, or their access requires some casts. */
+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
+ problem by defining it ourselves. FIXME: Do not rely on glibc
+ internals. */
+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
+# define _IO_IN_BACKUP 0x100
+#endif
/* BSD stdio derived implementations. */
...@@ -7,7 +7,10 @@ parts = ...@@ -7,7 +7,10 @@ parts =
[m4] [m4]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
url = http://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.xz url = http://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.xz
md5sum = 12a3c829301a4fd6586a57d3fcf196dc md5sum = 730bb15d96fffe47e148d1e09235af82
environment = environment =
PATH=${xz-utils:location}/bin:%(PATH)s PATH=${xz-utils:location}/bin:%(PATH)s
patch-options = -p1
patches =
${:_profile_base_location_}/01-fix-ftbfs-with-glibc-2.28.patch#058a786425e507f911649205b61ffcac
...@@ -16,6 +16,7 @@ md5sum = 4ad8a008e1e7f261b3aa0024e79e7fb7 ...@@ -16,6 +16,7 @@ md5sum = 4ad8a008e1e7f261b3aa0024e79e7fb7
configure-options = configure-options =
--disable-dependency-tracking --disable-dependency-tracking
--disable-plugin-auth-pam --disable-plugin-auth-pam
--enable-iproute2
environment = environment =
PATH=${xz-utils:location}/bin:%(PATH)s PATH=${xz-utils:location}/bin:%(PATH)s
LZO_LIBS=-L${lzo:location}/lib -llzo2 LZO_LIBS=-L${lzo:location}/lib -llzo2
......
...@@ -7,8 +7,8 @@ parts = ...@@ -7,8 +7,8 @@ parts =
[rsync] [rsync]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz url = https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz
md5sum = 0f758d7e000c0f7f7d3792610fad70cb md5sum = 1581a588fde9d89f6bc6201e8129afaf
make-options = make-options =
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_} PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
environment = environment =
......
...@@ -36,3 +36,24 @@ environment = ...@@ -36,3 +36,24 @@ environment =
make-target = make-target =
check check
install install
[trafficserver7]
recipe = slapos.recipe.cmmi
url = http://apache.claz.org/trafficserver/trafficserver-7.1.6.tar.bz2
md5sum = 45f67cd652fa3481f76ff92213325c84
configure-options =
--with-openssl=${openssl:location}
--with-pcre=${pcre:location}
--with-ncurses=${ncurses:location}
--with-tcl=${tcl:location}/lib/
--with-lzma=${xz-utils:location}
--with-zlib=${zlib:location}
--disable-curl
--disable-hwloc
--enable-experimental-plugins
environment =
PATH=${libtool:location}/bin:${make:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:%(PATH)s
LDFLAGS =-L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib -L${tcl:location}/lib -Wl,-rpath=${tcl:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
make-target =
check
install
...@@ -30,7 +30,7 @@ These parameters are : ...@@ -30,7 +30,7 @@ These parameters are :
* ``-frontend-software-release-url``: Software release to be used for frontends, default to the current software release * ``-frontend-software-release-url``: Software release to be used for frontends, default to the current software release
* ``-sla-i-foo`` : where "i" is the number of the concerned frontend (between 1 and "-frontend-quantity") and "foo" a sla parameter. * ``-sla-i-foo`` : where "i" is the number of the concerned frontend (between 1 and "-frontend-quantity") and "foo" a sla parameter.
ex:: for example::
<parameter id="-frontend-quantity">3</parameter> <parameter id="-frontend-quantity">3</parameter>
<parameter id="-frontend-type">custom-personal</parameter> <parameter id="-frontend-type">custom-personal</parameter>
...@@ -83,13 +83,70 @@ Those slave instances will be redirected to the "master" instance, and you will ...@@ -83,13 +83,70 @@ Those slave instances will be redirected to the "master" instance, and you will
Finally, the slave instance will be accessible from: https://someidentifier.moulefrite.org. Finally, the slave instance will be accessible from: https://someidentifier.moulefrite.org.
About SSL About SSL and SlapOS Master Zero Knowledge
========= ==========================================
``default`` and ``custom-personl`` software type can handle specific ssl for one slave instance.
**IMPORTANT**: One Caddy can not serve more than one specific SSL site and be compatible with obsolete browser (i.e.: IE8). See http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI **IMPORTANT**: One Caddy can not serve more than one specific SSL site and be compatible with obsolete browser (i.e.: IE8). See http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
SSL keys and certificates are directly send to the frontend cluster in order to follow zero knowledge principle of SlapOS Master.
Master partition
----------------
After requesting master partition it will return ``master-key-generate-auth-url`` and ``master-key-upload-url``.
Doing HTTP GET on ``master-key-generate-auth-url`` will return authentication token, which is used to communicate with ``master-key-upload-url``. This token shall be stored securely.
By doing HTTP PUT to ``master-key-upload-url`` with appended authentication token it is possible to upload PEM bundle of certificate, key and any accompanying CA certificates to the master.
Example sessions is::
request(...)
curl -X GET master-key-generate-auth-url
> authtoken
cat certificate.pem key.pem ca-bundle.pem > master.pem
curl -X PUT --data-binary @master.pem master-key-upload-url+authtoken
This replaces old request parameters:
* ``apache-certificate``
* ``apache-key``
* ``apache-ca-certificate``
(*Note*: They are still supported for backward compatibility, but any value send to the ``master-key-upload-url`` will supersede information from SlapOS Master.)
Slave partition
---------------
After requesting slave partition it will return ``key-generate-auth-url`` and ``key-upload-url``.
Doing HTTP GET on ``key-generate-auth-url`` will return authentication token, which is used to communicate with ``key-upload-url``. This token shall be stored securely.
By doing HTTP PUT to ``key-upload-url`` with appended authentication token it is possible to upload PEM bundle of certificate, key and any accompanying CA certificates to the master.
Example sessions is::
request(...)
curl -X GET key-generate-auth-url
> authtoken
cat certificate.pem key.pem ca-bundle.pem > master.pem
curl -X PUT --data-binary @master.pem key-upload-url+authtoken
This replaces old request parameters:
* ``ssl_crt``
* ``ssl_key``
* ``ssl_ca_crt``
(*Note*: They are still supported for backward compatibility, but any value send to the ``key-upload-url`` will supersede information from SlapOS Master.)
How to have custom configuration in frontend server - XXX - to be written How to have custom configuration in frontend server - XXX - to be written
========================================================================= =========================================================================
...@@ -195,13 +252,6 @@ Necessary to activate cache. ...@@ -195,13 +252,6 @@ Necessary to activate cache.
``enable_cache`` is an optional parameter. ``enable_cache`` is an optional parameter.
ssl_key, ssl_crt, ssl_ca_crt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SSL certificates of the slave.
They are optional.
Functionalities for Caddy configuration Functionalities for Caddy configuration
--------------------------------------- ---------------------------------------
...@@ -210,7 +260,7 @@ In the slave Caddy configuration you can use parameters that will be replaced du ...@@ -210,7 +260,7 @@ In the slave Caddy configuration you can use parameters that will be replaced du
* ``cache_access`` : url of the cache. Should replace backend url in configuration to use the cache * ``cache_access`` : url of the cache. Should replace backend url in configuration to use the cache
* ``access_log`` : path of the slave error log in order to log in a file. * ``access_log`` : path of the slave error log in order to log in a file.
* ``error_log`` : path of the slave access log in order to log in a file. * ``error_log`` : path of the slave access log in order to log in a file.
* ``ssl_key``, ``ssl_crt``, ``ssl_ca_crt``, ``ssl_crs`` : paths of the certificates given in slave instance parameters * ``certificate`` : path to the certificate
Examples Examples
...@@ -293,7 +343,7 @@ Request slave frontend instance so that https://[1:2:3:4:5:6:7:8]:1234 will be:: ...@@ -293,7 +343,7 @@ Request slave frontend instance so that https://[1:2:3:4:5:6:7:8]:1234 will be::
"caddy_custom_https":' "caddy_custom_https":'
https://www.example.com:%(https_port)s, https://example.com:%(https_port)s { https://www.example.com:%(https_port)s, https://example.com:%(https_port)s {
bind %(local_ipv4)s bind %(local_ipv4)s
tls %(ssl_crt)s %(ssl_key)s tls %%(certificate)s %%(certificate)s
log / %(access_log)s {combined} log / %(access_log)s {combined}
errors %(error_log)s errors %(error_log)s
...@@ -479,6 +529,13 @@ Note that in some cases promises will fail: ...@@ -479,6 +529,13 @@ Note that in some cases promises will fail:
This is known issue and shall be tackled soon. This is known issue and shall be tackled soon.
KeDiFa
======
Additional partition with KeDiFa (Key Distribution Facility) is by default requested on the same computer as master frontend partition.
By adding to the request keys like ``-sla-kedifa-<key>`` it is possible to provide SLA information for kedifa partition. Eg to put it on computer ``couscous`` it shall be ``-sla-kedifa-computer_guid: couscous``.
Notes Notes
===== =====
......
...@@ -3,13 +3,11 @@ Generally things to be done with ``caddy-frontend``: ...@@ -3,13 +3,11 @@ Generally things to be done with ``caddy-frontend``:
* tests: add assertion with results of promises in etc/promise for each partition * tests: add assertion with results of promises in etc/promise for each partition
* README: cleanup the documentation, explain various specifics * README: cleanup the documentation, explain various specifics
* check the whole frontend slave snippet with ``caddy -validate`` during buildout run, and reject if does not pass validation * check the whole frontend slave snippet with ``caddy -validate`` during buildout run, and reject if does not pass validation
* BUG?? check that changing ``apache-certificate`` on master partition results in reloading slave partition
* (new) ``type:websocket`` slave * (new) ``type:websocket`` slave
* ``type:eventsource``: * ``type:eventsource``:
* **Jérome Perrin**: *For event source, if I understand https://github.com/mholt/caddy/issues/1355 correctly, we could use caddy as a proxy in front of nginx-push-stream . If we have a "central shared" caddy instance, can it handle keeping connections opens for many clients ?* * **Jérome Perrin**: *For event source, if I understand https://github.com/mholt/caddy/issues/1355 correctly, we could use caddy as a proxy in front of nginx-push-stream . If we have a "central shared" caddy instance, can it handle keeping connections opens for many clients ?*
* ``check-error-on-caddy-log`` like ``check-error-on-apache-log`` * ``check-error-on-caddy-log`` like ``check-error-on-apache-log``
* move out ``test/utils.py`` and use it from shared python distribution * move out ``test/utils.py`` and use it from shared python distribution
* reduce the time of configuration validation (in ``instance-apache-frontend.cfg.in`` sections ``[configtest]``, ``[caddy-configuration]``, ``[nginx-configuration]``), as it is not scalable on frontend with 2000+ slaves (takes few minutes instead of few, < 5, seconds), issue posted `upstream <https://github.com/mholt/caddy/issues/2220>`_ * reduce the time of configuration validation (in ``instance-apache-frontend.cfg.in`` sections ``[configtest]``, ``[caddy-configuration]``, ``[nginx-configuration]``), as it is not scalable on frontend with 2000+ slaves (takes few minutes instead of few, < 5, seconds), issue posted `upstream <https://github.com/mholt/caddy/issues/2220>`_
* drop ``6tunnel`` and use ``bind`` in Caddy configuration, as soon as multiple binds will be possible, tracked in upstream `bind: support multiple values <https://github.com/mholt/caddy/pull/2128>`_ and `ipv6: does not bind on ipv4 and ipv6 for sites that resolve to both <https://github.com/mholt/caddy/issues/864>`_ * drop ``6tunnel`` and use ``bind`` in Caddy configuration, as soon as multiple binds will be possible, tracked in upstream `bind: support multiple values <https://github.com/mholt/caddy/pull/2128>`_ and `ipv6: does not bind on ipv4 and ipv6 for sites that resolve to both <https://github.com/mholt/caddy/issues/864>`_
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
# not need these here). # not need these here).
[template] [template]
filename = instance.cfg.in filename = instance.cfg.in
md5sum = 2747f9125c8dffa0c27b79a6902a55cb md5sum = 111ff0794c90657b658e3d50525e7fed
[template-common] [template-common]
filename = instance-common.cfg.in filename = instance-common.cfg.in
...@@ -22,15 +22,15 @@ md5sum = c801b7f9f11f0965677c22e6bbe9281b ...@@ -22,15 +22,15 @@ md5sum = c801b7f9f11f0965677c22e6bbe9281b
[template-apache-frontend] [template-apache-frontend]
filename = instance-apache-frontend.cfg.in filename = instance-apache-frontend.cfg.in
md5sum = 6fd023f0d29421d8579f0b3351473bb0 md5sum = abbbc8f24cdef389b9b2859b0ef8dd0e
[template-apache-replicate] [template-apache-replicate]
filename = instance-apache-replicate.cfg.in filename = instance-apache-replicate.cfg.in
md5sum = 5c5462ccc327fe109e0c102f0d3e7e53 md5sum = 81ad603fe0a1e29948bd81b457e8d7a4
[template-slave-list] [template-slave-list]
filename = templates/apache-custom-slave-list.cfg.in filename = templates/apache-custom-slave-list.cfg.in
md5sum = 028ca41fdf7a758ba701ccc5e449419a md5sum = dfbe4378610aa42f2cbc2a55d386324e
[template-slave-configuration] [template-slave-configuration]
filename = templates/custom-virtualhost.conf.in filename = templates/custom-virtualhost.conf.in
...@@ -38,11 +38,11 @@ md5sum = 54ae95597a126ae552c3a913ddf29e5e ...@@ -38,11 +38,11 @@ md5sum = 54ae95597a126ae552c3a913ddf29e5e
[template-replicate-publish-slave-information] [template-replicate-publish-slave-information]
filename = templates/replicate-publish-slave-information.cfg.in filename = templates/replicate-publish-slave-information.cfg.in
md5sum = 696ef7690f51a521cc6f6c9d9d5d844e md5sum = 38e9994be01ea1b8a379f8ff7aa05438
[template-caddy-frontend-configuration] [template-caddy-frontend-configuration]
filename = templates/Caddyfile.in filename = templates/Caddyfile.in
md5sum = 0134a1586f15cd5665069d6d81a505be md5sum = df8c08c9aecb48fdbcdfca40f9cf74a4
[caddy-backend-url-validator] [caddy-backend-url-validator]
filename = templates/caddy-backend-url-validator.in filename = templates/caddy-backend-url-validator.in
...@@ -58,7 +58,7 @@ md5sum = f20d6c3d2d94fb685f8d26dfca1e822b ...@@ -58,7 +58,7 @@ md5sum = f20d6c3d2d94fb685f8d26dfca1e822b
[template-default-slave-virtualhost] [template-default-slave-virtualhost]
filename = templates/default-virtualhost.conf.in filename = templates/default-virtualhost.conf.in
md5sum = e57b9ae012f777482295698a23b7e850 md5sum = 4308b63820d3682511ce54040d1ae60e
[template-cached-slave-virtualhost] [template-cached-slave-virtualhost]
filename = templates/cached-virtualhost.conf.in filename = templates/cached-virtualhost.conf.in
...@@ -66,7 +66,7 @@ md5sum = 907372828d1ceb05c41240078196f439 ...@@ -66,7 +66,7 @@ md5sum = 907372828d1ceb05c41240078196f439
[template-log-access] [template-log-access]
filename = templates/template-log-access.conf.in filename = templates/template-log-access.conf.in
md5sum = 122b05829ecc4c0ad4e47e7d1c21166b md5sum = 704f37bfdd52fe628ae81d41abba8d7a
[template-empty] [template-empty]
filename = templates/empty.in filename = templates/empty.in
...@@ -78,23 +78,27 @@ md5sum = 8cde04bfd0c0e9bd56744b988275cfd8 ...@@ -78,23 +78,27 @@ md5sum = 8cde04bfd0c0e9bd56744b988275cfd8
[template-trafficserver-records-config] [template-trafficserver-records-config]
filename = templates/trafficserver/records.config.jinja2 filename = templates/trafficserver/records.config.jinja2
md5sum = 84baef0a49c9a65e8f2d2ffdb8c1d39c md5sum = 15cbdba7ab7fe3c3d7c26c1718e47bbd
[template-trafficserver-storage-config] [template-trafficserver-storage-config]
filename = templates/trafficserver/storage.config.jinja2 filename = templates/trafficserver/storage.config.jinja2
md5sum = 117238225b3fc3c5b5be381815f44c67 md5sum = baf7b89cc9ab5506100b0c900808c1ea
[template-trafficserver-logging-config]
filename = templates/trafficserver/logging.config.jinja2
md5sum = cd6bb9bd0734f17469b0ca88f8b1a531
[template-nginx-configuration] [template-nginx-configuration]
filename = templates/nginx.cfg.in filename = templates/nginx.cfg.in
md5sum = fadb2fcaf0f2b4fe735617fac222f7ed md5sum = 30f30ef3539fe6b7ab99162ae8e71a87
[template-nginx-eventsource-slave-virtualhost] [template-nginx-eventsource-slave-virtualhost]
filename = templates/nginx-eventsource-slave.conf.in filename = templates/nginx-eventsource-slave.conf.in
md5sum = 176cbca2070734a185a7ae5a4d1181c5 md5sum = 217a6c801b8330b0b825f7b8b4c77184
[template-nginx-notebook-slave-virtualhost] [template-nginx-notebook-slave-virtualhost]
filename = templates/nginx-notebook-slave.conf.in filename = templates/nginx-notebook-slave.conf.in
md5sum = ee3b5c23f1c81aa43ce7cd8f8e327f70 md5sum = ac17212a53be2c08ab84682ec665148d
[template-apache-lazy-script-call] [template-apache-lazy-script-call]
filename = templates/apache-lazy-script-call.sh.in filename = templates/apache-lazy-script-call.sh.in
...@@ -115,3 +119,7 @@ md5sum = d9b6476bb0b36cf463fddb00d41dfbaa ...@@ -115,3 +119,7 @@ md5sum = d9b6476bb0b36cf463fddb00d41dfbaa
[caddyprofiledeps-dummy] [caddyprofiledeps-dummy]
filename = caddyprofiledummy.py filename = caddyprofiledummy.py
md5sum = 38792c2dceae38ab411592ec36fff6a8 md5sum = 38792c2dceae38ab411592ec36fff6a8
[template-kedifa]
filename = instance-kedifa.cfg.in
md5sum = 5597b2184b445af69ad6d517d0729ad6
...@@ -5,13 +5,13 @@ extends = ...@@ -5,13 +5,13 @@ extends =
../../component/dash/buildout.cfg ../../component/dash/buildout.cfg
../../component/caddy/buildout.cfg ../../component/caddy/buildout.cfg
../../component/gzip/buildout.cfg ../../component/gzip/buildout.cfg
../../component/dcron/buildout.cfg
../../component/logrotate/buildout.cfg ../../component/logrotate/buildout.cfg
../../component/rdiff-backup/buildout.cfg ../../component/rdiff-backup/buildout.cfg
../../component/trafficserver/buildout.cfg ../../component/trafficserver/buildout.cfg
../../component/6tunnel/buildout.cfg ../../component/6tunnel/buildout.cfg
../../stack/nodejs.cfg ../../stack/nodejs.cfg
../../stack/caucase/buildout.cfg
# Monitoring stack (keep on bottom) # Monitoring stack (keep on bottom)
../../stack/monitor/buildout.cfg ../../stack/monitor/buildout.cfg
...@@ -21,7 +21,6 @@ parts += ...@@ -21,7 +21,6 @@ parts +=
template-caddy-replicate template-caddy-replicate
caddy caddy
dcron
logrotate logrotate
rdiff-backup rdiff-backup
npm-modules npm-modules
...@@ -29,6 +28,25 @@ parts += ...@@ -29,6 +28,25 @@ parts +=
http-proxy http-proxy
caddyprofiledeps caddyprofiledeps
kedifa-develop
kedifa
[kedifa-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/kedifa.git
git-executable = ${git:location}/bin/git
revision = 67bd60ea1bfb4fc6aafdfe4fa204f725731f20cf
[kedifa-develop]
recipe = zc.recipe.egg:develop
setup = ${kedifa-repository:location}
[kedifa]
recipe = zc.recipe.egg
eggs =
${python-cryptography:egg}
kedifa
[caddyprofiledeps-setup] [caddyprofiledeps-setup]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/setup.py url = ${:_profile_base_location_}/setup.py
...@@ -63,6 +81,8 @@ eggs = ...@@ -63,6 +81,8 @@ eggs =
eggs += eggs +=
websockify websockify
erp5.util erp5.util
${caucase-eggs:eggs}
collective.recipe.shelloutput
[template-common] [template-common]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
...@@ -75,6 +95,7 @@ context = ...@@ -75,6 +95,7 @@ context =
[template-frontend-parameter-section] [template-frontend-parameter-section]
common_profile = ${template-common:rendered} common_profile = ${template-common:rendered}
logrotate_base_instance = ${template-logrotate-base:rendered}
bin_directory = ${buildout:bin-directory} bin_directory = ${buildout:bin-directory}
...@@ -83,12 +104,15 @@ caddy = ${caddy:output} ...@@ -83,12 +104,15 @@ caddy = ${caddy:output}
caddy_location = ${caddy:location} caddy_location = ${caddy:location}
curl = ${curl:location} curl = ${curl:location}
dash = ${dash:location} dash = ${dash:location}
dcron = ${dcron:location}
gzip = ${gzip:location} gzip = ${gzip:location}
logrotate = ${logrotate:location} logrotate = ${logrotate:location}
openssl = ${openssl:location} openssl = ${openssl:location}/bin/openssl
trafficserver = ${trafficserver:location} openssl_cnf = ${openssl:location}/etc/ssl/openssl.cnf
trafficserver = ${trafficserver7:location}
sha256sum = ${coreutils:location}/bin/sha256sum sha256sum = ${coreutils:location}/bin/sha256sum
kedifa = ${:bin_directory}/kedifa
kedifa-getter = ${:bin_directory}/kedifa-getter
kedifa-csr = ${:bin_directory}/kedifa-csr
monitor_template = ${monitor-template:output} monitor_template = ${monitor-template:output}
template_cached_slave_virtualhost = ${template-cached-slave-virtualhost:target} template_cached_slave_virtualhost = ${template-cached-slave-virtualhost:target}
...@@ -110,6 +134,8 @@ template_trafficserver_records_config_filename = ${template-trafficserver-record ...@@ -110,6 +134,8 @@ template_trafficserver_records_config_filename = ${template-trafficserver-record
template_trafficserver_records_config_location = ${template-trafficserver-records-config:location} template_trafficserver_records_config_location = ${template-trafficserver-records-config:location}
template_trafficserver_storage_config_filename = ${template-trafficserver-storage-config:filename} template_trafficserver_storage_config_filename = ${template-trafficserver-storage-config:filename}
template_trafficserver_storage_config_location = ${template-trafficserver-storage-config:location} template_trafficserver_storage_config_location = ${template-trafficserver-storage-config:location}
template_trafficserver_logging_config_filename = ${template-trafficserver-logging-config:filename}
template_trafficserver_logging_config_location = ${template-trafficserver-logging-config:location}
template_wrapper = ${template-wrapper:output} template_wrapper = ${template-wrapper:output}
[template] [template]
...@@ -123,11 +149,13 @@ context = ...@@ -123,11 +149,13 @@ context =
key monitor2_template monitor2-template:rendered key monitor2_template monitor2-template:rendered
key template_caddy_frontend template-caddy-frontend:target key template_caddy_frontend template-caddy-frontend:target
key template_caddy_replicate template-caddy-replicate:target key template_caddy_replicate template-caddy-replicate:target
key template_kedifa template-kedifa:target
key template_replicate_publish_slave_information template-replicate-publish-slave-information:target key template_replicate_publish_slave_information template-replicate-publish-slave-information:target
key caddy_backend_url_validator caddy-backend-url-validator:output key caddy_backend_url_validator caddy-backend-url-validator:output
key caddy_custom_http_validator caddy-custom-http-validator:output key caddy_custom_http_validator caddy-custom-http-validator:output
section template_frontend_parameter_dict template-frontend-parameter-section section template_frontend_parameter_dict template-frontend-parameter-section
key caucase_jinja2_library caucase-jinja2-library:target
[template-caddy-frontend] [template-caddy-frontend]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
...@@ -153,6 +181,11 @@ recipe = slapos.recipe.build:download ...@@ -153,6 +181,11 @@ recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-apache-replicate.cfg.in url = ${:_profile_base_location_}/instance-apache-replicate.cfg.in
mode = 0644 mode = 0644
[template-kedifa]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-kedifa.cfg.in
mode = 0644
[download-template] [download-template]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/templates/${:filename} url = ${:_profile_base_location_}/templates/${:filename}
...@@ -210,6 +243,11 @@ filename = records.config.jinja2 ...@@ -210,6 +243,11 @@ filename = records.config.jinja2
url = ${:_profile_base_location_}/templates/trafficserver/${:filename} url = ${:_profile_base_location_}/templates/trafficserver/${:filename}
filename = storage.config.jinja2 filename = storage.config.jinja2
[template-trafficserver-logging-config]
<=download-template
url = ${:_profile_base_location_}/templates/trafficserver/${:filename}
filename = logging.config.jinja2
# NGINX Configuration # NGINX Configuration
[template-nginx-configuration] [template-nginx-configuration]
recipe = slapos.recipe.template recipe = slapos.recipe.template
......
...@@ -11,24 +11,6 @@ ...@@ -11,24 +11,6 @@
"title": "Frontend Replication Quantity", "title": "Frontend Replication Quantity",
"type": "integer" "type": "integer"
}, },
"apache-ca-certificate": {
"description": "[NOT IMPLEMENTED] SSL CA Certificate used by the server. You can append it to 'apache-certificate'.",
"textarea": true,
"title": "[NOT IMPLEMENTED] SSL CA Certificate",
"type": "string"
},
"apache-certificate": {
"description": "SSL Certificate used by the server.",
"textarea": true,
"title": "SSL Certificate",
"type": "string"
},
"apache-key": {
"description": "SSL Key used by the server.",
"textarea": true,
"title": "SSL Key",
"type": "string"
},
"domain": { "domain": {
"description": "Base Domain for create subdomains (ie.: example.com).", "description": "Base Domain for create subdomains (ie.: example.com).",
"pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$", "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$",
...@@ -98,6 +80,16 @@ ...@@ -98,6 +80,16 @@
"description": "How often Caddy will try to establish connection with a backend during proxy-try-duration. More info in https://caddyserver.com/docs/proxy try_interval", "description": "How often Caddy will try to establish connection with a backend during proxy-try-duration. More info in https://caddyserver.com/docs/proxy try_interval",
"title": "Interval in milliseconds of tries during proxy-try-duration", "title": "Interval in milliseconds of tries during proxy-try-duration",
"type": "integer" "type": "integer"
},
"automatic-internal-kedifa-caucase-csr": {
"default": "true",
"description": "Automatically signs CSRs sent to KeDiFa's caucase, based on csr_id and matching certificate.",
"enum": [
"true",
"false"
],
"title": "Automatic Internal KeDiFa's Caucase CSR",
"type": "string"
} }
}, },
"title": "Input Parameters", "title": "Input Parameters",
......
{%- if slap_software_type == software_type -%}
{% import "caucase" as caucase with context %}
# KeDiFa instance profile
[buildout]
extends =
{{ parameter_dict['common_profile'] }}
{{ parameter_dict['monitor_template'] }}
parts =
directory
kedifa
slave-kedifa-information
caucased
caucased-promise
caucase-updater
expose-csr_id
[caucased]
hash-files = ${buildout:directory}/software_release/buildout.cfg
{% set caucase_host = '[' ~ instance_parameter['ipv6-random'] ~ ']' %}
{% set caucase_netloc = caucase_host ~ ':' ~ instance_parameter['configuration.caucase_port'] -%}
{% set caucase_url = 'http://' ~ caucase_netloc -%}
{{ caucase.caucased(
prefix='caucased',
buildout_bin_directory=parameter_dict['bin_directory'],
caucased_path='${directory:service}/caucased',
backup_dir='${directory:backup-caucased}',
data_dir='${directory:caucased}',
netloc=caucase_netloc,
service_auto_approve_count=0,
user_auto_approve_count=1,
key_len=2048,
promise='${directory:promise}/caucased',
)}}
# Create all needed directories
[directory]
recipe = slapos.cookbook:mkdirectory
bin = ${buildout:directory}/bin/
etc = ${buildout:directory}/etc/
srv = ${buildout:directory}/srv/
var = ${buildout:directory}/var/
tmp = ${buildout:directory}/tmp/
backup = ${:srv}/backup
log = ${:var}/log
run = ${:var}/run
service = ${:etc}/service
etc-run = ${:etc}/run
promise = ${:etc}/promise
# KeDiFa directories
kedifa = ${:srv}/kedifa
etc-kedifa = ${:etc}/kedifa
# CAUCASE directories
caucased = ${:srv}/caucased
backup-caucased = ${:backup}/caucased
# reservation
reservation = ${:srv}/reservation
# csr_id publication
csr_id = ${:srv}/csr_id
caddy-csr_id = ${:etc}/caddy-csr_id
[kedifa-csr]
recipe = plone.recipe.command
organization = {{ slapparameter_dict['cluster-identification'] }}
organizational_unit = Kedifa Partition
command =
if [ ! -f ${:template-csr} ] && [ ! -f ${:key} ] ; then
/bin/bash -c '{{ parameter_dict['openssl'] }} req -new -sha256 \
-newkey rsa:2048 -nodes -keyout ${:key} \
-subj "/O=${:organization}/OU=${:organizational_unit}" \
-reqexts SAN \
-config <(cat {{ parameter_dict['openssl_cnf'] }} \
<(printf "\n[SAN]\nsubjectAltName=IP:${kedifa-config:ip}")) \
-out ${:template-csr}'
fi
update-command = ${:command}
template-csr = ${kedifa-config:template-csr}
key = ${kedifa-config:key}
stop-on-error = True
{{ caucase.updater(
prefix='caucase-updater',
buildout_bin_directory=parameter_dict['bin_directory'],
updater_path='${directory:service}/caucase-updater',
url=caucase_url,
data_dir='${directory:srv}/caucase-updater',
crt_path='${kedifa-config:certificate}',
ca_path='${kedifa-config:ca-certificate}',
crl_path='${kedifa-config:crl}',
key_path='${kedifa-csr:key}',
on_renew='${kedifa-reloader:wrapper-path}',
template_csr='${kedifa-csr:template-csr}',
openssl=parameter_dict['openssl'] ~ '/bin/openssl',
)}}
[store-csr_id]
recipe = plone.recipe.command
csr_id_path = ${directory:csr_id}/csr_id.txt
csr_work_path = ${directory:tmp}/${:_buildout_section_name_}
stop-on-error = False
update-command = ${:command}
command =
{{ parameter_dict['bin_directory'] }}/caucase \
--ca-url {{ caucase_url }} \
--ca-crt ${kedifa-config:ca-certificate} \
--crl ${kedifa-config:crl} \
--mode service \
{#- XXX: Need to use caucase-updater-csr:csr, as there is no way to obatin csr_id from caucase-updater -#}
{#- XXX: nor directly path to the generated CSR #}
--send-csr ${caucase-updater-csr:csr} > ${:csr_work_path} && \
cut -d ' ' -f 1 ${:csr_work_path} > ${:csr_id_path}
[certificate-csr_id]
recipe = plone.recipe.command
certificate = ${directory:caddy-csr_id}/certificate.pem
key = ${directory:caddy-csr_id}/key.pem
stop-on-error = True
update-command = ${:command}
command =
if ! [ -f ${:key} ] && ! [ -f ${:certificate} ] ; then
openssl req -new -newkey rsa:2048 -sha256 -subj \
"/O=${kedifa-csr:organization}/OU=${kedifa-csr:organizational_unit}/CN={{ instance_parameter['ipv6-random'] }}" \
-days 5 -nodes -x509 -keyout ${:key} -out ${:certificate}
fi
[expose-csr_id-configuration]
ip = {{ instance_parameter['ipv6-random'] }}
port = 17000
key = ${certificate-csr_id:key}
certificate = ${certificate-csr_id:certificate}
error-log = ${directory:log}/expose-csr_id.log
[expose-csr_id-template]
recipe = slapos.recipe.template:jinja2
template = inline:
https://:${expose-csr_id-configuration:port}/ {
bind ${expose-csr_id-configuration:ip}
tls ${expose-csr_id-configuration:certificate} ${expose-csr_id-configuration:key}
log ${expose-csr_id-configuration:error-log}
}
rendered = ${directory:caddy-csr_id}/Caddyfile
[expose-csr_id]
depends = ${store-csr_id:command}
recipe = slapos.cookbook:wrapper
command-line = {{ parameter_dict['caddy'] }}
-conf ${expose-csr_id-template:rendered}
-log ${expose-csr_id-configuration:error-log}
-http2=true
-disable-http-challenge
-disable-tls-sni-challenge
-root ${directory:csr_id}
wrapper-path = ${directory:service}/expose-csr_id
hash-files = ${buildout:directory}/software_release/buildout.cfg
[get-csr_id-certificate]
recipe = collective.recipe.shelloutput
commands =
certificate = cat ${certificate-csr_id:certificate}
[jinja2-template-base]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:filename}
extra-context =
slapparameter_dict = {{ dumps(instance_parameter['configuration']) }}
slap_software_type = {{ dumps(instance_parameter['slap-software-type']) }}
context =
import json_module json
raw common_profile {{ parameter_dict['common_profile'] }}
key slap_software_type :slap_software_type
key slapparameter_dict :slapparameter_dict
section directory directory
${:extra-context}
[kedifa-config]
ip = {{ instance_parameter['ipv6-random'] }}
port = {{ instance_parameter['configuration.kedifa_port'] }}
db = ${directory:kedifa}/kedifa.sqlite
certificate = ${directory:etc-kedifa}/certificate.pem
key = ${:certificate}
ca-certificate = ${directory:etc-kedifa}/ca-certificate.pem
crl = ${directory:etc-kedifa}/crl.pem
template-csr = ${directory:etc-kedifa}/template-csr.pem
pidfile = ${directory:run}/kedifa.pid
[kedifa-reloader]
recipe = slapos.cookbook:wrapper
command-line = kill -SIGHUP `cat ${kedifa-config:pidfile}`
wrapper-path = ${directory:etc-run}/kedifa-reloader
[kedifa]
recipe = slapos.cookbook:wrapper
command-line = {{ parameter_dict['kedifa'] }}
--ip ${kedifa-config:ip}
--port ${kedifa-config:port}
--db ${kedifa-config:db}
--certificate ${kedifa-config:certificate}
--ca-certificate ${kedifa-config:ca-certificate}
--crl ${kedifa-config:crl}
--pidfile ${kedifa-config:pidfile}
wrapper-path = ${directory:service}/kedifa
hash-files = ${buildout:directory}/software_release/buildout.cfg
# Publish KeDiFa configuration for upload and download for each slave
{%- set slave_kedifa_information = {} -%}
{%- for slave in slapparameter_dict['slave-list'] -%}
{%- set slave_reference = slave['slave_reference'] -%}
{%- set slave_dict = {} -%}
{%- do slave_dict.__setitem__('key-generate-auth-url', 'https://[${kedifa-config:ip}]:${kedifa-config:port}/${%s-auth-random:passwd}/generateauth' % (slave_reference,)) -%}
{%- do slave_dict.__setitem__('key-upload-url', 'https://[${kedifa-config:ip}]:${kedifa-config:port}/${%s-auth-random:passwd}?auth=' % (slave_reference,)) -%}
{%- do slave_dict.__setitem__('key-download-url', 'https://[${kedifa-config:ip}]:${kedifa-config:port}/${%s-auth-random:passwd}' % (slave_reference,)) -%}
{%- do slave_kedifa_information.__setitem__(slave_reference, slave_dict) %}
[{{ slave_reference }}-auth-random-generate]
recipe = plone.recipe.command
file = ${directory:reservation}/${:_buildout_section_name_}
command =
[ ! -f ${:file} ] && {{ parameter_dict['curl'] }}/bin/curl -s -g -X POST https://[${kedifa-config:ip}]:${kedifa-config:port}/reserve-id --cert ${kedifa-config:certificate} --cacert ${kedifa-config:ca-certificate} > ${:file}.tmp && mv ${:file}.tmp ${:file}
update-command = ${:command}
[{{ slave_reference }}-auth-random]
recipe = collective.recipe.shelloutput
file = {{ '${' + slave_reference }}-auth-random-generate:file}
commands =
passwd = cat ${:file} 2>/dev/null || echo "NotReadyYet"
{% endfor %}
[master-auth-random-generate]
recipe = plone.recipe.command
file = ${directory:reservation}/${:_buildout_section_name_}
command =
[ ! -f ${:file} ] && {{ parameter_dict['curl'] }}/bin/curl -s -g -X POST https://[${kedifa-config:ip}]:${kedifa-config:port}/reserve-id --cert ${kedifa-config:certificate} --cacert ${kedifa-config:ca-certificate} > ${:file}.tmp && mv ${:file}.tmp ${:file}
update-command = ${:command}
[master-auth-random]
recipe = collective.recipe.shelloutput
file = ${master-auth-random-generate:file}
commands =
passwd = cat ${:file} 2>/dev/null || echo "NotReadyYet"
[slave-kedifa-information]
recipe = slapos.cookbook:publish.serialised
slave-kedifa-information = {{ json_module.dumps(slave_kedifa_information) }}
caucase-url = {{ caucase_url }}
master-key-generate-auth-url = https://[${kedifa-config:ip}]:${kedifa-config:port}/${master-auth-random:passwd}/generateauth
master-key-upload-url = https://[${kedifa-config:ip}]:${kedifa-config:port}/${master-auth-random:passwd}?auth=
master-key-download-url = https://[${kedifa-config:ip}]:${kedifa-config:port}/${master-auth-random:passwd}
csr_id-url = https://[${expose-csr_id-configuration:ip}]:${expose-csr_id-configuration:port}/csr_id.txt
csr_id-certificate = ${get-csr_id-certificate:certificate}
{%- endif -%} {# if slap_software_type in software_type #}
...@@ -10,6 +10,14 @@ ...@@ -10,6 +10,14 @@
"description": "Base domain used by the instance", "description": "Base domain used by the instance",
"type": "string" "type": "string"
}, },
"master-key-generate-auth-url": {
"description": "URL to GET once auth for master-key-upload-url",
"type": "string"
},
"master-key-upload-url": {
"description": "URL to PUT PEM bundle of main certificate and key",
"type": "string"
},
"monitor-base-url": { "monitor-base-url": {
"description": "Base url for monitor", "description": "Base url for monitor",
"type": "string" "type": "string"
...@@ -37,6 +45,22 @@ ...@@ -37,6 +45,22 @@
"slave-amount": { "slave-amount": {
"description": "Total amount of Slaves allocated to the Instance (include blocked ones)", "description": "Total amount of Slaves allocated to the Instance (include blocked ones)",
"type": "integer" "type": "integer"
},
"kedifa-csr_id-url": {
"description": "URL on which KeDiFa publishes its csr_id sent to caucase.",
"type": "string"
},
"kedifa-csr_id-certificate": {
"description": "Certificate used to serve data on kedifa-csr_id-url.",
"type": "string"
},
"caddy-frontend-N-csr_id-url": {
"description": "URL on which frontend node number N publishes its csr_id sent to caucase.",
"type": "string"
},
"caddy-frontend-N-csr_id-certificate": {
"description": "Certificate used to serve data on caddy-frontend-N-csr_id-url.",
"type": "string"
} }
}, },
"type": "object" "type": "object"
......
...@@ -146,20 +146,6 @@ ...@@ -146,20 +146,6 @@
"title": "SSL Certificate Authority's Certificate", "title": "SSL Certificate Authority's Certificate",
"type": "string" "type": "string"
}, },
"ssl_crt": {
"default": "",
"description": "Content of the SSL Certificate file",
"textarea": true,
"title": "SSL Certificate",
"type": "string"
},
"ssl_key": {
"default": "",
"description": "Content of the SSL Key file",
"textarea": true,
"title": "SSL Key",
"type": "string"
},
"ssl_proxy_ca_crt": { "ssl_proxy_ca_crt": {
"default": "", "default": "",
"description": "Content of the SSL Certificate Authority file of the backend (to be used with ssl-proxy-verify)", "description": "Content of the SSL Certificate Authority file of the backend (to be used with ssl-proxy-verify)",
......
...@@ -6,6 +6,14 @@ ...@@ -6,6 +6,14 @@
"description": "Base domain used by the instance", "description": "Base domain used by the instance",
"type": "string" "type": "string"
}, },
"key-generate-auth-url": {
"description": "URL to GET once auth for key-upload-url",
"type": "array"
},
"key-upload-url": {
"description": "URL to PUT PEM bundle of certificate and key",
"type": "array"
},
"log-access-url": { "log-access-url": {
"description": "List of URLs to access logs", "description": "List of URLs to access logs",
"type": "array" "type": "array"
......
...@@ -28,6 +28,7 @@ custom-personal = ${dynamic-template-caddy-replicate:rendered} ...@@ -28,6 +28,7 @@ custom-personal = ${dynamic-template-caddy-replicate:rendered}
single-default = ${dynamic-template-caddy-frontend:rendered} single-default = ${dynamic-template-caddy-frontend:rendered}
single-custom-personal = ${dynamic-template-caddy-frontend:rendered} single-custom-personal = ${dynamic-template-caddy-frontend:rendered}
replicate = ${dynamic-template-caddy-replicate:rendered} replicate = ${dynamic-template-caddy-replicate:rendered}
kedifa = ${dynamic-template-kedifa:rendered}
[dynamic-template-caddy-frontend-parameters] [dynamic-template-caddy-frontend-parameters]
{% for key,value in template_frontend_parameter_dict.iteritems() %} {% for key,value in template_frontend_parameter_dict.iteritems() %}
...@@ -42,6 +43,9 @@ extensions = jinja2.ext.do ...@@ -42,6 +43,9 @@ extensions = jinja2.ext.do
extra-context = extra-context =
section parameter_dict dynamic-template-caddy-frontend-parameters section parameter_dict dynamic-template-caddy-frontend-parameters
raw software_type single-custom-personal raw software_type single-custom-personal
caucase-jinja2-library = {{ caucase_jinja2_library }}
import-list =
file caucase :caucase-jinja2-library
[dynamic-template-caddy-replicate] [dynamic-template-caddy-replicate]
< = jinja2-template-base < = jinja2-template-base
...@@ -49,12 +53,11 @@ depends = ${caddyprofiledeps:recipe} ...@@ -49,12 +53,11 @@ depends = ${caddyprofiledeps:recipe}
template = {{ template_caddy_replicate }} template = {{ template_caddy_replicate }}
filename = instance-caddy-replicate.cfg filename = instance-caddy-replicate.cfg
extensions = jinja2.ext.do extensions = jinja2.ext.do
openssl = {{ template_frontend_parameter_dict['openssl'] ~ '/bin/openssl' }}
extra-context = extra-context =
import subprocess_module subprocess import subprocess_module subprocess
import functools_module functools import functools_module functools
import validators validators import validators validators
key openssl :openssl key cluster_identification instance-parameter:root-instance-title
raw caddy_backend_url_validator {{ caddy_backend_url_validator }} raw caddy_backend_url_validator {{ caddy_backend_url_validator }}
raw caddy_custom_http_validator {{ caddy_custom_http_validator }} raw caddy_custom_http_validator {{ caddy_custom_http_validator }}
raw template_publish_slave_information {{ template_replicate_publish_slave_information }} raw template_publish_slave_information {{ template_replicate_publish_slave_information }}
...@@ -62,6 +65,19 @@ extra-context = ...@@ -62,6 +65,19 @@ extra-context =
raw software_type RootSoftwareInstance-default-custom-personal-replicate raw software_type RootSoftwareInstance-default-custom-personal-replicate
raw template_monitor {{ monitor2_template }} raw template_monitor {{ monitor2_template }}
raw common_profile {{ common_profile }} raw common_profile {{ common_profile }}
section parameter_dict dynamic-template-caddy-frontend-parameters
[dynamic-template-kedifa]
< = jinja2-template-base
template = {{ template_kedifa }}
filename = instance-kedifa.cfg
extensions = jinja2.ext.do
extra-context =
section parameter_dict dynamic-template-caddy-frontend-parameters
raw software_type kedifa
caucase-jinja2-library = {{ caucase_jinja2_library }}
import-list =
file caucase :caucase-jinja2-library
[instance-parameter] [instance-parameter]
# Fetches parameters defined in SlapOS Master for this instance. # Fetches parameters defined in SlapOS Master for this instance.
...@@ -82,6 +98,9 @@ configuration.port = 4443 ...@@ -82,6 +98,9 @@ configuration.port = 4443
configuration.plain_http_port = 8080 configuration.plain_http_port = 8080
configuration.plain_nginx_port = 8081 configuration.plain_nginx_port = 8081
configuration.nginx_port = 9443 configuration.nginx_port = 9443
configuration.kedifa_port = 7879
# Warning: Caucase takes also cacuase_port+1
configuration.caucase_port = 8890
# BBB: apache_custom_https and apache_custom_http # BBB: apache_custom_https and apache_custom_http
configuration.apache_custom_https = "" configuration.apache_custom_https = ""
configuration.apache_custom_http = "" configuration.apache_custom_http = ""
...@@ -89,11 +108,10 @@ configuration.caddy_custom_https = "" ...@@ -89,11 +108,10 @@ configuration.caddy_custom_https = ""
configuration.caddy_custom_http = "" configuration.caddy_custom_http = ""
configuration.apache-key = configuration.apache-key =
configuration.apache-certificate = configuration.apache-certificate =
configuration.apache-ca-certificate =
configuration.open-port = 80 443 configuration.open-port = 80 443
configuration.disk-cache-size = 8G configuration.disk-cache-size = 8G
configuration.ram-cache-size = 1G configuration.ram-cache-size = 1G
configuration.trafficserver-autoconf-port = 8083 configuration.trafficserver-synthetic-port = 8083
configuration.trafficserver-mgmt-port = 8084 configuration.trafficserver-mgmt-port = 8084
configuration.re6st-verification-url = http://[2001:67c:1254:4::1]/index.html configuration.re6st-verification-url = http://[2001:67c:1254:4::1]/index.html
configuration.enable-http2-by-default = true configuration.enable-http2-by-default = true
......
...@@ -2,6 +2,16 @@ ...@@ -2,6 +2,16 @@
extends = common.cfg extends = common.cfg
[versions] [versions]
# Versions pinned for kedifa need urllib3 >= 1.18
urllib3 = 1.24
requests = 2.20.0
certifi = 2018.10.15
idna = 2.7
chardet = 3.0.4
# ipaddress is patching IPAddress so IPv6 match works
ipaddress = 1.0.22
# Versions pinned for kedifa need urllib3 >= 1.18
validators = 0.12.2 validators = 0.12.2
PyRSS2Gen = 1.1 PyRSS2Gen = 1.1
cns.recipe.symlink = 0.2.3 cns.recipe.symlink = 0.2.3
...@@ -15,3 +25,4 @@ smmap = 0.9.0 ...@@ -15,3 +25,4 @@ smmap = 0.9.0
numpy = 1.11.2 numpy = 1.11.2
websockify = 0.8.0 websockify = 0.8.0
collective.recipe.shelloutput = 0.1
...@@ -4,25 +4,37 @@ import {{frontend_configuration.get('log-access-configuration')}} ...@@ -4,25 +4,37 @@ import {{frontend_configuration.get('log-access-configuration')}}
import {{ slave_configuration_directory }}/*.conf import {{ slave_configuration_directory }}/*.conf
import {{ slave_with_cache_configuration_directory }}/*.conf import {{ slave_with_cache_configuration_directory }}/*.conf
{%- set ssl = {} -%}
{%- if os_module.path.exists(master_certificate) -%}
{%- do ssl.__setitem__('certificate', master_certificate) -%}
{%- do ssl.__setitem__('key', master_certificate) -%}
{#- BBB: SlapOS Master non-zero knowledge BEGIN -#}
{%- elif os_module.path.getsize(apache_certificate) > 0 and os_module.path.getsize(apache_key) > 0 -%}
{%- do ssl.__setitem__('certificate', apache_certificate) -%}
{%- do ssl.__setitem__('key', apache_key) -%}
{%- endif -%}
{#- BBB: SlapOS Master non-zero knowledge END #}
# Catch-all and 404 for not configured instances # Catch-all and 404 for not configured instances
{% if 'key' in ssl %}
:{{ https_port }} { :{{ https_port }} {
tls {{ login_certificate }} {{ login_key }} tls {{ ssl['certificate'] }} {{ ssl['key'] }}
bind {{ local_ipv4 }} bind {{ local_ipv4 }}
# Compress the output # Compress the output
gzip gzip
status 404 / status 404 /
log / {{ access_log }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ access_log }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ error_log }} { errors {{ error_log }} {
* {{ not_found_file }} * {{ not_found_file }}
} }
} }
{% endif %}
:{{ http_port }} { :{{ http_port }} {
bind {{ local_ipv4 }} bind {{ local_ipv4 }}
# Compress the output # Compress the output
gzip gzip
status 404 / status 404 /
log / {{ access_log }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ access_log }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ error_log }} { errors {{ error_log }} {
* {{ not_found_file }} * {{ not_found_file }}
} }
...@@ -40,7 +52,7 @@ https://[{{ global_ipv6 }}]:{{ https_port }}/server-status, https://{{ local_ipv ...@@ -40,7 +52,7 @@ https://[{{ global_ipv6 }}]:{{ https_port }}/server-status, https://{{ local_ipv
} }
expvar expvar
pprof pprof
log / {{ access_log }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ access_log }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ error_log }} { errors {{ error_log }} {
* {{ not_found_file }} * {{ not_found_file }}
} }
......
...@@ -20,15 +20,10 @@ recipe = slapos.recipe.template:jinja2 ...@@ -20,15 +20,10 @@ recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do extensions = jinja2.ext.do
extra-context = extra-context =
context = context =
import os_module os
raw common_profile {{ common_profile }} raw common_profile {{ common_profile }}
${:extra-context} ${:extra-context}
{% do logrotate_dict.pop('recipe') %}
[logrotate]
{% for key, value in logrotate_dict.iteritems() %}
{{ key }} = {{ value }}
{% endfor %}
post = {{ frontend_lazy_graceful_reload }} & post = {{ frontend_lazy_graceful_reload }} &
frequency = daily frequency = daily
rotatep-num = 30 rotatep-num = 30
...@@ -36,13 +31,20 @@ sharedscripts = true ...@@ -36,13 +31,20 @@ sharedscripts = true
notifempty = true notifempty = true
create = true create = true
[cadirectory] {% if master_key_download_url %}
recipe = slapos.cookbook:mkdirectory {% do part_list.append('master-key-download') %}
requests = {{ custom_ssl_directory }}/requests/ [master-key-download]
private = {{ custom_ssl_directory }}/private/ recipe = plone.recipe.command
certs = {{ custom_ssl_directory }}/certs/ destination = {{ master_certificate }}
newcerts = {{ custom_ssl_directory }}/newcerts/ command = {{ kedifa_getter }} --out ${:destination} --server-ca-certificate {{ kedifa_caucase_ca_certificate }} --identity {{ kedifa_login_certificate }} {{ master_key_download_url }}
crl = {{ custom_ssl_directory }}/crl/ update-command = ${:command}
{% endif %}
{% if slave_kedifa_information %}
{% set slave_kedifa_information = json_module.loads(slave_kedifa_information) %}
{% else %}
{% set slave_kedifa_information = {} %}
{% endif %}
[promise-plugin-base] [promise-plugin-base]
recipe = slapos.cookbook:promise.plugin recipe = slapos.cookbook:promise.plugin
...@@ -55,6 +57,12 @@ output = {{ plugin_directory }}/${:name} ...@@ -55,6 +57,12 @@ output = {{ plugin_directory }}/${:name}
{# Loop thought slave list to set up slaves #} {# Loop thought slave list to set up slaves #}
{% for slave_instance in slave_instance_list %} {% for slave_instance in slave_instance_list %}
{% set slave_reference = slave_instance.get('slave_reference') %} {% set slave_reference = slave_instance.get('slave_reference') %}
{% set slave_kedifa = slave_kedifa_information.get(slave_reference) %}
{% if slave_kedifa %}
{% set key_download_url = slave_kedifa.get('key-download-url') %}
{% else %}
{% set key_download_url = '' %}
{% endif %}
{% set slave_type = slave_instance.get('type', '') %} {% set slave_type = slave_instance.get('type', '') %}
{% set slave_section_title = 'dynamic-template-slave-instance-%s' % slave_reference %} {% set slave_section_title = 'dynamic-template-slave-instance-%s' % slave_reference %}
{% set slave_parameter_dict = generic_instance_parameter_dict.copy() %} {% set slave_parameter_dict = generic_instance_parameter_dict.copy() %}
...@@ -68,7 +76,7 @@ output = {{ plugin_directory }}/${:name} ...@@ -68,7 +76,7 @@ output = {{ plugin_directory }}/${:name}
{% do part_list.extend([slave_ln_section]) %} {% do part_list.extend([slave_ln_section]) %}
{% do part_list.extend([slave_logrotate_section, slave_section_title]) %} {% do part_list.extend([slave_logrotate_section, slave_section_title]) %}
{% set slave_log_folder = logrotate_dict.get('backup') + '/' + slave_reference + "-logs" %} {% set slave_log_folder = '${logrotate-directory:logrotate-backup}/' + slave_reference + "-logs" %}
{# Pass HTTP2 switch #} {# Pass HTTP2 switch #}
{% do slave_instance.__setitem__('enable_http2_by_default', enable_http2_by_default) %} {% do slave_instance.__setitem__('enable_http2_by_default', enable_http2_by_default) %}
...@@ -147,8 +155,7 @@ extra-context = ...@@ -147,8 +155,7 @@ extra-context =
{# Set slave logrotate entry #} {# Set slave logrotate entry #}
[{{slave_logrotate_section}}] [{{slave_logrotate_section}}]
<= logrotate <= logrotate-entry-base
recipe = slapos.cookbook:logrotate.d
name = ${:_buildout_section_name_} name = ${:_buildout_section_name_}
log = {{slave_parameter_dict.get('access_log')}} {{slave_parameter_dict.get('error_log')}} log = {{slave_parameter_dict.get('access_log')}} {{slave_parameter_dict.get('error_log')}}
backup = {{ slave_log_folder }} backup = {{ slave_log_folder }}
...@@ -167,10 +174,37 @@ bytes = 8 ...@@ -167,10 +174,37 @@ bytes = 8
{# ################################################## #} {# ################################################## #}
{# Set Slave Certificates if needed #} {# Set Slave Certificates if needed #}
{% set cert_dirname = slave_reference.replace('-','.') %}
{% set autocert_dir = '/'.join([autocert, cert_dirname]) %}
[{{ slave_reference }}-path]
recipe = slapos.cookbook:mkdirectory
cert = {{ autocert_dir }}
{# Set certificate key for custom configuration #}
{% set certificate = '%s/certificate.pem' % (autocert_dir, ) %}
{% do slave_parameter_dict.__setitem__('certificate', certificate )%}
[{{ slave_reference }}-key-download]
recipe = plone.recipe.command
destination = {{ '${' + slave_reference + '-path:cert}/downloaded.pem' }}
used = {{ '${' + slave_reference + '-path:cert}/certificate.pem' }}
source-master = ${master-key-download:destination}
command =
{{ kedifa_getter }} --out ${:destination} --server-ca-certificate {{ kedifa_caucase_ca_certificate }} --identity {{ kedifa_login_certificate }} {{ key_download_url }}
if [ -f ${:destination} ] ; then
# if the slave specific certificate is available, use it
ln -sf ${:destination} ${:used}
elif [ -f ${:source-master} ] ; then
# if the master provided certificate is available, use it
ln -sf ${:source-master} ${:used}
else
rm -f ${:used}
fi
update-command = ${:command}
# BBB: SlapOS Master non-zero knowledge BEGIN
{# Set ssl certificates for each slave #} {# Set ssl certificates for each slave #}
{% for cert_name in ('ssl_csr', 'ssl_proxy_ca_crt')%} {% for cert_name in ('ssl_csr', 'ssl_proxy_ca_crt')%}
{% if slave_instance.get(cert_name) %} {% if cert_name in slave_instance %}
{% set cert_title = '%s-%s' % (slave_reference, cert_name.replace('ssl_', '')) %} {% set cert_title = '%s-%s' % (slave_reference, cert_name.replace('ssl_', '')) %}
{% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) %} {% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) %}
{% do part_list.append(cert_title) %} {% do part_list.append(cert_title) %}
...@@ -190,12 +224,9 @@ value = {{ dumps(slave_instance.get(cert_name)) }} ...@@ -190,12 +224,9 @@ value = {{ dumps(slave_instance.get(cert_name)) }}
{% endfor %} {% endfor %}
{#- Set Up Certs #} {#- Set Up Certs #}
{% do slave_instance.__setitem__('login_certificate', login_certificate) %} {% do slave_instance.__setitem__('apache_certificate', apache_certificate) %}
{% do slave_instance.__setitem__('login_key', login_key) %} {% do slave_instance.__setitem__('apache_key', apache_key) %}
{% do slave_instance.__setitem__('login_ca_crt', login_ca_crt) %} {% if 'ssl_key' in slave_instance and 'ssl_crt' in slave_instance %}
{% do slave_parameter_dict.__setitem__('ssl_crt', login_certificate) %}
{% do slave_parameter_dict.__setitem__('ssl_key', login_key) %}
{% if slave_instance.get('ssl_key') and slave_instance.get('ssl_crt') %}
{% set cert_title = '%s-crt' % (slave_reference) %} {% set cert_title = '%s-crt' % (slave_reference) %}
{% set key_title = '%s-key' % (slave_reference) %} {% set key_title = '%s-key' % (slave_reference) %}
{% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) %} {% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) %}
...@@ -219,14 +250,16 @@ extra-context = ...@@ -219,14 +250,16 @@ extra-context =
< = jinja2-template-base < = jinja2-template-base
template = {{ empty_template }} template = {{ empty_template }}
rendered = {{ cert_file }} rendered = {{ cert_file }}
cert-content = {{ dumps('%s\n%s' % (slave_instance.get('ssl_crt'), slave_instance.get('ssl_ca_crt', '') or '')) }} cert-content = {{ dumps(slave_instance.get('ssl_crt') + '\n' + slave_instance.get('ssl_ca_crt', '')) }}
extra-context = extra-context =
key content :cert-content key content :cert-content
{% endif %} {% endif %}
# BBB: SlapOS Master non-zero knowledge END
{# ########################################## #} {# ########################################## #}
{# Set Slave Configuration #} {# Set Slave Configuration #}
[{{ slave_configuration_section_name }}] [{{ slave_configuration_section_name }}]
certificate = {{ '${' + slave_reference + '-key-download:used}' }}
https_port = {{ dumps('' ~ https_port) }} https_port = {{ dumps('' ~ https_port) }}
http_port = {{ dumps('' ~ http_port) }} http_port = {{ dumps('' ~ http_port) }}
local_ipv4 = {{ dumps('' ~ local_ipv4) }} local_ipv4 = {{ dumps('' ~ local_ipv4) }}
...@@ -457,9 +490,14 @@ private-ipv4 = {{ local_ipv4 }} ...@@ -457,9 +490,14 @@ private-ipv4 = {{ local_ipv4 }}
slave-instance-information-list = {{ json_module.dumps(slave_instance_information_list) }} slave-instance-information-list = {{ json_module.dumps(slave_instance_information_list) }}
{% endif %} {% endif %}
monitor-base-url = {{ monitor_base_url }} monitor-base-url = {{ monitor_base_url }}
csr_id-url = https://[${expose-csr_id-configuration:ip}]:${expose-csr_id-configuration:port}/csr_id.txt
csr_id-certificate = ${get-csr_id-certificate:certificate}
[buildout] [buildout]
extends = {{ common_profile }} extends =
{{ common_profile }}
{{ logrotate_base_instance }}
parts += parts +=
{% for part in part_list %} {% for part in part_list %}
{{ ' %s' % part }} {{ ' %s' % part }}
...@@ -471,7 +509,76 @@ parts += ...@@ -471,7 +509,76 @@ parts +=
tunnel-6to4-base-ssl_cached_port tunnel-6to4-base-ssl_cached_port
tunnel-6to4-base-nginx_http_port tunnel-6to4-base-nginx_http_port
tunnel-6to4-base-nginx_https_port tunnel-6to4-base-nginx_https_port
expose-csr_id
cache-access = {{ cache_access }} cache-access = {{ cache_access }}
[store-csr_id]
recipe = plone.recipe.command
csr_id_path = {{ directory_csr_id }}/csr_id.txt
csr_work_path = {{ directory_tmp }}/${:_buildout_section_name_}
stop-on-error = False
update-command = ${:command}
command =
{{ bin_directory }}/caucase \
--ca-url {{ caucase_url }} \
--ca-crt {{ csr_cas_ca_certificate }} \
--crl {{ csr_crl }} \
--mode service \
--send-csr {{ csr_id_csr }} > ${:csr_work_path} && \
cut -d ' ' -f 1 ${:csr_work_path} > ${:csr_id_path}
[certificate-csr_id]
recipe = plone.recipe.command
certificate = {{ directory_caddy_csr_id }}/certificate.pem
key = {{ directory_caddy_csr_id }}/key.pem
stop-on-error = True
update-command = ${:command}
command =
if ! [ -f ${:key} ] && ! [ -f ${:certificate} ] ; then
openssl req -new -newkey rsa:2048 -sha256 -subj \
"/O={{ certificate_organization }}/OU={{ certificate_organizational_unit }}/CN=${slap-network-information:global-ipv6}" \
-days 5 -nodes -x509 -keyout ${:key} -out ${:certificate}
fi
[expose-csr_id-configuration]
ip = ${slap-network-information:global-ipv6}
port = 17001
key = ${certificate-csr_id:key}
certificate = ${certificate-csr_id:certificate}
error-log = {{ directory_caddy_csr_id_log }}/expose-csr_id.log
[expose-csr_id-template]
recipe = slapos.recipe.template:jinja2
template = inline:
https://:${expose-csr_id-configuration:port}/ {
bind ${expose-csr_id-configuration:ip}
tls ${expose-csr_id-configuration:certificate} ${expose-csr_id-configuration:key}
log ${expose-csr_id-configuration:error-log}
}
rendered = {{ directory_caddy_csr_id }}/Caddyfile
[expose-csr_id]
depends = ${store-csr_id:command}
recipe = slapos.cookbook:wrapper
command-line = {{ caddy_executable }}
-conf ${expose-csr_id-template:rendered}
-log ${expose-csr_id-configuration:error-log}
-http2=true
-disable-http-challenge
-disable-tls-sni-challenge
-root {{ directory_csr_id }}
wrapper-path = {{ service_directory }}/expose-csr_id
hash-files = ${buildout:directory}/software_release/buildout.cfg
[get-csr_id-certificate]
recipe = collective.recipe.shelloutput
commands =
certificate = cat ${certificate-csr_id:certificate}
{% endif %} {% endif %}
...@@ -26,11 +26,25 @@ ...@@ -26,11 +26,25 @@
{%- set default_path = slave_parameter.get('default-path', '').strip('/') | urlencode %} {%- set default_path = slave_parameter.get('default-path', '').strip('/') | urlencode %}
# SSL enabled hosts # SSL enabled hosts
{% set ssl = {} %}
{% if os_module.path.exists(slave_parameter['certificate']) %}
{% do ssl.__setitem__('certificate', slave_parameter['certificate']) %}
{% do ssl.__setitem__('key', slave_parameter['certificate']) %}
{#- BBB: SlapOS Master non-zero knowledge BEGIN -#}
{% elif 'path_to_ssl_crt' in slave_parameter and 'path_to_ssl_key' in slave_parameter %}
{% do ssl.__setitem__('certificate', slave_parameter['path_to_ssl_crt']) %}
{% do ssl.__setitem__('key', slave_parameter['path_to_ssl_key']) %}
{% elif os_module.path.getsize(slave_parameter['apache_certificate']) > 0 and os_module.path.getsize(slave_parameter['apache_key']) > 0 %}
{% do ssl.__setitem__('certificate', slave_parameter['apache_certificate']) %}
{% do ssl.__setitem__('key', slave_parameter['apache_key']) %}
{% endif %}
{#- BBB: SlapOS Master non-zero knowledge END -#}
{% if 'key' in ssl %}
{{ https_host_list|join(', ') }} { {{ https_host_list|join(', ') }} {
bind {{ slave_parameter['local_ipv4'] }} bind {{ slave_parameter['local_ipv4'] }}
# Compress the output # Compress the output
gzip gzip
tls {{ slave_parameter.get('path_to_ssl_crt', slave_parameter.get('login_certificate')) }} {{ slave_parameter.get('path_to_ssl_key', slave_parameter.get('login_key')) }} { tls {{ ssl['certificate'] }} {{ ssl['key'] }} {
{%- if enable_h2 %} {%- if enable_h2 %}
# Allow HTTP2 # Allow HTTP2
alpn h2 http/1.1 alpn h2 http/1.1
...@@ -39,7 +53,7 @@ ...@@ -39,7 +53,7 @@
alpn http/1.1 alpn http/1.1
{%- endif %} {#- if enable_h2 #} {%- endif %} {#- if enable_h2 #}
} {# tls #} } {# tls #}
log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ slave_parameter.get('access_log') }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ slave_parameter.get('error_log') }} errors {{ slave_parameter.get('error_log') }}
{%- if not (slave_type == 'zope' and backend_url) %} {%- if not (slave_type == 'zope' and backend_url) %}
...@@ -175,6 +189,7 @@ ...@@ -175,6 +189,7 @@
{%- endif %} {#- if backend_url #} {%- endif %} {#- if backend_url #}
{%- endif %} {#- if slave_type == 'zope' and backend_url #} {%- endif %} {#- if slave_type == 'zope' and backend_url #}
} {# https_host_list|join(', ') #} } {# https_host_list|join(', ') #}
{% endif %}
# SSL-disabled hosts # SSL-disabled hosts
{{ http_host_list|join(', ') }} { {{ http_host_list|join(', ') }} {
...@@ -182,7 +197,7 @@ ...@@ -182,7 +197,7 @@
# Compress the output # Compress the output
gzip gzip
log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ slave_parameter.get('access_log') }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ slave_parameter.get('error_log') }} errors {{ slave_parameter.get('error_log') }}
{%- if not (slave_type == 'zope' and backend_url) %} {%- if not (slave_type == 'zope' and backend_url) %}
......
...@@ -7,9 +7,6 @@ ...@@ -7,9 +7,6 @@
{% set https_protocol = https_url.split("/")[0] %} {% set https_protocol = https_url.split("/")[0] %}
{% set proxy_pass = '%s//%s' % (protocol, slave_parameter.get('slave_reference')) %} {% set proxy_pass = '%s//%s' % (protocol, slave_parameter.get('slave_reference')) %}
{% set https_proxy_pass = '%s//https_%s' % (protocol, slave_parameter.get('slave_reference')) %} {% set https_proxy_pass = '%s//https_%s' % (protocol, slave_parameter.get('slave_reference')) %}
{% set ssl_configuration_list = [('ssl_certificate', 'path_to_ssl_crt'),
('ssl_certificate_key', 'path_to_ssl_key')] %}
# TODO-Caddy upstream {{ slave_parameter.get('slave_reference') }} { # TODO-Caddy upstream {{ slave_parameter.get('slave_reference') }} {
# TODO-Caddy server {{ upstream }}; # TODO-Caddy server {{ upstream }};
...@@ -75,12 +72,6 @@ ...@@ -75,12 +72,6 @@
# TODO-Caddy ssl_prefer_server_ciphers on; # TODO-Caddy ssl_prefer_server_ciphers on;
# TODO-Caddy ssl_session_cache shared:SSL:10m; # TODO-Caddy ssl_session_cache shared:SSL:10m;
{% for key, value in ssl_configuration_list %}
{% if value in slave_parameter %}
# TODO-Caddy {{ ' %s' % key }} {{ slave_parameter.get(value) }};
{% endif %}
{% endfor %}
# TODO-Caddy location /pub { # TODO-Caddy location /pub {
# TODO-Caddy push_stream_publisher; # TODO-Caddy push_stream_publisher;
# TODO-Caddy push_stream_channels_path $arg_id; # TODO-Caddy push_stream_channels_path $arg_id;
......
...@@ -5,14 +5,28 @@ ...@@ -5,14 +5,28 @@
{%- set https_upstream = https_url.split("/")[2] %} {%- set https_upstream = https_url.split("/")[2] %}
# SSL-enabled # SSL-enabled
{% set ssl = {} %}
{% if os_module.path.exists(slave_parameter['certificate']) %}
{% do ssl.__setitem__('certificate', slave_parameter['certificate']) %}
{% do ssl.__setitem__('key', slave_parameter['certificate']) %}
{#- BBB: SlapOS Master non-zero knowledge BEGIN -#}
{% elif 'path_to_ssl_crt' in slave_parameter and 'path_to_ssl_key' in slave_parameter %}
{% do ssl.__setitem__('certificate', slave_parameter['path_to_ssl_crt']) %}
{% do ssl.__setitem__('key', slave_parameter['path_to_ssl_key']) %}
{% elif os_module.path.getsize(slave_parameter['apache_certificate']) > 0 and os_module.path.getsize(slave_parameter['apache_key']) > 0 %}
{% do ssl.__setitem__('certificate', slave_parameter['apache_certificate']) %}
{% do ssl.__setitem__('key', slave_parameter['apache_key']) %}
{% endif %}
{#- BBB: SlapOS Master non-zero knowledge END -#}
{% if 'key' in ssl %}
https://{{ slave_parameter.get('custom_domain') }}:{{ slave_parameter['nginx_https_port'] }} { https://{{ slave_parameter.get('custom_domain') }}:{{ slave_parameter['nginx_https_port'] }} {
bind {{ slave_parameter['local_ipv4'] }} bind {{ slave_parameter['local_ipv4'] }}
# Compress the output # Compress the output
gzip gzip
log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ slave_parameter.get('access_log') }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ slave_parameter.get('error_log') }} errors {{ slave_parameter.get('error_log') }}
tls {{ slave_parameter.get('path_to_ssl_crt', slave_parameter.get('login_certificate')) }} {{ slave_parameter.get('path_to_ssl_key', slave_parameter.get('login_key')) }} { tls {{ ssl['certificate'] }} {{ ssl['key'] }} {
alpn http/1.1 alpn http/1.1
} }
...@@ -36,13 +50,14 @@ https://{{ slave_parameter.get('custom_domain') }}:{{ slave_parameter['nginx_htt ...@@ -36,13 +50,14 @@ https://{{ slave_parameter.get('custom_domain') }}:{{ slave_parameter['nginx_htt
insecure_skip_verify insecure_skip_verify
} }
} }
{% endif %}
# SSL-disabled # SSL-disabled
http://{{ slave_parameter.get('custom_domain') }}:{{ slave_parameter['nginx_http_port'] }} { http://{{ slave_parameter.get('custom_domain') }}:{{ slave_parameter['nginx_http_port'] }} {
bind {{ slave_parameter['local_ipv4'] }} bind {{ slave_parameter['local_ipv4'] }}
# Compress the output # Compress the output
gzip gzip
log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ slave_parameter.get('access_log') }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ slave_parameter.get('error_log') }} errors {{ slave_parameter.get('error_log') }}
proxy / {{ upstream }} { proxy / {{ upstream }} {
......
...@@ -58,24 +58,37 @@ ...@@ -58,24 +58,37 @@
import {{ slave_configuration_directory }}/*.conf import {{ slave_configuration_directory }}/*.conf
# Catch-all and 404 for not configured instances # Catch-all and 404 for not configured instances
{%- set ssl = {} -%}
{%- if os_module.path.exists(master_certificate) -%}
{%- do ssl.__setitem__('certificate', master_certificate) -%}
{%- do ssl.__setitem__('key', master_certificate) -%}
{#- BBB: SlapOS Master non-zero knowledge BEGIN -#}
{%- elif os_module.path.getsize(apache_certificate) > 0 and os_module.path.getsize(apache_key) > 0 -%}
{%- do ssl.__setitem__('certificate', apache_certificate) -%}
{%- do ssl.__setitem__('key', apache_key) -%}
{%- endif -%}
{#- BBB: SlapOS Master non-zero knowledge END -#}
# Catch-all and 404 for not configured instances
{% if 'key' in ssl %}
:{{ port }} { :{{ port }} {
tls {{ ssl_certificate }} {{ ssl_key }} tls {{ ssl['certificate'] }} {{ ssl['key'] }}
bind {{ local_ip }} bind {{ local_ip }}
# Serve an error 204 (No Content) for favicon.ico # Serve an error 204 (No Content) for favicon.ico
status 204 /favicon.ico status 204 /favicon.ico
status 404 / status 404 /
log / {{ access_log }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ access_log }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ error_log }} { errors {{ error_log }} {
* {{ not_found_file }} * {{ not_found_file }}
} }
} }
{% endif %}
:{{ plain_port }} { :{{ plain_port }} {
bind {{ local_ip }} bind {{ local_ip }}
# Serve an error 204 (No Content) for favicon.ico # Serve an error 204 (No Content) for favicon.ico
status 204 /favicon.ico status 204 /favicon.ico
status 404 / status 404 /
log / {{ access_log }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ access_log }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ error_log }} { errors {{ error_log }} {
* {{ not_found_file }} * {{ not_found_file }}
} }
......
...@@ -34,6 +34,23 @@ ...@@ -34,6 +34,23 @@
{% do slave_information_dict[slave_reference].__setitem__('request-error-list', rejected_info_list) %} {% do slave_information_dict[slave_reference].__setitem__('request-error-list', rejected_info_list) %}
{% endfor %} {% endfor %}
{% for slave_reference, warning_info_list in warning_slave_information.iteritems() %}
{% if slave_reference not in slave_information_dict %}
{% do slave_information_dict.__setitem__(slave_reference, {}) %}
{% endif %}
{% do slave_information_dict[slave_reference].__setitem__('warning-list', warning_info_list) %}
{% endfor %}
{% for slave_reference, kedifa_dict in json_module.loads(slave_kedifa_information).iteritems() %}
{% if slave_reference not in rejected_slave_information %}
{% if slave_reference not in slave_information_dict %}
{% do slave_information_dict.__setitem__(slave_reference, {}) %}
{% endif %}
{% do slave_information_dict[slave_reference].__setitem__('key-generate-auth-url', kedifa_dict['key-generate-auth-url']) %}
{% do slave_information_dict[slave_reference].__setitem__('key-upload-url', kedifa_dict['key-upload-url']) %}
{% endif %}
{% endfor %}
# Publish information for each slave # Publish information for each slave
{% set active_slave_instance_list = json_module.loads(active_slave_instance_dict['active-slave-instance-list']) %} {% set active_slave_instance_list = json_module.loads(active_slave_instance_dict['active-slave-instance-list']) %}
{% for slave_reference, slave_information in slave_information_dict.iteritems() %} {% for slave_reference, slave_information in slave_information_dict.iteritems() %}
......
# Access log configuration
{% for slave, directory in slave_log_directory.iteritems() %} {% for slave, directory in slave_log_directory.iteritems() %}
https://[{{ parameter_dict['global_ipv6'] }}]:{{ parameter_dict['https_port'] }}/{{ slave }}, https://{{ parameter_dict['local_ipv4'] }}:{{ parameter_dict['https_port'] }}/{{ slave }} { https://[{{ parameter_dict['global_ipv6'] }}]:{{ parameter_dict['https_port'] }}/{{ slave }}, https://{{ parameter_dict['local_ipv4'] }}:{{ parameter_dict['https_port'] }}/{{ slave }} {
bind {{ parameter_dict['local_ipv4'] }} bind {{ parameter_dict['local_ipv4'] }}
...@@ -8,7 +9,7 @@ https://[{{ parameter_dict['global_ipv6'] }}]:{{ parameter_dict['https_port'] }} ...@@ -8,7 +9,7 @@ https://[{{ parameter_dict['global_ipv6'] }}]:{{ parameter_dict['https_port'] }}
"Log Access {{ slave }}" "Log Access {{ slave }}"
/ /
} }
log / {{ parameter_dict['access_log'] }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ parameter_dict['access_log'] }} "{remote} - {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ parameter_dict['error_log'] }} { errors {{ parameter_dict['error_log'] }} {
* {{ parameter_dict['not_found_file'] }} * {{ parameter_dict['not_found_file'] }}
} }
......
squid = format {
Format = '%<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<pqsn> %<psct>'
}
log.ascii {
Format = squid,
Filename = 'squid',
RollingEnabled = 1,
RollingIntervalSec = 3600,
RollingOffsetHr = 0
}
{{ ats_configuration.get("cache-path") }} {{ ats_configuration.get("disk-cache-size") }} volume={{ ats_configuration.get("hostname") }} #
\ No newline at end of file # storage.config - Storage Configuration file
#
# Documentation:
# https://docs.trafficserver.apache.org/en/latest/admin-guide/files/storage.config.en.html
#
# The storage configuration is a list of all the storage to
# be used by the cache.
#
#
#############################################################
# Using a file for the cache storage
#
# <pathname> <size>
{{ ats_configuration.get("cache-path") }} {{ ats_configuration.get("disk-cache-size") }}
...@@ -40,10 +40,16 @@ setup(name=name, ...@@ -40,10 +40,16 @@ setup(name=name,
'slapos.core', 'slapos.core',
'slapos.libnetworkcache', 'slapos.libnetworkcache',
'erp5.util', 'erp5.util',
'requests', 'requests >= 2.20.0', # needed for recent SSL certificate fixes
'urllib3 >= 1.24', # needed for recent SSL certificate fixes
# ipaddress is patching IPAddress so IPv6 in SSL certificates
# match works
'ipaddress >= 1.0.22',
'forcediphttpsadapter', 'forcediphttpsadapter',
'requests-toolbelt', 'requests-toolbelt',
'supervisor', 'supervisor',
# caucase needed to connect to the KeDiFa caucase
'caucase',
'cryptography', 'cryptography',
], ],
zip_safe=True, zip_safe=True,
......
This diff is collapsed.
T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/expose-csr_id.log
\ No newline at end of file
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
\ No newline at end of file T-1/var/run/kedifa.pid
\ No newline at end of file
T-2/etc/monitor-promise/check-_test-error-log-last-day
T-2/etc/monitor-promise/check-_test-error-log-last-hour
\ No newline at end of file
...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: ERROR T-2/etc/plugin/caddy_frontend_ipv4_http.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_https.py: ERROR T-2/etc/plugin/caddy_frontend_ipv4_https.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv6_http.py: ERROR T-2/etc/plugin/caddy_frontend_ipv6_http.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv6_https.py: ERROR T-2/etc/plugin/caddy_frontend_ipv6_https.py: ERROR
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_test-error-log-last-day.py: OK T-2/etc/plugin/check-_test-error-log-last-day.py: OK
T-1/etc/plugin/check-_test-error-log-last-hour.py: OK T-2/etc/plugin/check-_test-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: ERROR T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: ERROR T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: ERROR
T-1/etc/plugin/nginx-configuration-promise.py: ERROR T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: ERROR T-2/etc/plugin/nginx_frontend_ipv4_http.py: ERROR
T-1/etc/plugin/nginx_frontend_ipv4_https.py: ERROR T-2/etc/plugin/nginx_frontend_ipv4_https.py: ERROR
T-1/etc/plugin/nginx_frontend_ipv6_http.py: ERROR T-2/etc/plugin/nginx_frontend_ipv6_http.py: ERROR
T-1/etc/plugin/nginx_frontend_ipv6_https.py: ERROR T-2/etc/plugin/nginx_frontend_ipv6_https.py: ERROR
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: ERROR T-2/etc/plugin/trafficserver-cache-availability.py: ERROR
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: ERROR
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch EXITED T-0:monitor-httpd-{hash}-on-watch EXITED
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch STOPPED T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch STOPPED T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch STOPPED T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch STOPPED T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch STOPPED T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch STOPPED T-2:6tunnel-11080-{hash}-on-watch STOPPED
T-1:bootstrap-monitor STOPPED T-2:6tunnel-11443-{hash}-on-watch STOPPED
T-1:certificate_authority-{hash}-on-watch STOPPED T-2:6tunnel-12080-{hash}-on-watch STOPPED
T-1:crond-{hash} STOPPED T-2:6tunnel-12443-{hash}-on-watch STOPPED
T-1:crond-on-watch STOPPED T-2:6tunnel-26011-{hash}-on-watch STOPPED
T-1:frontend-caddy-safe-graceful STOPPED T-2:6tunnel-26012-{hash}-on-watch STOPPED
T-1:frontend-nginx-safe-graceful STOPPED T-2:bootstrap-monitor STOPPED
T-1:frontend_caddy-{hash}-on-watch STOPPED T-2:certificate_authority-{hash}-on-watch STOPPED
T-1:frontend_nginx-{hash}-on-watch STOPPED T-2:crond-{hash}-on-watch STOPPED
T-1:monitor-httpd-{hash}-on-watch STOPPED T-2:expose-csr_id-{hash}-on-watch STOPPED
T-1:monitor-httpd-graceful STOPPED T-2:frontend-caddy-safe-graceful STOPPED
T-1:trafficserver-{hash}-on-watch STOPPED T-2:frontend-nginx-safe-graceful STOPPED
T-1:trafficserver-reload STOPPED T-2:frontend_caddy-{hash}-on-watch STOPPED
watchdog:watchdog RUNNING T-2:frontend_nginx-{hash}-on-watch STOPPED
T-2:kedifa-login-certificate-caucase-updater-on-watch STOPPED
T-2:monitor-httpd-{hash}-on-watch STOPPED
T-2:monitor-httpd-graceful STOPPED
T-2:trafficserver-{hash}-on-watch STOPPED
T-2:trafficserver-reload STOPPED
watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_site_2_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_site_2_error_log T-2/var/log/frontend-error.log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_site_2_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_site_2_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/httpd.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/monitor-httpd.pid T-2/var/run/httpd.pid
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/monitor-httpd.pid
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_site_2-error-log-last-day
T-2/etc/monitor-promise/check-_site_2-error-log-last-hour
\ No newline at end of file
...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_site_2-error-log-last-day.py: OK T-2/etc/plugin/check-_site_2-error-log-last-day.py: OK
T-1/etc/plugin/check-_site_2-error-log-last-hour.py: OK T-2/etc/plugin/check-_site_2-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch RUNNING T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch RUNNING T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch RUNNING
watchdog:watchdog RUNNING T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_enable-http2-default_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_enable-http2-default_error_log T-2/var/log/frontend-error.log
T-1/var/log/httpd/_enable-http2-false_access_log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/httpd/_enable-http2-false_error_log T-2/var/log/httpd/_enable-http2-default_access_log
T-1/var/log/httpd/_enable-http2-true_access_log T-2/var/log/httpd/_enable-http2-default_error_log
T-1/var/log/httpd/_enable-http2-true_error_log T-2/var/log/httpd/_enable-http2-false_access_log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd/_enable-http2-false_error_log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_enable-http2-true_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_enable-http2-true_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/httpd.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/monitor-httpd.pid T-2/var/run/httpd.pid
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/monitor-httpd.pid
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_enable-http2-default-error-log-last-day
T-2/etc/monitor-promise/check-_enable-http2-default-error-log-last-hour
T-2/etc/monitor-promise/check-_enable-http2-false-error-log-last-day
T-2/etc/monitor-promise/check-_enable-http2-false-error-log-last-hour
T-2/etc/monitor-promise/check-_enable-http2-true-error-log-last-day
T-2/etc/monitor-promise/check-_enable-http2-true-error-log-last-hour
\ No newline at end of file
...@@ -2,27 +2,28 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,27 +2,28 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_enable-http2-default-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-default-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-default-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-default-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable-http2-false-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-false-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-false-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-false-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable-http2-true-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-true-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-true-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-true-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch RUNNING T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch RUNNING T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch RUNNING
watchdog:watchdog RUNNING T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_enable-http2-default_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_enable-http2-default_error_log T-2/var/log/frontend-error.log
T-1/var/log/httpd/_enable-http2-false_access_log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/httpd/_enable-http2-false_error_log T-2/var/log/httpd/_enable-http2-default_access_log
T-1/var/log/httpd/_enable-http2-true_access_log T-2/var/log/httpd/_enable-http2-default_error_log
T-1/var/log/httpd/_enable-http2-true_error_log T-2/var/log/httpd/_enable-http2-false_access_log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd/_enable-http2-false_error_log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_enable-http2-true_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_enable-http2-true_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/httpd.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/monitor-httpd.pid T-2/var/run/httpd.pid
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/monitor-httpd.pid
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
...@@ -2,27 +2,28 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,27 +2,28 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_enable-http2-default-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-default-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-default-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-default-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable-http2-false-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-false-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-false-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-false-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable-http2-true-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-true-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-true-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-true-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch RUNNING T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch RUNNING T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch RUNNING
T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_enable-http2-default_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_enable-http2-default_error_log T-2/var/log/frontend-error.log
T-1/var/log/httpd/_enable-http2-false_access_log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/httpd/_enable-http2-false_error_log T-2/var/log/httpd/_enable-http2-default_access_log
T-1/var/log/httpd/_enable-http2-true_access_log T-2/var/log/httpd/_enable-http2-default_error_log
T-1/var/log/httpd/_enable-http2-true_error_log T-2/var/log/httpd/_enable-http2-false_access_log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd/_enable-http2-false_error_log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_enable-http2-true_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_enable-http2-true_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/httpd.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/monitor-httpd.pid T-2/var/run/httpd.pid
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/monitor-httpd.pid
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_enable-http2-default-error-log-last-day
T-2/etc/monitor-promise/check-_enable-http2-default-error-log-last-hour
T-2/etc/monitor-promise/check-_enable-http2-false-error-log-last-day
T-2/etc/monitor-promise/check-_enable-http2-false-error-log-last-hour
T-2/etc/monitor-promise/check-_enable-http2-true-error-log-last-day
T-2/etc/monitor-promise/check-_enable-http2-true-error-log-last-hour
\ No newline at end of file
...@@ -2,27 +2,28 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,27 +2,28 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_enable-http2-default-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-default-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-default-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-default-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable-http2-false-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-false-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-false-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-false-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable-http2-true-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-true-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-true-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-true-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch RUNNING T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch RUNNING T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch RUNNING
watchdog:watchdog RUNNING T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_enable-http2-default_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_enable-http2-default_error_log T-2/var/log/frontend-error.log
T-1/var/log/httpd/_enable-http2-false_access_log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/httpd/_enable-http2-false_error_log T-2/var/log/httpd/_enable-http2-default_access_log
T-1/var/log/httpd/_enable-http2-true_access_log T-2/var/log/httpd/_enable-http2-default_error_log
T-1/var/log/httpd/_enable-http2-true_error_log T-2/var/log/httpd/_enable-http2-false_access_log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd/_enable-http2-false_error_log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_enable-http2-true_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_enable-http2-true_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/httpd.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/monitor-httpd.pid T-2/var/run/httpd.pid
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/monitor-httpd.pid
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
...@@ -2,27 +2,28 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,27 +2,28 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_enable-http2-default-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-default-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-default-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-default-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable-http2-false-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-false-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-false-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-false-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable-http2-true-error-log-last-day.py: OK T-2/etc/plugin/check-_enable-http2-true-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable-http2-true-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable-http2-true-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch RUNNING T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch RUNNING T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch RUNNING
T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_empty_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_empty_error_log T-2/var/log/frontend-error.log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_empty_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_empty_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/httpd.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/monitor-httpd.pid T-2/var/run/httpd.pid
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/monitor-httpd.pid
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_empty-error-log-last-day
T-2/etc/monitor-promise/check-_empty-error-log-last-hour
\ No newline at end of file
...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_empty-error-log-last-day.py: OK T-2/etc/plugin/check-_empty-error-log-last-day.py: OK
T-1/etc/plugin/check-_empty-error-log-last-hour.py: OK T-2/etc/plugin/check-_empty-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch RUNNING T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch RUNNING T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch RUNNING
watchdog:watchdog RUNNING T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/nginx-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/nginx-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/trafficserver/manager.log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
...@@ -2,21 +2,22 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,21 +2,22 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: ERROR T-2/etc/plugin/caddy_frontend_ipv4_http.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_https.py: ERROR T-2/etc/plugin/caddy_frontend_ipv4_https.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: ERROR T-2/etc/plugin/frontend-caddy-configuration-promise.py: ERROR
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: ERROR T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: ERROR
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch EXITED T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch EXITED T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch EXITED
T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch EXITED
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/nginx-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/nginx-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/trafficserver/manager.log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
...@@ -2,21 +2,22 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,21 +2,22 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: ERROR T-2/etc/plugin/caddy_frontend_ipv4_http.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_https.py: ERROR T-2/etc/plugin/caddy_frontend_ipv4_https.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: ERROR T-2/etc/plugin/frontend-caddy-configuration-promise.py: ERROR
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: ERROR T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: ERROR
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch EXITED T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch EXITED T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch EXITED
T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch EXITED
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_url_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_url_error_log T-2/var/log/frontend-error.log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_url_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_url_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/httpd.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/monitor-httpd.pid T-2/var/run/httpd.pid
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/monitor-httpd.pid
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_url-error-log-last-day
T-2/etc/monitor-promise/check-_url-error-log-last-hour
\ No newline at end of file
...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_url-error-log-last-day.py: OK T-2/etc/plugin/check-_url-error-log-last-day.py: OK
T-1/etc/plugin/check-_url-error-log-last-hour.py: OK T-2/etc/plugin/check-_url-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch RUNNING T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch RUNNING T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch RUNNING
watchdog:watchdog RUNNING T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_default_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_default_error_log T-2/var/log/frontend-error.log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_default_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_default_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
T-0/var/run/monitor-httpd.pid T-0/var/run/monitor-httpd.pid
T-0/var/run/monitor/monitor-bootstrap.pid T-0/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/caddy_graceful_signature T-1/var/run/kedifa.pid
T-1/var/run/caddy_validate_signature T-2/var/run/caddy_graceful_signature
T-1/var/run/caddy_validate_signature.status T-2/var/run/caddy_validate_signature
T-1/var/run/httpd.pid T-2/var/run/caddy_validate_signature.status
T-1/var/run/monitor-httpd.pid T-2/var/run/httpd.pid
T-1/var/run/monitor/monitor-bootstrap.pid T-2/var/run/monitor-httpd.pid
T-1/var/run/nginx.pid T-2/var/run/monitor/monitor-bootstrap.pid
T-1/var/run/nginx_graceful_signature T-2/var/run/nginx.pid
T-1/var/run/nginx_validate_signature T-2/var/run/nginx_graceful_signature
T-1/var/run/nginx_validate_signature.status T-2/var/run/nginx_validate_signature
\ No newline at end of file T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_default-error-log-last-day
T-2/etc/monitor-promise/check-_default-error-log-last-hour
\ No newline at end of file
...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,23 +2,24 @@ T-0/etc/plugin/buildout-T-0-status.py: OK
T-0/etc/plugin/check-free-disk-space.py: OK T-0/etc/plugin/check-free-disk-space.py: OK
T-0/etc/plugin/monitor-bootstrap-status.py: OK T-0/etc/plugin/monitor-bootstrap-status.py: OK
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-0/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/buildout-T-1-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-1/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_default-error-log-last-day.py: OK T-2/etc/plugin/check-_default-error-log-last-day.py: OK
T-1/etc/plugin/check-_default-error-log-last-hour.py: OK T-2/etc/plugin/check-_default-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: ERROR T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-cache-availability.py: OK
\ No newline at end of file T-2/etc/plugin/trafficserver-port-listening.py: OK
\ No newline at end of file
T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-0/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-1/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-1/etc/promise/caucased: OK
T-1/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
\ No newline at end of file T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
\ No newline at end of file
T-0:bootstrap-monitor EXITED T-0:bootstrap-monitor EXITED
T-0:certificate_authority-{hash}-on-watch RUNNING T-0:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash} RUNNING T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED T-0:monitor-httpd-graceful EXITED
T-1:6tunnel-11080-{hash}-on-watch RUNNING T-1:caucase-updater-on-watch RUNNING
T-1:6tunnel-11443-{hash}-on-watch RUNNING T-1:caucased-{hash}-on-watch RUNNING
T-1:6tunnel-12080-{hash}-on-watch RUNNING T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:6tunnel-12443-{hash}-on-watch RUNNING T-1:kedifa-{hash}-on-watch RUNNING
T-1:6tunnel-26011-{hash}-on-watch RUNNING T-1:kedifa-reloader EXITED
T-1:6tunnel-26012-{hash}-on-watch RUNNING T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-1:bootstrap-monitor EXITED T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-1:certificate_authority-{hash}-on-watch RUNNING T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-1:crond-{hash} RUNNING T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-1:crond-on-watch RUNNING T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-1:frontend-caddy-safe-graceful EXITED T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-1:frontend-nginx-safe-graceful EXITED T-2:bootstrap-monitor EXITED
T-1:frontend_caddy-{hash}-on-watch RUNNING T-2:certificate_authority-{hash}-on-watch RUNNING
T-1:frontend_nginx-{hash}-on-watch RUNNING T-2:crond-{hash}-on-watch RUNNING
T-1:monitor-httpd-{hash}-on-watch RUNNING T-2:expose-csr_id-{hash}-on-watch RUNNING
T-1:monitor-httpd-graceful EXITED T-2:frontend-caddy-safe-graceful EXITED
T-1:trafficserver-{hash}-on-watch RUNNING T-2:frontend-nginx-safe-graceful EXITED
T-1:trafficserver-reload EXITED T-2:frontend_caddy-{hash}-on-watch RUNNING
watchdog:watchdog RUNNING T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:monitor-httpd-graceful EXITED
T-2:trafficserver-{hash}-on-watch RUNNING
T-2:trafficserver-reload EXITED
watchdog:watchdog RUNNING
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log T-0/var/log/monitor-httpd-error.log
T-1/var/log/frontend-access.log T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/frontend-error.log T-1/var/log/expose-csr_id.log
T-1/var/log/httpd/_default_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_default_error_log T-2/var/log/frontend-error.log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_default_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_default_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/monitor-httpd-error.log
T-1/var/log/trafficserver/traffic.out T-2/var/log/nginx-access.log
\ No newline at end of file T-2/var/log/nginx-error.log
T-2/var/log/trafficserver/manager.log
T-2/var/log/trafficserver/traffic.out
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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