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
......
{%- if slap_software_type == software_type -%} {%- if slap_software_type == software_type -%}
{% import "caucase" as caucase with context %}
{%- set TRUE_VALUES = ['y', 'yes', '1', 'true'] -%} {%- set TRUE_VALUES = ['y', 'yes', '1', 'true'] -%}
[buildout] [buildout]
extends = extends =
{{ parameter_dict['common_profile'] }} {{ parameter_dict['common_profile'] }}
{{ parameter_dict['monitor_template'] }} {{ parameter_dict['monitor_template'] }}
{{ parameter_dict['logrotate_base_instance'] }}
parts = parts =
directory directory
configtest configtest
logrotate
cron
cron-entry-logrotate
ca-frontend
ca-frontend-service
certificate-authority
certificate-authority-service
logrotate-entry-caddy logrotate-entry-caddy
logrotate-entry-nginx logrotate-entry-nginx
caddy-frontend caddy-frontend
switch-caddy-softwaretype switch-caddy-softwaretype
caucase-updater
frontend-caddy-graceful frontend-caddy-graceful
frontend-nginx-graceful frontend-nginx-graceful
not-found-html not-found-html
...@@ -46,6 +42,8 @@ parts = ...@@ -46,6 +42,8 @@ parts =
trafficserver-remap-config trafficserver-remap-config
trafficserver-plugin-config trafficserver-plugin-config
trafficserver-storage-config trafficserver-storage-config
trafficserver-ip-allow-config
trafficserver-logging-config
trafficserver-promise-listen-port trafficserver-promise-listen-port
trafficserver-promise-cache-availability trafficserver-promise-cache-availability
...@@ -67,6 +65,7 @@ bin = ${buildout:directory}/bin/ ...@@ -67,6 +65,7 @@ bin = ${buildout:directory}/bin/
etc = ${buildout:directory}/etc/ etc = ${buildout:directory}/etc/
srv = ${buildout:directory}/srv/ srv = ${buildout:directory}/srv/
var = ${buildout:directory}/var/ var = ${buildout:directory}/var/
tmp = ${:var}/tmp
template = ${buildout:directory}/template/ template = ${buildout:directory}/template/
backup = ${:srv}/backup backup = ${:srv}/backup
...@@ -77,19 +76,21 @@ etc-run = ${:etc}/run ...@@ -77,19 +76,21 @@ etc-run = ${:etc}/run
promise = ${:etc}/promise promise = ${:etc}/promise
plugin = ${:etc}/plugin plugin = ${:etc}/plugin
logrotate-backup = ${:backup}/logrotate
logrotate-entries = ${:etc}/logrotate.d
cron-entries = ${:etc}/cron.d
crontabs = ${:etc}/crontabs
cronstamps = ${:etc}/cronstamps
ca-dir = ${:srv}/ssl ca-dir = ${:srv}/ssl
# BBB: SlapOS Master non-zero knowledge BEGIN
bbb-ssl-dir = ${:srv}/bbb-ssl
# BBB: SlapOS Master non-zero knowledge END
varnginx = ${:var}/nginx varnginx = ${:var}/nginx
frontend_cluster = ${:var}/frontend_cluster frontend_cluster = ${:var}/frontend_cluster
nginx_cluster = ${:var}/nginx_cluster nginx_cluster = ${:var}/nginx_cluster
# csr_id publication
csr_id = ${:srv}/csr_id
caddy-csr_id = ${:etc}/caddy-csr_id
caddy-csr_id-log = ${:log}/httpd-csr_id
[switch-caddy-softwaretype] [switch-caddy-softwaretype]
recipe = slapos.cookbook:softwaretype recipe = slapos.cookbook:softwaretype
single-default = ${dynamic-custom-personal-template-slave-list:rendered} single-default = ${dynamic-custom-personal-template-slave-list:rendered}
...@@ -110,33 +111,36 @@ recipe = plone.recipe.command ...@@ -110,33 +111,36 @@ recipe = plone.recipe.command
update-command = ${:command} update-command = ${:command}
ipv6 = ${slap-network-information:global-ipv6} ipv6 = ${slap-network-information:global-ipv6}
ipv4 = {{instance_parameter['ipv4-random']}} ipv4 = {{instance_parameter['ipv4-random']}}
key = ${caddy-directory:vh-ssl}/ip-access-${:ipv6}-${:ipv4}.key key = ${caddy-directory:master-autocert-dir}/ip-access-${:ipv6}-${:ipv4}.key
certificate = ${caddy-directory:vh-ssl}/ip-access-${:ipv6}-${:ipv4}.crt certificate = ${caddy-directory:master-autocert-dir}/ip-access-${:ipv6}-${:ipv4}.crt
stop-on-error = True stop-on-error = True
command = command =
[ -f ${:key} ] && [ -f ${:certificate} ] && exit 0 [ -f ${:key} ] && [ -f ${:certificate} ] && exit 0
rm -f ${:key} ${:certificate} rm -f ${:key} ${:certificate}
/bin/bash -c ' \ /bin/bash -c ' \
{{ parameter_dict['openssl'] }}/bin/openssl req \ {{ parameter_dict['openssl'] }} req \
-new -newkey rsa:2048 -sha256 \ -new -newkey rsa:2048 -sha256 \
-nodes -x509 -days 36500 \ -nodes -x509 -days 36500 \
-keyout ${:key} \ -keyout ${:key} \
-subj "/CN=Self Signed IP Access" \ -subj "/CN=Self Signed IP Access" \
-reqexts SAN \ -reqexts SAN \
-extensions SAN \ -extensions SAN \
-config <(cat {{ parameter_dict['openssl'] }}/etc/ssl/openssl.cnf \ -config <(cat {{ parameter_dict['openssl_cnf'] }} \
<(printf "\n[SAN]\nsubjectAltName=IP:${:ipv6},IP:${:ipv4}")) \ <(printf "\n[SAN]\nsubjectAltName=IP:${:ipv6},IP:${:ipv4}")) \
-out ${:certificate}' -out ${:certificate}'
[jinja2-template-base] [jinja2-template-base]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:filename} rendered = ${buildout:directory}/${:filename}
extensions = jinja2.ext.do
extra-context = extra-context =
slapparameter_dict = {{ dumps(instance_parameter['configuration']) }} slapparameter_dict = {{ dumps(instance_parameter['configuration']) }}
slap_software_type = {{ dumps(instance_parameter['slap-software-type']) }} slap_software_type = {{ dumps(instance_parameter['slap-software-type']) }}
context = context =
import json_module json import json_module json
import os_module os
raw common_profile {{ parameter_dict['common_profile'] }} raw common_profile {{ parameter_dict['common_profile'] }}
raw logrotate_base_instance {{ parameter_dict['logrotate_base_instance'] }}
key slap_software_type :slap_software_type key slap_software_type :slap_software_type
key slapparameter_dict :slapparameter_dict key slapparameter_dict :slapparameter_dict
section directory directory section directory directory
...@@ -151,24 +155,86 @@ caddy-location = {{ parameter_dict['caddy_location'] }} ...@@ -151,24 +155,86 @@ caddy-location = {{ parameter_dict['caddy_location'] }}
template-nginx-eventsource-slave-virtualhost = {{ parameter_dict['template_nginx_eventsource_slave_virtualhost'] }} template-nginx-eventsource-slave-virtualhost = {{ parameter_dict['template_nginx_eventsource_slave_virtualhost'] }}
template-nginx-notebook-slave-virtualhost = {{ parameter_dict['template_nginx_notebook_slave_virtualhost'] }} template-nginx-notebook-slave-virtualhost = {{ parameter_dict['template_nginx_notebook_slave_virtualhost'] }}
[kedifa-login-config]
d = ${directory:ca-dir}
template-csr = ${:d}/kedifa-login-template-csr.pem
key = ${:d}/kedifa-login-certificate.pem
certificate = ${:key}
ca-certificate = ${:d}/kedifa-caucase-ca.pem
cas-ca-certificate = ${:d}/kedifa-cas-caucase-ca.pem
crl = ${:d}/kedifa-login-crl.pem
[kedifa-login-csr]
recipe = plone.recipe.command
organization = {{ slapparameter_dict['cluster-identification'] }}
organizational_unit = {{ instance_parameter['configuration.frontend-name'] }}
command =
{% if slapparameter_dict['kedifa-caucase-url'] %}
if [ ! -f ${:template-csr} ] && [ ! -f ${:key} ] ; then
{{ parameter_dict['openssl'] }} req -new -sha256 \
-newkey rsa:2048 -nodes -keyout ${:key} \
-subj "/O=${:organization}/OU=${:organizational_unit}" \
-out ${:template-csr}
fi
{% endif %}
test -f ${:key} && test -f ${:template-csr}
update-command = ${:command}
template-csr = ${kedifa-login-config:template-csr}
key = ${kedifa-login-config:key}
stop-on-error = True
{{ caucase.updater(
prefix='caucase-updater',
buildout_bin_directory=parameter_dict['bin_directory'],
updater_path='${directory:service}/kedifa-login-certificate-caucase-updater',
url=slapparameter_dict['kedifa-caucase-url'],
data_dir='${directory:srv}/caucase-updater',
crt_path='${kedifa-login-config:certificate}',
ca_path='${kedifa-login-config:ca-certificate}',
crl_path='${kedifa-login-config:crl}',
key_path='${kedifa-login-csr:key}',
template_csr='${kedifa-login-csr:template-csr}',
openssl=parameter_dict['openssl'] ~ '/bin/openssl',
)}}
[dynamic-custom-personal-template-slave-list] [dynamic-custom-personal-template-slave-list]
< = jinja2-template-base < = jinja2-template-base
template = {{ parameter_dict['template_slave_list'] }} template = {{ parameter_dict['template_slave_list'] }}
filename = custom-personal-instance-slave-list.cfg filename = custom-personal-instance-slave-list.cfg
extensions = jinja2.ext.do
slave_instance_list = {{ dumps(instance_parameter['slave-instance-list']) }} slave_instance_list = {{ dumps(instance_parameter['slave-instance-list']) }}
extra_slave_instance_list = {{ dumps(instance_parameter.get('configuration.extra_slave_instance_list')) }} extra_slave_instance_list = {{ dumps(instance_parameter.get('configuration.extra_slave_instance_list')) }}
master_key_download_url = {{ dumps(slapparameter_dict['master-key-download-url']) }}
slave_kedifa_information = {{ dumps(slapparameter_dict['slave-kedifa-information']) }}
local_ipv4 = {{ dumps(instance_parameter['ipv4-random']) }} local_ipv4 = {{ dumps(instance_parameter['ipv4-random']) }}
local_ipv6 = {{ dumps(instance_parameter['ipv6-random']) }} local_ipv6 = {{ dumps(instance_parameter['ipv6-random']) }}
software_type = single-custom-personal software_type = single-custom-personal
bin_directory = {{ parameter_dict['bin_directory'] }} bin_directory = {{ parameter_dict['bin_directory'] }}
caddy_executable = {{ parameter_dict['caddy'] }}
caucase_url = {{ slapparameter_dict['kedifa-caucase-url'] }}
sixtunnel_executable = {{ parameter_dict['sixtunnel'] }}/bin/6tunnel sixtunnel_executable = {{ parameter_dict['sixtunnel'] }}/bin/6tunnel
kedifa-getter = {{ parameter_dict['kedifa-getter'] }}
kedifa-csr = {{ parameter_dict['kedifa-csr'] }}
service_directory = ${directory:service} service_directory = ${directory:service}
extra-context = extra-context =
key kedifa_caucase_ca_certificate kedifa-login-config:ca-certificate
key kedifa_login_certificate kedifa-login-config:certificate
key caddy_configuration_directory caddy-directory:slave-configuration key caddy_configuration_directory caddy-directory:slave-configuration
key nginx_configuration_directory caddy-directory:nginx-slave-configuration key nginx_configuration_directory caddy-directory:nginx-slave-configuration
key caddy_cached_configuration_directory caddy-directory:slave-with-cache-configuration key caddy_cached_configuration_directory caddy-directory:slave-with-cache-configuration
key slave_with_cache_configuration_directory caddy-directory:slave-with-cache-configuration key slave_with_cache_configuration_directory caddy-directory:slave-with-cache-configuration
key kedifa_getter :kedifa-getter
key kedifa_csr :kedifa-csr
key caddy_executable :caddy_executable
key caucase_url :caucase_url
key directory_csr_id directory:csr_id
key directory_caddy_csr_id directory:caddy-csr_id
key directory_tmp directory:tmp
key directory_caddy_csr_id_log directory:caddy-csr_id-log
key certificate_organization kedifa-login-csr:organization
key certificate_organizational_unit kedifa-login-csr:organizational_unit
key csr_id_csr caucase-updater-csr:csr
key csr_crl kedifa-login-config:crl
key csr_cas_ca_certificate kedifa-login-config:cas-ca-certificate
key http_port configuration:plain_http_port key http_port configuration:plain_http_port
key https_port configuration:port key https_port configuration:port
key nginx_http_port configuration:plain_nginx_port key nginx_http_port configuration:plain_nginx_port
...@@ -176,7 +242,10 @@ extra-context = ...@@ -176,7 +242,10 @@ extra-context =
key public_ipv4 configuration:public-ipv4 key public_ipv4 configuration:public-ipv4
key slave_instance_list :slave_instance_list key slave_instance_list :slave_instance_list
key extra_slave_instance_list :extra_slave_instance_list key extra_slave_instance_list :extra_slave_instance_list
key custom_ssl_directory caddy-directory:vh-ssl key master_key_download_url :master_key_download_url
key slave_kedifa_information :slave_kedifa_information
key autocert caddy-directory:autocert
key master_certificate caddy-configuration:master-certificate
key caddy_log_directory caddy-directory:slave-log key caddy_log_directory caddy-directory:slave-log
key local_ipv4 :local_ipv4 key local_ipv4 :local_ipv4
key local_ipv6 :local_ipv6 key local_ipv6 :local_ipv6
...@@ -190,7 +259,6 @@ extra-context = ...@@ -190,7 +259,6 @@ extra-context =
key template_notebook_slave_configuration software-release-path:template-nginx-notebook-slave-virtualhost key template_notebook_slave_configuration software-release-path:template-nginx-notebook-slave-virtualhost
key software_type :software_type key software_type :software_type
key frontend_lazy_graceful_reload frontend-caddy-lazy-graceful:rendered key frontend_lazy_graceful_reload frontend-caddy-lazy-graceful:rendered
section logrotate_dict logrotate
section frontend_configuration frontend-configuration section frontend_configuration frontend-configuration
section caddy_configuration caddy-configuration section caddy_configuration caddy-configuration
section nginx_configuration nginx-configuration section nginx_configuration nginx-configuration
...@@ -199,9 +267,6 @@ extra-context = ...@@ -199,9 +267,6 @@ extra-context =
key promise_directory directory:promises key promise_directory directory:promises
key report_directory directory:bin key report_directory directory:bin
key bin_directory :bin_directory key bin_directory :bin_directory
key login_certificate ca-frontend:cert-file
key login_key ca-frontend:key-file
key login_ca_crt ca-custom-frontend:rendered
key enable_http2_by_default configuration:enable-http2-by-default key enable_http2_by_default configuration:enable-http2-by-default
key global_disable_http2 configuration:global-disable-http2 key global_disable_http2 configuration:global-disable-http2
key proxy_try_duration configuration:proxy-try-duration key proxy_try_duration configuration:proxy-try-duration
...@@ -210,13 +275,18 @@ extra-context = ...@@ -210,13 +275,18 @@ extra-context =
key error_log caddy-configuration:error-log key error_log caddy-configuration:error-log
key sixtunnel_executable :sixtunnel_executable key sixtunnel_executable :sixtunnel_executable
key service_directory directory:service key service_directory directory:service
key run_directory directory:etc-run
key not_found_file caddy-configuration:not-found-file key not_found_file caddy-configuration:not-found-file
# BBB: SlapOS Master non-zero knowledge BEGIN
key custom_ssl_directory caddy-directory:custom-ssl-directory
key apache_certificate apache-certificate:rendered
key apache_key apache-key:rendered
# BBB: SlapOS Master non-zero knowledge END
[dynamic-virtualhost-template-slave] [dynamic-virtualhost-template-slave]
<= jinja2-template-base <= jinja2-template-base
template = {{ parameter_dict['template_slave_configuration'] }} template = {{ parameter_dict['template_slave_configuration'] }}
rendered = ${directory:template}/slave-virtualhost.conf.in rendered = ${directory:template}/slave-virtualhost.conf.in
extensions = jinja2.ext.do
# BBB: apache_custom_https and apache_custom_http # BBB: apache_custom_https and apache_custom_http
extra-context = extra-context =
key https_port configuration:port key https_port configuration:port
...@@ -236,11 +306,7 @@ extra-context = ...@@ -236,11 +306,7 @@ extra-context =
key httpd_home software-release-path:caddy-location key httpd_home software-release-path:caddy-location
key httpd_mod_ssl_cache_directory caddy-directory:mod-ssl key httpd_mod_ssl_cache_directory caddy-directory:mod-ssl
key instance_home buildout:directory key instance_home buildout:directory
key login_certificate ca-frontend:cert-file key master_certificate caddy-configuration:master-certificate
key login_key ca-frontend:key-file
key login_ca_crt ca-custom-frontend:rendered
key ca_dir certificate-authority:ca-dir
key ca_crl certificate-authority:ca-crl
key access_log caddy-configuration:access-log key access_log caddy-configuration:access-log
key slave_configuration_directory caddy-directory:slave-configuration key slave_configuration_directory caddy-directory:slave-configuration
key cached_port caddy-configuration:cache-through-port key cached_port caddy-configuration:cache-through-port
...@@ -255,6 +321,10 @@ extra-context = ...@@ -255,6 +321,10 @@ extra-context =
key not_found_file caddy-configuration:not-found-file key not_found_file caddy-configuration:not-found-file
key username monitor-instance-parameter:username key username monitor-instance-parameter:username
key password monitor-htpasswd:passwd key password monitor-htpasswd:passwd
# BBB: SlapOS Master non-zero knowledge BEGIN
key apache_certificate apache-certificate:rendered
key apache_key apache-key:rendered
# BBB: SlapOS Master non-zero knowledge END
[caddy-wrapper] [caddy-wrapper]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
...@@ -280,9 +350,6 @@ wrapper-path = ${directory:bin}/caddy-wrapper ...@@ -280,9 +350,6 @@ wrapper-path = ${directory:bin}/caddy-wrapper
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = ${caddy-wrapper:wrapper-path} -pidfile ${caddy-configuration:pid-file} command-line = ${caddy-wrapper:wrapper-path} -pidfile ${caddy-configuration:pid-file}
wrapper-path = ${directory:service}/frontend_caddy wrapper-path = ${directory:service}/frontend_caddy
wait-for-files =
${ca-frontend:cert-file}
${ca-frontend:key-file}
hash-files = ${buildout:directory}/software_release/buildout.cfg hash-files = ${buildout:directory}/software_release/buildout.cfg
[not-found-html] [not-found-html]
...@@ -298,9 +365,13 @@ slave-configuration = ${directory:etc}/caddy-slave-conf.d/ ...@@ -298,9 +365,13 @@ slave-configuration = ${directory:etc}/caddy-slave-conf.d/
slave-with-cache-configuration = ${directory:etc}/caddy-slave-with-cache-conf.d/ slave-with-cache-configuration = ${directory:etc}/caddy-slave-with-cache-conf.d/
cache = ${directory:var}/cache cache = ${directory:var}/cache
mod-ssl = ${:cache}/httpd_mod_ssl mod-ssl = ${:cache}/httpd_mod_ssl
vh-ssl = ${:slave-configuration}/ssl
slave-log = ${directory:log}/httpd slave-log = ${directory:log}/httpd
nginx-slave-configuration = ${directory:etc}/nginx-slave-conf.d/ nginx-slave-configuration = ${directory:etc}/nginx-slave-conf.d/
autocert = ${directory:srv}/autocert
master-autocert-dir = ${:autocert}/master-autocert
# BBB: SlapOS Master non-zero knowledge BEGIN
custom-ssl-directory = ${:slave-configuration}/ssl
# BBB: SlapOS Master non-zero knowledge END
[caddy-configuration] [caddy-configuration]
frontend-configuration = ${directory:etc}/Caddyfile frontend-configuration = ${directory:etc}/Caddyfile
...@@ -308,8 +379,9 @@ access-log = ${directory:log}/frontend-access.log ...@@ -308,8 +379,9 @@ access-log = ${directory:log}/frontend-access.log
error-log = ${directory:log}/frontend-error.log error-log = ${directory:log}/frontend-error.log
pid-file = ${directory:run}/httpd.pid pid-file = ${directory:run}/httpd.pid
frontend-configuration-verification = ${frontend-caddy-validate:rendered} frontend-configuration-verification = ${frontend-caddy-validate:rendered}
frontend-graceful-command = ${:frontend-configuration-verification}; if [ $? -eq 0 ]; then kill -USR1 $(cat ${:pid-file}); fi frontend-graceful-command = ${:frontend-configuration-verification} && kill -USR1 $(cat ${:pid-file})
not-found-file = ${caddy-directory:document-root}/notfound.html not-found-file = ${caddy-directory:document-root}/notfound.html
master-certificate = ${caddy-directory:master-autocert-dir}/master.pem
# Communication with ATS # Communication with ATS
cache-port = ${trafficserver-variable:input-port} cache-port = ${trafficserver-variable:input-port}
cache-through-port = 26011 cache-through-port = 26011
...@@ -320,115 +392,37 @@ recipe = slapos.cookbook:wrapper ...@@ -320,115 +392,37 @@ recipe = slapos.cookbook:wrapper
command-line = ${frontend-caddy-validate:rendered} command-line = ${frontend-caddy-validate:rendered}
wrapper-path = ${directory:bin}/caddy-configtest wrapper-path = ${directory:bin}/caddy-configtest
[certificate-authority] # BBB: SlapOS Master non-zero knowledge BEGIN
recipe = slapos.cookbook:certificate_authority [apache-key]
openssl-binary = {{ parameter_dict['openssl'] }}/bin/openssl < = jinja2-template-base
ca-dir = ${directory:ca-dir} template = {{ parameter_dict['template_empty'] }}
requests-directory = ${cadirectory:requests} rendered = ${directory:bbb-ssl-dir}/frontend.key
wrapper = ${directory:bin}/certificate_authority content = ${configuration:apache-key}
ca-private = ${cadirectory:private} extra-context =
ca-certs = ${cadirectory:certs} key content :content
ca-newcerts = ${cadirectory:newcerts}
ca-crl = ${cadirectory:crl}
[certificate-authority-service]
recipe = slapos.cookbook:wrapper
command-line = ${certificate-authority:wrapper}
wrapper-path = ${directory:service}/certificate_authority
hash-files = ${buildout:directory}/software_release/buildout.cfg
[cadirectory]
recipe = slapos.cookbook:mkdirectory
requests = ${directory:ca-dir}/requests/
private = ${directory:ca-dir}/private/
certs = ${directory:ca-dir}/certs/
newcerts = ${directory:ca-dir}/newcerts/
crl = ${directory:ca-dir}/crl/
[ca-frontend]
<= certificate-authority
recipe = slapos.cookbook:certificate_authority.request
key-file = ${cadirectory:certs}/frontend.key
cert-file = ${cadirectory:certs}/frontend.crt
executable = ${directory:service}/frontend_caddy
wrapper = ${directory:bin}/frontend_caddy
key-content = ${configuration:apache-key}
cert-content = ${configuration:apache-certificate}
# Put domain name
name = ${configuration:domain}
[ca-frontend-service]
recipe = slapos.cookbook:wrapper
command-line = ${ca-frontend:wrapper}
wrapper-path = ${directory:service}/frontend_caddy
hash-files = ${buildout:directory}/software_release/buildout.cfg
[ca-custom-frontend] [apache-certificate]
< = jinja2-template-base < = jinja2-template-base
template = {{ parameter_dict['template_empty'] }} template = {{ parameter_dict['template_empty'] }}
rendered = ${cadirectory:certs}/frontend.ca.crt rendered = ${directory:bbb-ssl-dir}/frontend.crt
apache-ca-certificate = ${configuration:apache-ca-certificate} content = ${configuration:apache-certificate}
extra-context = extra-context =
key content :apache-ca-certificate key content :content
# BBB: SlapOS Master non-zero knowledge END
[cron]
recipe = slapos.cookbook:cron
dcrond-binary = {{ parameter_dict['dcron'] }}/sbin/crond
cron-entries = ${directory:cron-entries}
crontabs = ${directory:crontabs}
cronstamps = ${directory:cronstamps}
catcher = ${cron-simplelogger:wrapper}
binary = ${directory:service}/crond
[cron-simplelogger]
recipe = slapos.cookbook:simplelogger
wrapper = ${directory:bin}/cron_simplelogger
log = ${directory:log}/cron.log
[cron-entry-logrotate]
<= cron
recipe = slapos.cookbook:cron.d
name = logrotate
frequency = 0 0 * * *
command = ${logrotate:wrapper}
# Deploy Logrotate
[logrotate]
recipe = slapos.cookbook:logrotate
# Binaries
logrotate-binary = {{ parameter_dict['logrotate'] }}/sbin/logrotate
gzip-binary = {{ parameter_dict['gzip'] }}/bin/gzip
gunzip-binary = {{ parameter_dict['gzip'] }}/bin/gunzip
# Directories
wrapper = ${directory:bin}/logrotate
conf = ${directory:etc}/logrotate.conf
logrotate-entries = ${directory:logrotate-entries}
backup = ${directory:logrotate-backup}
state-file = ${directory:srv}/logrotate.status
[logrotate-entry-caddy] [logrotate-entry-caddy]
<= logrotate <= logrotate-entry-base
recipe = slapos.cookbook:logrotate.d
name = caddy name = caddy
log = ${caddy-configuration:error-log} ${caddy-configuration:access-log} log = ${caddy-configuration:error-log} ${caddy-configuration:access-log}
frequency = daily rotate-num = 30
rotatep-num = 30
post = ${frontend-caddy-lazy-graceful:rendered} & post = ${frontend-caddy-lazy-graceful:rendered} &
sharedscripts = true
notifempty = true
create = true
[logrotate-entry-nginx] [logrotate-entry-nginx]
<= logrotate <= logrotate-entry-base
recipe = slapos.cookbook:logrotate.d
name = caddy-nginx name = caddy-nginx
log = ${nginx-configuration:error_log} ${nginx-configuration:access_log} log = ${nginx-configuration:error_log} ${nginx-configuration:access_log}
frequency = daily rotate-num = 30
rotatep-num = 30
post = ${nginx-configuration:nginx-graceful-command} post = ${nginx-configuration:nginx-graceful-command}
sharedscripts = true
notifempty = true
create = true
################# #################
# Trafficserver # Trafficserver
...@@ -450,12 +444,14 @@ hostname = ${configuration:frontend-name} ...@@ -450,12 +444,14 @@ hostname = ${configuration:frontend-name}
remap = map /HTTPS/ http://{{ instance_parameter['ipv4-random'] }}:${caddy-configuration:ssl-cache-through-port} remap = map /HTTPS/ http://{{ instance_parameter['ipv4-random'] }}:${caddy-configuration:ssl-cache-through-port}
map / http://{{ instance_parameter['ipv4-random'] }}:${caddy-configuration:cache-through-port} map / http://{{ instance_parameter['ipv4-random'] }}:${caddy-configuration:cache-through-port}
plugin-config = {{ parameter_dict['trafficserver'] }}/libexec/trafficserver/rfc5861.so plugin-config =
ip-allow-config = src_ip=0.0.0.0-255.255.255.255 action=ip_allow
cache-path = ${trafficserver-directory:cache-path} cache-path = ${trafficserver-directory:cache-path}
disk-cache-size = ${configuration:disk-cache-size} disk-cache-size = ${configuration:disk-cache-size}
autoconf-port = ${configuration:trafficserver-autoconf-port} synthetic-port = ${configuration:trafficserver-synthetic-port}
mgmt-port = ${configuration:trafficserver-mgmt-port} mgmt-port = ${configuration:trafficserver-mgmt-port}
ram-cache-size = ${configuration:ram-cache-size} ram-cache-size = ${configuration:ram-cache-size}
templates-dir = {{ parameter_dict['trafficserver'] }}/etc/trafficserver/body_factory
[trafficserver-configuration-directory] [trafficserver-configuration-directory]
recipe = plone.recipe.command recipe = plone.recipe.command
...@@ -471,7 +467,7 @@ hash-files = ${buildout:directory}/software_release/buildout.cfg ...@@ -471,7 +467,7 @@ hash-files = ${buildout:directory}/software_release/buildout.cfg
[trafficserver-reload] [trafficserver-reload]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = {{ parameter_dict['trafficserver'] }}/bin/traffic_line -x command-line = {{ parameter_dict['trafficserver'] }}/bin/traffic_ctl config reload
wrapper-path = ${trafficserver-variable:reload-path} wrapper-path = ${trafficserver-variable:reload-path}
environment = TS_ROOT=${buildout:directory} environment = TS_ROOT=${buildout:directory}
...@@ -498,6 +494,11 @@ extra-context = ...@@ -498,6 +494,11 @@ extra-context =
template = {{ parameter_dict['template_trafficserver_storage_config_location'] }}/{{ parameter_dict['template_trafficserver_storage_config_filename'] }} template = {{ parameter_dict['template_trafficserver_storage_config_location'] }}/{{ parameter_dict['template_trafficserver_storage_config_filename'] }}
filename = storage.config filename = storage.config
[trafficserver-logging-config]
< = trafficserver-jinja2-template-base
template = {{ parameter_dict['template_trafficserver_logging_config_location'] }}/{{ parameter_dict['template_trafficserver_logging_config_filename'] }}
filename = logging.config
[trafficserver-remap-config] [trafficserver-remap-config]
< = trafficserver-jinja2-template-base < = trafficserver-jinja2-template-base
template = {{ parameter_dict['template_empty'] }} template = {{ parameter_dict['template_empty'] }}
...@@ -512,6 +513,13 @@ filename = plugin.config ...@@ -512,6 +513,13 @@ filename = plugin.config
context = context =
key content trafficserver-variable:plugin-config key content trafficserver-variable:plugin-config
[trafficserver-ip-allow-config]
< = trafficserver-jinja2-template-base
template = {{ parameter_dict['template_empty'] }}
filename = ip_allow.config
context =
key content trafficserver-variable:ip-allow-config
[promise-plugin-base] [promise-plugin-base]
recipe = slapos.cookbook:promise.plugin recipe = slapos.cookbook:promise.plugin
eggs = eggs =
...@@ -528,17 +536,17 @@ name = trafficserver-port-listening.py ...@@ -528,17 +536,17 @@ name = trafficserver-port-listening.py
config-hostname = ${trafficserver-variable:local-ip} config-hostname = ${trafficserver-variable:local-ip}
config-port = ${trafficserver-variable:input-port} config-port = ${trafficserver-variable:input-port}
[trafficserver-line] [trafficserver-ctl]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = {{ parameter_dict['trafficserver'] }}/bin/traffic_line command-line = {{ parameter_dict['trafficserver'] }}/bin/traffic_ctl
wrapper-path = ${directory:bin}/traffic_line wrapper-path = ${directory:bin}/traffic_ctl
environment = TS_ROOT=${buildout:directory} environment = TS_ROOT=${buildout:directory}
[trafficserver-promise-cache-availability] [trafficserver-promise-cache-availability]
<= promise-plugin-base <= promise-plugin-base
module = trafficserver_cache_availability module = trafficserver_cache_availability
name = trafficserver-cache-availability.py name = trafficserver-cache-availability.py
config-wrapper-path = ${trafficserver-line:wrapper-path} config-wrapper-path = ${trafficserver-ctl:wrapper-path}
### End of ATS sections ### End of ATS sections
...@@ -548,7 +556,8 @@ config-wrapper-path = ${trafficserver-line:wrapper-path} ...@@ -548,7 +556,8 @@ config-wrapper-path = ${trafficserver-line:wrapper-path}
template = {{ parameter_dict['template_graceful_script'] }} template = {{ parameter_dict['template_graceful_script'] }}
rendered = ${directory:etc-run}/frontend-caddy-safe-graceful rendered = ${directory:etc-run}/frontend-caddy-safe-graceful
mode = 0700 mode = 0700
path_list = ${caddy-configuration:frontend-configuration} ${frontend-configuration:log-access-configuration} ${caddy-directory:slave-configuration}/*.conf ${caddy-directory:slave-with-cache-configuration}/*.conf ${caddy-directory:vh-ssl}/*.key ${caddy-directory:vh-ssl}/*.crt ${caddy-directory:vh-ssl}/*.proxy_ca_crt
path_list = ${caddy-configuration:frontend-configuration} ${frontend-configuration:log-access-configuration} ${caddy-directory:slave-configuration}/*.conf ${caddy-directory:slave-with-cache-configuration}/*.conf ${caddy-directory:master-autocert-dir}/*.key ${caddy-directory:master-autocert-dir}/*.crt ${caddy-directory:master-autocert-dir}/*.pem ${caddy-directory:autocert}/*/*.pem ${caddy-directory:custom-ssl-directory}/*.key ${caddy-directory:custom-ssl-directory}/*.crt ${caddy-directory:custom-ssl-directory}/*.proxy_ca_crt ${directory:bbb-ssl-dir}/*.key ${directory:bbb-ssl-dir}/*.crt
sha256sum = {{ parameter_dict['sha256sum'] }} sha256sum = {{ parameter_dict['sha256sum'] }}
signature_file = ${directory:run}/caddy_graceful_signature signature_file = ${directory:run}/caddy_graceful_signature
extra-context = extra-context =
...@@ -562,7 +571,7 @@ extra-context = ...@@ -562,7 +571,7 @@ extra-context =
template = {{ parameter_dict['template_graceful_script'] }} template = {{ parameter_dict['template_graceful_script'] }}
rendered = ${directory:etc-run}/frontend-nginx-safe-graceful rendered = ${directory:etc-run}/frontend-nginx-safe-graceful
mode = 0700 mode = 0700
path_list = ${dynamic-nginx-frontend-template:rendered} ${caddy-directory:nginx-slave-configuration}/*.conf path_list = ${dynamic-nginx-frontend-template:rendered} ${caddy-directory:nginx-slave-configuration}/*.conf ${caddy-directory:master-autocert-dir}/*.key ${caddy-directory:master-autocert-dir}/*.crt ${caddy-directory:master-autocert-dir}/*.pem ${caddy-directory:autocert}/*/*.pem ${caddy-directory:custom-ssl-directory}/*.key ${caddy-directory:custom-ssl-directory}/*.crt ${caddy-directory:custom-ssl-directory}/*.proxy_ca_crt ${directory:bbb-ssl-dir}/*.key ${directory:bbb-ssl-dir}/*.crt
sha256sum = {{ parameter_dict['sha256sum'] }} sha256sum = {{ parameter_dict['sha256sum'] }}
signature_file = ${directory:run}/nginx_graceful_signature signature_file = ${directory:run}/nginx_graceful_signature
extra-context = extra-context =
...@@ -678,7 +687,7 @@ monitor-httpd-port = {{ monitor_httpd_port | int }} ...@@ -678,7 +687,7 @@ monitor-httpd-port = {{ monitor_httpd_port | int }}
[monitor-conf-parameters] [monitor-conf-parameters]
private-path-list += private-path-list +=
${directory:logrotate-backup} ${logrotate-directory:logrotate-backup}
[monitor-traffic-summary-last-stats-wrapper] [monitor-traffic-summary-last-stats-wrapper]
...@@ -756,14 +765,17 @@ rendered = ${directory:etc}/nginx.cfg ...@@ -756,14 +765,17 @@ rendered = ${directory:etc}/nginx.cfg
mode = 0600 mode = 0600
extra-context = extra-context =
key port nginx-configuration:port key port nginx-configuration:port
key ssl_certificate nginx-configuration:ssl_certificate
key ssl_key nginx-configuration:ssl_key
key local_ip nginx-configuration:local_ip key local_ip nginx-configuration:local_ip
key plain_port nginx-configuration:plain_port key plain_port nginx-configuration:plain_port
key slave_configuration_directory nginx-configuration:slave-configuration-directory key slave_configuration_directory nginx-configuration:slave-configuration-directory
key error_log nginx-configuration:error_log key error_log nginx-configuration:error_log
key access_log nginx-configuration:access_log key access_log nginx-configuration:access_log
key not_found_file caddy-configuration:not-found-file key not_found_file caddy-configuration:not-found-file
key master_certificate caddy-configuration:master-certificate
# BBB: SlapOS Master non-zero knowledge BEGIN
key apache_certificate apache-certificate:rendered
key apache_key apache-key:rendered
# BBB: SlapOS Master non-zero knowledge END
[nginx-configuration] [nginx-configuration]
access_log = ${directory:log}/nginx-access.log access_log = ${directory:log}/nginx-access.log
...@@ -776,10 +788,8 @@ worker_processes = 4 ...@@ -776,10 +788,8 @@ worker_processes = 4
worker_connections = 1024 worker_connections = 1024
slave-configuration-directory = ${caddy-directory:nginx-slave-configuration} slave-configuration-directory = ${caddy-directory:nginx-slave-configuration}
pid-file = ${directory:run}/nginx.pid pid-file = ${directory:run}/nginx.pid
nginx-graceful-command = ${:nginx-configuration-verification}; if [ $? -eq 0 ]; then kill -USR1 $(cat ${:pid-file}); fi nginx-graceful-command = ${:nginx-configuration-verification} && kill -USR1 $(cat ${:pid-file})
nginx-configuration-verification = ${frontend-nginx-validate:rendered} nginx-configuration-verification = ${frontend-nginx-validate:rendered}
ssl_certificate = ${ca-frontend:cert-file}
ssl_key = ${ca-frontend:key-file}
[promise-nginx-configuration] [promise-nginx-configuration]
<= promise-plugin-base <= promise-plugin-base
......
{% if slap_software_type in software_type %} {% if slap_software_type in software_type %}
{%- set TRUE_VALUES = ['y', 'yes', '1', 'true'] -%}
{% set aikc_enabled = slapparameter_dict.get('automatic-internal-kedifa-caucase-csr', 'true').lower() in TRUE_VALUES %}
[jinja2-template-base] [jinja2-template-base]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:filename} rendered = ${buildout:directory}/${:filename}
...@@ -30,6 +31,10 @@ context = ...@@ -30,6 +31,10 @@ context =
{% if not sla_computer_caddy_1_key in slapparameter_dict %} {% if not sla_computer_caddy_1_key in slapparameter_dict %}
{% do slapparameter_dict.__setitem__(sla_computer_caddy_1_key, '${slap-connection:computer-id}') %} {% do slapparameter_dict.__setitem__(sla_computer_caddy_1_key, '${slap-connection:computer-id}') %}
{% endif %} {% endif %}
{% set sla_computer_kedifa_key = '-sla-kedifa-computer_guid' %}
{% if not sla_computer_kedifa_key in slapparameter_dict %}
{% do slapparameter_dict.__setitem__(sla_computer_kedifa_key, '${slap-connection:computer-id}') %}
{% endif %}
# Here we request individually each frontend. # Here we request individually each frontend.
# The presence of sla parameters is checked and added if found # The presence of sla parameters is checked and added if found
...@@ -67,10 +72,12 @@ context = ...@@ -67,10 +72,12 @@ context =
{% set authorized_slave_string_list = slapparameter_dict.pop('-frontend-authorized-slave-string', '').split() %} {% set authorized_slave_string_list = slapparameter_dict.pop('-frontend-authorized-slave-string', '').split() %}
{% set authorized_slave_list = [] %} {% set authorized_slave_list = [] %}
{% set rejected_slave_dict = {} %} {% set rejected_slave_dict = {} %}
{% set warning_slave_dict = {} %}
{% set used_host_list = [] %} {% set used_host_list = [] %}
{% set unauthorized_message = 'slave not authorized' %} {% set unauthorized_message = 'slave not authorized' %}
{% for slave in slave_instance_list %} {% for slave in slave_instance_list %}
{% set slave_error_list = [] %} {% set slave_error_list = [] %}
{% set slave_warning_list = [] %}
{% set slave_server_alias_unclashed = [] %} {% set slave_server_alias_unclashed = [] %}
{# BBB: apache_custom_https AND apache_custom_http #} {# BBB: apache_custom_https AND apache_custom_http #}
{% set custom_domain = slave.get('custom_domain') %} {% set custom_domain = slave.get('custom_domain') %}
...@@ -122,18 +129,25 @@ context = ...@@ -122,18 +129,25 @@ context =
{% do slave_error_list.append('slave https-url %r invalid' % (slave['https-url'],)) %} {% do slave_error_list.append('slave https-url %r invalid' % (slave['https-url'],)) %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{# BBB: SlapOS Master non-zero knowledge BEGIN #}
{% for key in ['ssl_key', 'ssl_crt', 'ssl_ca_crt'] %}
{% if key in slave %}
{% do slave_warning_list.append('%s is obsolete, please use key-upload-url' % (key,)) %}
{% endif %}
{% endfor %}
{% if slave.get('ssl_ca_crt') and not (slave.get('ssl_crt') and slave.get('ssl_key')) %} {% if slave.get('ssl_ca_crt') and not (slave.get('ssl_crt') and slave.get('ssl_key')) %}
{% do slave_error_list.append('ssl_ca_crt is present, so ssl_crt and ssl_key are required') %} {% do slave_error_list.append('ssl_ca_crt is present, so ssl_crt and ssl_key are required') %}
{% endif %} {% endif %}
{% if slave.get('ssl_key') and slave.get('ssl_crt') %} {% if slave.get('ssl_key') and slave.get('ssl_crt') %}
{% set key_popen = popen([openssl, 'rsa', '-noout', '-modulus']) %} {% set key_popen = popen([parameter_dict['openssl'], 'rsa', '-noout', '-modulus']) %}
{% set crt_popen = popen([openssl, 'x509', '-noout', '-modulus']) %} {% set crt_popen = popen([parameter_dict['openssl'], 'x509', '-noout', '-modulus']) %}
{% set key_modulus = key_popen.communicate('' ~ slave['ssl_key'])[0] | trim %} {% set key_modulus = key_popen.communicate(slave['ssl_key'])[0] | trim %}
{% set crt_modulus = crt_popen.communicate('' ~ slave['ssl_crt'])[0] | trim %} {% set crt_modulus = crt_popen.communicate(slave['ssl_crt'])[0] | trim %}
{% if not key_modulus or key_modulus != crt_modulus %} {% if not key_modulus or key_modulus != crt_modulus %}
{% do slave_error_list.append('slave ssl_key and ssl_crt does not match') %} {% do slave_error_list.append('slave ssl_key and ssl_crt does not match') %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{# BBB: SlapOS Master non-zero knowledge END #}
{% if slave.get('custom_domain') %} {% if slave.get('custom_domain') %}
{% set slave_custom_domain = '' ~ slave['custom_domain'] %} {% set slave_custom_domain = '' ~ slave['custom_domain'] %}
{% if slave_custom_domain.startswith('*.') %} {% if slave_custom_domain.startswith('*.') %}
...@@ -150,6 +164,9 @@ context = ...@@ -150,6 +164,9 @@ context =
{% else %} {% else %}
{% do rejected_slave_dict.__setitem__(slave.get('slave_reference'), slave_error_list) %} {% do rejected_slave_dict.__setitem__(slave.get('slave_reference'), slave_error_list) %}
{% endif %} {% endif %}
{% if len(slave_warning_list) > 0 %}
{% do warning_slave_dict.__setitem__(slave.get('slave_reference'), slave_warning_list) %}
{% endif %}
{% endfor %} {% endfor %}
[monitor-instance-parameter] [monitor-instance-parameter]
...@@ -169,7 +186,7 @@ software-url = {{ slapparameter_dict.pop(frontend_software_url_key) }} ...@@ -169,7 +186,7 @@ software-url = {{ slapparameter_dict.pop(frontend_software_url_key) }}
software-url = ${slap-connection:software-release-url} software-url = ${slap-connection:software-release-url}
{% endif %} {% endif %}
software-type = {{frontend_type}} software-type = {{frontend_type}}
return = private-ipv4 public-ipv4 slave-instance-information-list monitor-base-url return = private-ipv4 public-ipv4 slave-instance-information-list monitor-base-url csr_id-url csr_id-certificate
{% for section, frontend_request in request_dict.iteritems() %} {% for section, frontend_request in request_dict.iteritems() %}
[{{section}}] [{{section}}]
...@@ -178,6 +195,10 @@ name = {{ frontend_request.get('name') }} ...@@ -178,6 +195,10 @@ name = {{ frontend_request.get('name') }}
{% if frontend_request.get('state') %} {% if frontend_request.get('state') %}
state = {{ frontend_request.get('state') }} state = {{ frontend_request.get('state') }}
{% endif%} {% endif%}
config-slave-kedifa-information = ${request-kedifa:connection-slave-kedifa-information}
config-kedifa-caucase-url = ${request-kedifa:connection-caucase-url}
config-master-key-download-url = ${request-kedifa:connection-master-key-download-url}
config-cluster-identification = {{ cluster_identification }}
{% set slave_configuration_dict = slapparameter_dict %} {% set slave_configuration_dict = slapparameter_dict %}
{% do slave_configuration_dict.update(frontend_request.get('config')) %} {% do slave_configuration_dict.update(frontend_request.get('config')) %}
{% do slave_configuration_dict.__setitem__(slave_list_name, json_module.dumps(authorized_slave_list)) %} {% do slave_configuration_dict.__setitem__(slave_list_name, json_module.dumps(authorized_slave_list)) %}
...@@ -192,6 +213,12 @@ sla-{{ parameter }} = {{ value }} ...@@ -192,6 +213,12 @@ sla-{{ parameter }} = {{ value }}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% set warning_list = [] %}
{% for key in ['apache-certificate', 'apache-key'] %}
{% if key in slapparameter_dict %}
{% do warning_list.append('%s is obsolete, please use master-key-upload-url' % (key, )) %}
{% endif %}
{% endfor %}
[publish-information] [publish-information]
<= monitor-publish <= monitor-publish
...@@ -201,6 +228,24 @@ slave-amount = {{ slave_instance_list | length }} ...@@ -201,6 +228,24 @@ slave-amount = {{ slave_instance_list | length }}
accepted-slave-amount = {{ authorized_slave_list | length }} accepted-slave-amount = {{ authorized_slave_list | length }}
rejected-slave-amount = {{ rejected_slave_dict | length }} rejected-slave-amount = {{ rejected_slave_dict | length }}
rejected-slave-dict = {{ dumps(json_module.dumps(rejected_slave_dict)) }} rejected-slave-dict = {{ dumps(json_module.dumps(rejected_slave_dict)) }}
master-key-upload-url = ${request-kedifa:connection-master-key-upload-url}
master-key-generate-auth-url = ${request-kedifa:connection-master-key-generate-auth-url}
kedifa-caucase-url = ${request-kedifa:connection-caucase-url}
{% if len(warning_list) > 0 %}
warning-list = {{ dumps(json_module.dumps(warning_list)) }}
{% endif %}
{% if len(warning_slave_dict) > 0 %}
warning-slave-dict = {{ dumps(json_module.dumps(warning_slave_dict)) }}
{% endif %}
{% if not aikc_enabled %}
kedifa-csr_id-url = ${request-kedifa:connection-csr_id-url}
kedifa-csr_id-certificate = ${request-kedifa:connection-csr_id-certificate}
{% for frontend in frontend_list %}
{% set section_part = '${request-' + frontend %}
{{ frontend }}-csr_id-url = {{ section_part }}:connection-csr_id-url}
{{ frontend }}-csr_id-certificate = {{ section_part }}:connection-csr_id-certificate}
{% endfor %}
{% endif %}
#---------------------------- #----------------------------
#-- #--
...@@ -213,11 +258,47 @@ replicate = ${dynamic-publish-slave-information:rendered} ...@@ -213,11 +258,47 @@ replicate = ${dynamic-publish-slave-information:rendered}
custom-personal = ${dynamic-publish-slave-information:rendered} custom-personal = ${dynamic-publish-slave-information:rendered}
custom-group = ${dynamic-publish-slave-information:rendered} custom-group = ${dynamic-publish-slave-information:rendered}
[request-kedifa]
<= slap-connection
recipe = slapos.cookbook:requestoptional.serialised
config-monitor-cors-domains = {{ slapparameter_dict.get('monitor-cors-domains', 'monitor.app.officejs.com') }}
config-monitor-username = ${monitor-instance-parameter:username}
config-monitor-password = ${monitor-htpasswd:passwd}
{% for key in ['kedifa_port', 'caucase_port'] -%}
{%- if key in slapparameter_dict %}
config-{{ key }} = {{ dumps(slapparameter_dict[key]) }}
{%- endif %}
{%- endfor %}
config-slave-list = {{ dumps(slave_instance_list) }}
config-cluster-identification = {{ cluster_identification }}
{% set frontend_software_url_key = "-frontend-software-release-url" %}
{% if slapparameter_dict.has_key(frontend_software_url_key) %}
software-url = {{ slapparameter_dict.pop(frontend_software_url_key) }}
{% else %}
software-url = ${slap-connection:software-release-url}
{% endif %}
software-type = kedifa
name = kedifa
return = slave-kedifa-information master-key-generate-auth-url master-key-upload-url master-key-download-url caucase-url csr_id-url csr_id-certificate
{% set sla_kedifa_key = "-sla-kedifa-" %}
{% set sla_kedifa_key_length = sla_kedifa_key | length %}
{% for key in slapparameter_dict.keys() %}
{% if key.startswith(sla_kedifa_key) %}
sla-{{ key[sla_kedifa_key_length:] }} = {{ slapparameter_dict.pop(key) }}
{% endif %}
{% endfor %}
[rejected-slave-information] [rejected-slave-information]
{% for slave_id, rejected_list in rejected_slave_dict.iteritems() %} {% for slave_id, rejected_list in rejected_slave_dict.iteritems() %}
{{ slave_id }} = {{ dumps(json_module.dumps(rejected_list)) }} {{ slave_id }} = {{ dumps(json_module.dumps(rejected_list)) }}
{% endfor %} {% endfor %}
[warning-slave-information]
{% for slave_id, warning_list in warning_slave_dict.iteritems() %}
{{ slave_id }} = {{ dumps(json_module.dumps(warning_list)) }}
{% endfor %}
[slave-information] [slave-information]
{% for frontend_section in frontend_section_list %} {% for frontend_section in frontend_section_list %}
{{ frontend_section }} = {{ "${%s:connection-slave-instance-information-list}" % frontend_section }} {{ frontend_section }} = {{ "${%s:connection-slave-instance-information-list}" % frontend_section }}
...@@ -241,6 +322,8 @@ extra-context = ...@@ -241,6 +322,8 @@ extra-context =
section slave_information slave-information section slave_information slave-information
section rejected_slave_information rejected-slave-information section rejected_slave_information rejected-slave-information
section active_slave_instance_dict active-slave-instance section active_slave_instance_dict active-slave-instance
section warning_slave_information warning-slave-information
key slave_kedifa_information request-kedifa:connection-slave-kedifa-information
[monitor-conf-parameters] [monitor-conf-parameters]
monitor-url-list += monitor-url-list +=
...@@ -248,6 +331,126 @@ monitor-url-list += ...@@ -248,6 +331,126 @@ monitor-url-list +=
{{ ' ${' + frontend + ':connection-monitor-base-url}' }} {{ ' ${' + frontend + ':connection-monitor-base-url}' }}
{% endfor %} {% endfor %}
{% if aikc_enabled %}
[directory]
recipe = slapos.cookbook:mkdirectory
bin = ${buildout:directory}/bin/
srv = ${buildout:directory}/srv/
aikc = ${:srv}/aikc
[aikc-config]
caucase-url = ${request-kedifa:connection-caucase-url}
csr = ${directory:aikc}/csr.pem
key = ${directory:aikc}/key.pem
ca-certificate = ${directory:aikc}/cas-ca-certificate.pem
crl = ${directory:aikc}/crl.pem
user-ca-certificate = ${directory:aikc}/user-ca-certificate.pem
user-crl = ${directory:aikc}/user-crl.pem
user-created = ${directory:aikc}/user-created
csr_id = ${directory:aikc}/csr_id
[aikc-user-csr]
recipe = plone.recipe.command
organization = {{ cluster_identification }}
organizational_unit = Automatic Internal Kedifa Caucase CSR
command =
if [ ! -f ${:csr} ] && [ ! -f ${:key} ] ; then
{{ parameter_dict['openssl'] }} req -new -sha256 \
-newkey rsa:2048 -nodes -keyout ${:key} \
-subj "/O=${:organization}/OU=${:organizational_unit}" \
-out ${:csr}
fi
update-command = ${:command}
csr = ${aikc-config:csr}
key = ${aikc-config:key}
stop-on-error = True
[aikc-caucase-wrapper]
{# jinja2 instead of wrapper is used with context to remove py'u' #}
recipe = slapos.recipe.template:jinja2
context =
key caucase_url aikc-config:caucase-url
template = inline:#!{{ parameter_dict['dash'] }}/bin/dash
exec {{ parameter_dict['bin_directory'] }}/caucase \
{# raw block to use context #}
{% raw %}
--ca-url {{ caucase_url }} \
{% endraw %}
--ca-crt ${aikc-config:ca-certificate} \
--user-ca-crt ${aikc-config:user-ca-certificate} \
--user-crl ${aikc-config:user-crl} \
--crl ${aikc-config:crl} \
"$@"
rendered = ${directory:bin}/aikc-caucase-wrapper
mode = 0700
{% do part_list.append('aikc-create-user') %}
[aikc-create-user]
recipe = plone.recipe.command
stop-on-error = True
update-command = ${:command}
command =
if ! [ -f ${aikc-config:user-created} ] ; then
${aikc-caucase-wrapper:rendered} --mode user --send-csr ${aikc-user-csr:csr} > ${aikc-config:csr_id} || exit 1
cut -d ' ' -f 1 ${aikc-config:csr_id} || exit 1
csr_id=`cut -d ' ' -f 1 ${aikc-config:csr_id}`
sleep 1
${aikc-caucase-wrapper:rendered} --mode user --get-crt $csr_id ${aikc-config:key} || exit 1
touch ${aikc-config:user-created}
fi
[aikc-check-certificate]
recipe = slapos.recipe.template:jinja2
rendered = ${directory:bin}/aikc-check-certificate
template = inline:
import sys
import ssl
import urlparse
certificate = sys.argv[2]
parsed = urlparse.urlparse(sys.argv[1])
got_certificate = ssl.get_server_certificate((parsed.hostname, parsed.port))
sys.exit(0) if certificate.strip() == got_certificate.strip() else sys.exit(1)
{% for csr in frontend_list + ['kedifa'] %}
[aikc-{{ csr }}-wrapper]
{# jinja2 instead of wrapper is used with context to remove py'u' #}
recipe = slapos.recipe.template:jinja2
context =
key csr_id_url request-{{ csr }}:connection-csr_id-url
key csr_id_certificate request-{{ csr }}:connection-csr_id-certificate
template = inline:#!{{ parameter_dict['dash'] }}/bin/dash
test -f ${directory:aikc}/{{ csr }}-done && exit 0
${buildout:executable} ${aikc-check-certificate:rendered} \
{# raw block to use context #}
{% raw %}
{{ csr_id_url }} \
"""{{ csr_id_certificate }}"""
{% endraw %}
if [ $? = 0 ]; then
csr_id=`{{ parameter_dict['curl'] }}/bin/curl -s -k -g \
{% raw %}
{{ csr_id_url }} \
{% endraw %}
` || exit 1
${aikc-caucase-wrapper:rendered} --user-key ${aikc-config:key} --sign-csr $csr_id && touch ${directory:aikc}/{{ csr }}-done
fi
rendered = ${directory:bin}/aikc-{{ csr }}-wrapper
mode = 0700
{% do part_list.append('aikc-%s' % (csr,)) %}
[aikc-{{ csr }}]
recipe = plone.recipe.command
stop-on-error = True
command =
${aikc-{{ csr }}-wrapper:rendered}
update-command = ${:command}
{% endfor %}
{% endif %}
[buildout] [buildout]
extends = extends =
{{ common_profile }} {{ common_profile }}
...@@ -256,6 +459,7 @@ parts = ...@@ -256,6 +459,7 @@ parts =
monitor-base monitor-base
publish-slave-information publish-slave-information
publish-information publish-information
request-kedifa
{% for part in part_list %} {% for part in part_list %}
{{ ' %s' % part }} {{ ' %s' % part }}
{% endfor %} {% endfor %}
......
...@@ -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
}
#
#
# Process Records Config File
#
# <RECORD-TYPE> <NAME> <TYPE> <VALUE (till end of line)>
#
# RECORD-TYPE: CONFIG, LOCAL
# NAME: name of variable
# TYPE: INT, STRING, FLOAT
# VALUE: Initial value for record
#
#
# *NOTE*: All options covered in this file should be documented in the
# administration guide or the addendum:
#
#
############################################################################## ##############################################################################
# *NOTE*: All options covered in this file should be documented in the docs:
# #
# System Variables # https://docs.trafficserver.apache.org/records.config
# ##############################################################################
##############################################################################
# SlapOS Specific configuration
############################################################################## ##############################################################################
CONFIG proxy.config.proxy_name STRING {{ ats_configuration['hostname'] }} CONFIG proxy.config.proxy_name STRING {{ ats_configuration['hostname'] }}
CONFIG proxy.config.local_state_dir {{ ats_directory['local-state'] }} CONFIG proxy.config.local_state_dir STRING {{ ats_directory['local-state'] }}
CONFIG proxy.config.config_dir STRING {{ ats_directory['configuration'] }} CONFIG proxy.config.config_dir STRING {{ ats_directory['configuration'] }}
CONFIG proxy.config.bin_path STRING {{ ats_directory['bin_path'] }} CONFIG proxy.config.bin_path STRING {{ ats_directory['bin_path'] }}
CONFIG proxy.config.proxy_binary_opts STRING -M
CONFIG proxy.config.env_prep STRING example_prep.sh CONFIG proxy.config.env_prep STRING example_prep.sh
CONFIG proxy.config.alarm_email STRING nobody CONFIG proxy.config.alarm_email STRING nobody
CONFIG proxy.config.syslog_facility STRING LOG_DAEMON CONFIG proxy.config.syslog_facility STRING LOG_DAEMON
CONFIG proxy.config.output.logfile STRING traffic.out CONFIG proxy.config.output.logfile STRING traffic.out
CONFIG proxy.config.snapshot_dir STRING snapshots CONFIG proxy.config.snapshot_dir STRING snapshots
CONFIG proxy.config.system.mmap_max INT 2097152 CONFIG proxy.config.admin.user_id STRING {{ '#%s' % os_module.geteuid() }}
CONFIG proxy.config.admin.number_config_bak INT 0
CONFIG proxy.config.process_manager.mgmt_port INT {{ ats_configuration['mgmt-port'] }}
CONFIG proxy.config.admin.synthetic_port INT {{ ats_configuration['synthetic-port'] }}
LOCAL proxy.local.incoming_ip_to_bind STRING {{ ats_configuration['local-ip'] }}
CONFIG proxy.config.log.logfile_dir STRING {{ ats_directory['log'] }}
# Implement RFC 5861 with core
CONFIG proxy.config.http.cache.open_write_fail_action INT 2
CONFIG proxy.config.body_factory.template_sets_dir STRING {{ ats_configuration['templates-dir'] }}
############################################################################## ##############################################################################
# # Thread configurations. Docs:
# Main threads configuration (worker threads). Also see configurations for # https://docs.trafficserver.apache.org/records.config#thread-variables
# SSL threads, disk I/O threads and task threads in their respective areas.
#
############################################################################## ##############################################################################
CONFIG proxy.config.exec_thread.autoconfig INT 1 CONFIG proxy.config.exec_thread.autoconfig INT 1
CONFIG proxy.config.exec_thread.autoconfig.scale FLOAT 1.5 CONFIG proxy.config.exec_thread.autoconfig.scale FLOAT 1.5
CONFIG proxy.config.exec_thread.limit INT 2 CONFIG proxy.config.exec_thread.limit INT 2
CONFIG proxy.config.accept_threads INT 1 CONFIG proxy.config.accept_threads INT 1
CONFIG proxy.config.task_threads INT 2
CONFIG proxy.config.cache.threads_per_disk INT 8
CONFIG proxy.config.exec_thread.affinity INT 1
############################################################################## ##############################################################################
# # Specify server addresses and ports to bind for HTTP and HTTPS. Docs:
# Local Manager # https://docs.trafficserver.apache.org/records.config#proxy.config.http.server_ports
#
##############################################################################
CONFIG proxy.config.admin.admin_user STRING admin
CONFIG proxy.config.admin.number_config_bak INT 3
CONFIG proxy.config.admin.user_id STRING {{ '#%s' % os_module.geteuid() }}
##############################################################################
#
# Process Manager
#
##############################################################################
CONFIG proxy.config.admin.autoconf_port INT {{ ats_configuration.get('autoconf-port', '8083') }}
CONFIG proxy.config.process_manager.mgmt_port INT {{ ats_configuration.get('mgmt-port', '8084') }}
############################################################################## ##############################################################################
# CONFIG proxy.config.http.server_ports STRING {{ ats_configuration['local-ip'] + ':' + ats_configuration['input-port'] }}
# In order to only bind a specific IP, use the following config, as in
# the example below. Note - this can contain two addresses, one for IPv4
# sockets and one for IPv6 sockets.
#
############################################################################## ##############################################################################
LOCAL proxy.local.incoming_ip_to_bind STRING {{ ats_configuration['local-ip'] }} # Via: headers. Docs:
#LOCAL proxy.local.outgoing_ip_to_bind STRING 10.0.143.32 # https://docs.trafficserver.apache.org/records.config#proxy-config-http-insert-response-via-str
#LOCAL proxy.local.incoming_ip_to_bind STRING 192.168.101.17 fc07:192:168:101::17
############################################################################## ##############################################################################
# CONFIG proxy.config.http.insert_request_via_str INT 1
# Alarm Configuration CONFIG proxy.config.http.insert_response_via_str INT 0
#
############################################################################## ##############################################################################
# execute alarm as "<abs_path>/<bin> "<MSG_STRING_FROM_PROXY>"" # Parent proxy configuration, in addition to these settings also see parent.config. Docs:
CONFIG proxy.config.alarm.bin STRING example_alarm_bin.sh # https://docs.trafficserver.apache.org/records.config#parent-proxy-configuration
CONFIG proxy.config.alarm.abs_path STRING NULL # https://docs.trafficserver.apache.org/en/latest/admin-guide/files/parent.config.en.html
############################################################################## ##############################################################################
#
# HTTP Engine
#
##############################################################################
##########
# basics #
##########
# The server ports are listed here. These are separated by spaces or commas.
# Each port is a colon separated list of values, which must include a
# port number. The order is irrelevant. Other options are
# ipv4 - Use IPv4 (default)
# ipv6 - Use IPv6
# tr-in - Transparent inbound.
# tr-out - Transparent outbound.
# tr-full - Fully transparent (inbound and outbound).
# tr-pass - Transparently Pass-through non-HTTP traffic (in conjuction with tr-in).
# ssl - SSL terminated port.
# blind - Blind tunnel port (CONNECT only)
# ip-in=[addr] - Bind inbound IP address (listen for client).
# ip-out=[addr] - Bind outbound IP address (connect to origin server).
# ip-resolve=[style] - Set the IP resolution style.
#
# Note - address types must agree with each other and the ipv4/ipv6
# option if specified. IPv6 addresses must be enclosed in brackets.
# ip-out can be repeated as long as each address is a different
# family. If ip-in is specified as an IPv6 address, the port is
# forced to IPv6. Transparent ports cannot be bound to an IP
# address on the transparent side.
#
# The '=' is optional for any option with a value.
#
# Example 1: Port 8080 IPv6 inbound transparent, and port 80 IPv4
# "8080:ipv6:tr-in 80"
#
# Example 2: Listen on standard http and https ports for IPv4 and IPv6,
# fully transparent on the http ports. Also provide an non-transparent
# port at address 192.168.1.56 on port 8080.
# "80:ipv4:tr-full tr-full:80:ipv6 443:ipv4:ssl 443:ssl:ipv6 ip-in=192.168.1.56:8080"
#
CONFIG proxy.config.http.server_ports STRING {{ ats_configuration['local-ip'] + ':' + ats_configuration['input-port'] }}
# Ports on the origin server to which a blind tunnel may connect.
CONFIG proxy.config.http.connect_ports STRING 443 563
# The via settings have four values
# 0 - Do not modify / set this via header
# 1 - Update the via, with normal verbosity
# 2 - Update the via, with higher verbosity
# 3 - Update the via, with highest verbosity
CONFIG proxy.config.http.insert_request_via_str INT 2
CONFIG proxy.config.http.insert_response_via_str INT 2
# Insert a Server: header, this has three values
# 0 - Don't add or modify the Server: header
# 1 - Add a Server: header
# 2 - Only add a Server: header if one doesn't exist already
CONFIG proxy.config.http.response_server_enabled INT 1
CONFIG proxy.config.http.insert_age_in_response INT 1
CONFIG proxy.config.http.enable_url_expandomatic INT 0
CONFIG proxy.config.http.no_dns_just_forward_to_parent INT 0
CONFIG proxy.config.http.uncacheable_requests_bypass_parent INT 1
CONFIG proxy.config.http.keep_alive_enabled_in INT 1
CONFIG proxy.config.http.keep_alive_enabled_out INT 1
CONFIG proxy.config.http.chunking_enabled INT 1
# send http11 requests:
# 0 - Never
# 1 - Always
# 2 - if the server has returned http1.1 before
# 3 - if the client request is 1.1 & the server has returned 1.1 before
# If use_client_addr is set to 1, options 2 and 3 cause the proxy to use
# the client HTTP version for upstream requests.
CONFIG proxy.config.http.send_http11_requests INT 1
# Share server connections
# 0 - Never
# 1 - Share, with a single global connection pool
# 2 - Share, with a connection pool per worker thread
CONFIG proxy.config.http.share_server_sessions INT 2
##########################
# HTTP referer filtering #
##########################
CONFIG proxy.config.http.referer_filter INT 0
CONFIG proxy.config.http.referer_format_redirect INT 0
CONFIG proxy.config.http.referer_default_redirect STRING http://www.example.com/
##############################
# parent proxy configuration #
##############################
CONFIG proxy.config.http.parent_proxy_routing_enable INT 0 CONFIG proxy.config.http.parent_proxy_routing_enable INT 0
CONFIG proxy.config.http.parent_proxy.retry_time INT 300 CONFIG proxy.config.http.parent_proxy.retry_time INT 300
# Parent fail threshold is the number of request that must
# fail within the retry window for the parent to be marked
# down
CONFIG proxy.config.http.parent_proxy.fail_threshold INT 10
CONFIG proxy.config.http.parent_proxy.total_connect_attempts INT 4
CONFIG proxy.config.http.parent_proxy.per_parent_connect_attempts INT 2
CONFIG proxy.config.http.parent_proxy.connect_attempts_timeout INT 30 CONFIG proxy.config.http.parent_proxy.connect_attempts_timeout INT 30
CONFIG proxy.config.http.forward.proxy_auth_to_parent INT 0 CONFIG proxy.config.http.forward.proxy_auth_to_parent INT 0
################################### CONFIG proxy.config.http.uncacheable_requests_bypass_parent INT 1
# HTTP connection timeouts (secs) #
################################### ##############################################################################
# out: proxy -> origin server connection # HTTP connection timeouts (secs). Docs:
# in : ua -> proxy connection # https://docs.trafficserver.apache.org/records.config#http-connection-timeouts
CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 115 ##############################################################################
CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 120
CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 120 CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 120
CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 300 CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 30
CONFIG proxy.config.http.transaction_no_activity_timeout_out INT 300 CONFIG proxy.config.http.transaction_no_activity_timeout_out INT 30
CONFIG proxy.config.http.transaction_active_timeout_in INT 900 CONFIG proxy.config.http.transaction_active_timeout_in INT 900
CONFIG proxy.config.http.transaction_active_timeout_out INT 0 CONFIG proxy.config.http.transaction_active_timeout_out INT 0
CONFIG proxy.config.http.accept_no_activity_timeout INT 120 CONFIG proxy.config.http.accept_no_activity_timeout INT 120
CONFIG proxy.config.http.background_fill_active_timeout INT 60 CONFIG proxy.config.net.default_inactivity_timeout INT 86400
CONFIG proxy.config.http.background_fill_completed_threshold FLOAT 0.5
################################## ##############################################################################
# origin server connect attempts # # Origin server connect attempts. Docs:
################################## # https://docs.trafficserver.apache.org/records.config#origin-server-connect-attempts
CONFIG proxy.config.http.connect_attempts_max_retries INT 1 ##############################################################################
CONFIG proxy.config.http.connect_attempts_max_retries_dead_server INT 3 CONFIG proxy.config.http.connect_attempts_max_retries INT 3
CONFIG proxy.config.http.connect_attempts_max_retries_dead_server INT 1
CONFIG proxy.config.http.connect_attempts_rr_retries INT 3 CONFIG proxy.config.http.connect_attempts_rr_retries INT 3
CONFIG proxy.config.http.connect_attempts_timeout INT 160 CONFIG proxy.config.http.connect_attempts_timeout INT 30
CONFIG proxy.config.http.post_connect_attempts_timeout INT 1800 CONFIG proxy.config.http.post_connect_attempts_timeout INT 1800
CONFIG proxy.config.http.down_server.cache_time INT 300 CONFIG proxy.config.http.down_server.cache_time INT 60
CONFIG proxy.config.http.down_server.abort_threshold INT 10 CONFIG proxy.config.http.down_server.abort_threshold INT 10
##################################
# congestion control # ##############################################################################
################################## # Negative response caching, for redirects and errors. Docs:
CONFIG proxy.config.http.congestion_control.enabled INT 0 # https://docs.trafficserver.apache.org/records.config#negative-response-caching
############################# ##############################################################################
# negative response caching #
#############################
CONFIG proxy.config.http.negative_caching_enabled INT 0 CONFIG proxy.config.http.negative_caching_enabled INT 0
CONFIG proxy.config.http.negative_caching_lifetime INT 1800 CONFIG proxy.config.http.negative_caching_lifetime INT 1800
#########################
# proxy users variables # ##############################################################################
######################### # Proxy users variables. Docs:
CONFIG proxy.config.http.anonymize_remove_from INT 0 # https://docs.trafficserver.apache.org/records.config#proxy-user-variables
CONFIG proxy.config.http.anonymize_remove_referer INT 0 ##############################################################################
CONFIG proxy.config.http.anonymize_remove_user_agent INT 0 CONFIG proxy.config.http.insert_client_ip INT 1
CONFIG proxy.config.http.anonymize_remove_cookie INT 0
CONFIG proxy.config.http.anonymize_remove_client_ip INT 0
CONFIG proxy.config.http.anonymize_insert_client_ip INT 1
CONFIG proxy.config.http.anonymize_other_header_list STRING NULL
CONFIG proxy.config.http.insert_squid_x_forwarded_for INT 1 CONFIG proxy.config.http.insert_squid_x_forwarded_for INT 1
############
# security #
############
CONFIG proxy.config.http.push_method_enabled INT 0
# ################################### ##############################################################################
# # HTTP Quick filtering (security) # # Security. Docs:
# ################################### # https://docs.trafficserver.apache.org/records.config#security
# this functionality is moved to ip_allow.config ##############################################################################
CONFIG proxy.config.http.push_method_enabled INT 0
################# ##############################################################################
# cache control # # Enable / disable HTTP caching. Useful for testing, but also as an
################# # overridable (per remap) config
##############################################################################
CONFIG proxy.config.http.cache.http INT 1 CONFIG proxy.config.http.cache.http INT 1
# Enabling this setting allows the proxy to cache empty documents. This currently
# requires that the response has a Content-Length: header, with a value of "0". ##############################################################################
CONFIG proxy.config.http.cache.allow_empty_doc INT 0 # Cache control. Docs:
CONFIG proxy.config.http.cache.ignore_client_no_cache INT 0 # https://docs.trafficserver.apache.org/records.config#cache-control
CONFIG proxy.config.http.cache.ims_on_client_no_cache INT 0 # https://docs.trafficserver.apache.org/en/latest/admin-guide/files/cache.config.en.html
CONFIG proxy.config.http.cache.ignore_server_no_cache INT 0 ##############################################################################
CONFIG proxy.config.http.cache.ignore_client_cc_max_age INT 0 CONFIG proxy.config.http.cache.ignore_client_cc_max_age INT 1
CONFIG proxy.config.http.normalize_ae_gzip INT 0 CONFIG proxy.config.http.normalize_ae_gzip INT 1
# cache responses to cookies has 5 options:
# 0 - do not cache any responses to cookies
# 1 - cache for any content-type
# 2 - cache only for image types
# 3 - cache for all but text content-types
# 4 - cache for all but text content-types except OS response
# without "Set-Cookie" or with "Cache-Control: public"
# See also cache-responses-to-cookies in cache.config.
CONFIG proxy.config.http.cache.cache_responses_to_cookies INT 1 CONFIG proxy.config.http.cache.cache_responses_to_cookies INT 1
CONFIG proxy.config.http.cache.ignore_authentication INT 0
CONFIG proxy.config.http.cache.cache_urls_that_look_dynamic INT 1 CONFIG proxy.config.http.cache.cache_urls_that_look_dynamic INT 1
CONFIG proxy.config.http.cache.enable_default_vary_headers INT 0 # https://docs.trafficserver.apache.org/records.config#proxy-config-http-cache-when-to-revalidate
# when_to_revalidate has 5 options:
# 0 - default. use cache directives or heuristic
# 1 - stale if heuristic
# 2 - always stale (always revalidate)
# 3 - never stale
# 4 - always revalidate if request is conditional, else default is used
CONFIG proxy.config.http.cache.when_to_revalidate INT 0 CONFIG proxy.config.http.cache.when_to_revalidate INT 0
# Some old MSIE browsers don't send no-cache headers to # https://docs.trafficserver.apache.org/records.config#proxy-config-http-cache-required-headers
# reverse proxies or transparent caches, this variable controls
# when to add no-cache headers to MSIE requests:
# -1 - no-cache is never added, stats are not updated
# 0 - default; no-cache not added to MSIE requests
# 1 - no-cache added to IMS MSIE requests
# 2 - no-cache added to all MSIE requests
CONFIG proxy.config.http.cache.when_to_add_no_cache_to_msie_requests INT -1
# required headers: three options:
# 0 - No required headers to make document cachable
# 1 - "Last-Modified:", "Expires:", or "Cache-Control: max-age" required
# 2 - explicit lifetime required, "Expires:" or "Cache-Control: max-age"
CONFIG proxy.config.http.cache.required_headers INT 2 CONFIG proxy.config.http.cache.required_headers INT 2
CONFIG proxy.config.http.cache.max_stale_age INT 604800
CONFIG proxy.config.http.cache.range.lookup INT 1 ##############################################################################
######################## # Heuristic cache expiration. Docs:
# heuristic expiration # # https://docs.trafficserver.apache.org/records.config#heuristic-expiration
######################## ##############################################################################
CONFIG proxy.config.http.cache.heuristic_min_lifetime INT 3600 CONFIG proxy.config.http.cache.heuristic_min_lifetime INT 3600
CONFIG proxy.config.http.cache.heuristic_max_lifetime INT 86400 CONFIG proxy.config.http.cache.heuristic_max_lifetime INT 86400
CONFIG proxy.config.http.cache.heuristic_lm_factor FLOAT 0.10 CONFIG proxy.config.http.cache.heuristic_lm_factor FLOAT 0.10
CONFIG proxy.config.http.cache.fuzz.time INT 240
CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.005
#########################################
# dynamic content & content negotiation #
#########################################
CONFIG proxy.config.http.cache.vary_default_text STRING NULL
CONFIG proxy.config.http.cache.vary_default_images STRING NULL
CONFIG proxy.config.http.cache.vary_default_other STRING NULL
##############################################################
# The HTTP stats are expensive, turn off you don't need them #
##############################################################
CONFIG proxy.config.http.enable_http_stats INT 1
############################################################################## ##############################################################################
# # Network. Docs:
# Customizable User Response Pages # https://docs.trafficserver.apache.org/records.config#network
#
##############################################################################
# 1 - enable customizable user response pages in only the "default" directory
# 2 - enable language-targeted user response pages
CONFIG proxy.config.body_factory.enable_customizations INT 1
CONFIG proxy.config.body_factory.enable_logging INT 0
# 0 - never suppress generated responses
# 1 - always suppress generated responses
# 2 - suppress responses for intercepted traffic
CONFIG proxy.config.body_factory.response_suppression_mode INT 0
##############################################################################
#
# Net Subsystem
#
############################################################################## ##############################################################################
CONFIG proxy.config.net.connections_throttle INT 30000 CONFIG proxy.config.net.connections_throttle INT 30000
# Enable defer accept / accept filtering. On Linux, this is a timeout, sec. CONFIG proxy.config.net.max_connections_in INT 30000
CONFIG proxy.config.net.defer_accept INT 45 CONFIG proxy.config.net.max_connections_active_in INT 10000
##############################################################################
#
# Cluster Subsystem
#
##############################################################################
# cluster type requires restart to change
# 1 is full clustering, 2 is mgmt only, 3 is no clustering
LOCAL proxy.local.cluster.type INT 3
CONFIG proxy.config.cluster.cluster_port INT 8086
CONFIG proxy.config.cluster.rsport INT 8088
CONFIG proxy.config.cluster.mcport INT 8089
CONFIG proxy.config.cluster.mc_group_addr STRING 224.0.1.37
CONFIG proxy.config.cluster.mc_ttl INT 1
CONFIG proxy.config.cluster.log_bogus_mc_msgs INT 1
CONFIG proxy.config.cluster.ethernet_interface STRING lo
############################################################################## ##############################################################################
# # RAM and disk cache configurations. Docs:
# Cache # https://docs.trafficserver.apache.org/records.config#ram-cache
# # https://docs.trafficserver.apache.org/en/latest/admin-guide/files/storage.config.en.html
############################################################################## ##############################################################################
CONFIG proxy.config.cache.permit.pinning INT 0
# default the ram cache size to AUTO_SIZE (-1) based on cache size
# (approximately 10 MB of RAM cache per GB of disk cache)
# alternatively, set to a fixed value such as 21474836480 (20GB)
CONFIG proxy.config.cache.ram_cache.size INT {{ ats_configuration.get('ram-cache-size', '1G') }} CONFIG proxy.config.cache.ram_cache.size INT {{ ats_configuration.get('ram-cache-size', '1G') }}
# Replacement algorithm CONFIG proxy.config.cache.ram_cache_cutoff INT 4194304
# 0 : Clocked Least Frequently Used by Size (CLFUS) w/optional compression # https://docs.trafficserver.apache.org/records.config#proxy-config-cache-limits-http-max-alts
# 1 : LRU w/o optional compression - trivially simple
CONFIG proxy.config.cache.ram_cache.algorithm INT 0
# Filter inserts into the RAM cache to ensure that they have been seen at
# least once. For LRU, this provides scan resistance. Note that CLFUS
# already requires that a document have history before it is inserted, so
# for CLFUS, setting this option means that a document must be seen three
# times before it is added to the RAM cache.
CONFIG proxy.config.cache.ram_cache.use_seen_filter INT 0
# Compress the content of the ram cache:
# 0 : no compression
# 1 : fastlz (extremely fast, relatively low compression)
# 2 : libz (moderate speed, reasonable compression)
# 3 : liblzma (very slow, high compression)
# NOTE: compression runs on task threads. To use more cores for
# compression, increase proxy.config.task_threads.
CONFIG proxy.config.cache.ram_cache.compress INT 0
# The maximum number of alternates that are allowed for any given URL.
# It is not possible to strictly enforce this if the variable
# 'proxy.config.cache.vary_on_user_agent' is set to 1.
# The default value for 'proxy.config.cache.vary_on_user_agent' is 0.
# (0 disables the maximum number of alts check)
CONFIG proxy.config.cache.limits.http.max_alts INT 5 CONFIG proxy.config.cache.limits.http.max_alts INT 5
# The target size of a contiguous fragment on disk. # https://docs.trafficserver.apache.org/records.config#proxy-config-cache-max-doc-size
# Acceptable values are powers of 2, e.g. 65536, 131072, 262144, 524288, 1048576, 2097152.
# Larger could waste memory on slow connections, smaller could waste seeks.
CONFIG proxy.config.cache.target_fragment_size INT 1048576
# The maximum size of a document that will be stored in the cache.
# (0 disables the maximum document size check)
CONFIG proxy.config.cache.max_doc_size INT 0 CONFIG proxy.config.cache.max_doc_size INT 0
# enable the cache to read from an object while it is being added to the cache CONFIG proxy.config.cache.min_average_object_size INT 8000
CONFIG proxy.config.cache.enable_read_while_writer INT 0
# How many I/O threads to allocate per disk (spindle). Be aware that RAID
# disks would show up to TS as a single spindle.
CONFIG proxy.config.cache.threads_per_disk INT 8
# Time (in ms) to delay until retrying to acquire a cache lock. Setting
# this low can reduce latencies in some cases, but can consume more CPU.
# If you experience CPU spinning, try increasing this setting.
CONFIG proxy.config.cache.mutex_retry_delay INT 2
# The interim storage disks. Must use raw disks.
# Only support at most 8 interim disks now. e.g.
# proxy.config.cache.interim.storage STRING /dev/sda /dev/sdb/
LOCAL proxy.config.cache.interim.storage STRING NULL
##############################################################################
#
# DNS
#
##############################################################################
CONFIG proxy.config.dns.search_default_domains INT 0
CONFIG proxy.config.dns.splitDNS.enabled INT 0
CONFIG proxy.config.dns.max_dns_in_flight INT 2048
# Additional URL expansions for http DNS lookup
CONFIG proxy.config.dns.url_expansions STRING NULL
CONFIG proxy.config.dns.round_robin_nameservers INT 0
CONFIG proxy.config.dns.nameservers STRING NULL
CONFIG proxy.config.dns.resolv_conf STRING /etc/resolv.conf
# This provides additional resilience against DNS forgery, particularly in
# forward or transparent proxies, but requires that the resolver populates
# the queries section of the response properly.
CONFIG proxy.config.dns.validate_query_name INT 0
##############################################################################
#
# HostDB
#
##############################################################################
# in entries, may not be changed while running
# note that in order to increase hostdb.size, hostdb.storage_size should
# also be increase. These are best guesses, you will have to monitor this.
CONFIG proxy.config.hostdb.size INT 120000
CONFIG proxy.config.hostdb.storage_size INT 32M
# ttl modes:
# 0 = obey
# 1 = ignore
# 2 = min(X,ttl)
# 3 = max(X,ttl)
CONFIG proxy.config.hostdb.ttl_mode INT 0
# in minutes...
CONFIG proxy.config.hostdb.timeout INT 1440
# round-robin addresses for single clients
# (can cause authentication problems)
CONFIG proxy.config.hostdb.strict_round_robin INT 0
############################################################################## ##############################################################################
# # Logging Config. Docs:
# Logging Config # https://docs.trafficserver.apache.org/records.config#logging-configuration
# # https://docs.trafficserver.apache.org/en/latest/admin-guide/files/logging.config.en.html
############################################################################## ##############################################################################
# possible values for logging_enabled:
# 0: no logging at all
# 1: log errors only
# 2: log transactions only
# 3: full logging (errors + transactions)
CONFIG proxy.config.log.logging_enabled INT 3 CONFIG proxy.config.log.logging_enabled INT 3
CONFIG proxy.config.log.max_secs_per_buffer INT 5
CONFIG proxy.config.log.max_space_mb_for_logs INT 25000 CONFIG proxy.config.log.max_space_mb_for_logs INT 25000
CONFIG proxy.config.log.max_space_mb_for_orphan_logs INT 25
CONFIG proxy.config.log.max_space_mb_headroom INT 1000 CONFIG proxy.config.log.max_space_mb_headroom INT 1000
CONFIG proxy.config.log.hostname STRING localhost
CONFIG proxy.config.log.logfile_dir STRING {{ ats_directory['log'] }}
CONFIG proxy.config.log.logfile_perm STRING rw-r--r--
CONFIG proxy.config.log.custom_logs_enabled INT 0
CONFIG proxy.config.log.squid_log_enabled INT 1
CONFIG proxy.config.log.squid_log_is_ascii INT 0
CONFIG proxy.config.log.squid_log_name STRING squid
CONFIG proxy.config.log.squid_log_header STRING NULL
CONFIG proxy.config.log.common_log_enabled INT 0
CONFIG proxy.config.log.common_log_is_ascii INT 1
CONFIG proxy.config.log.common_log_name STRING common
CONFIG proxy.config.log.common_log_header STRING NULL
CONFIG proxy.config.log.extended_log_enabled INT 0
CONFIG proxy.config.log.extended_log_is_ascii INT 0
CONFIG proxy.config.log.extended_log_name STRING extended
CONFIG proxy.config.log.extended_log_header STRING NULL
CONFIG proxy.config.log.extended2_log_enabled INT 0
CONFIG proxy.config.log.extended2_log_is_ascii INT 1
CONFIG proxy.config.log.extended2_log_name STRING extended2
CONFIG proxy.config.log.extended2_log_header STRING NULL
CONFIG proxy.config.log.separate_icp_logs INT 0
CONFIG proxy.config.log.separate_host_logs INT 0
# Log collation allows you to do "remote logging"
LOCAL proxy.local.log.collation_mode INT 0
CONFIG proxy.config.log.collation_host STRING NULL
CONFIG proxy.config.log.collation_port INT 8085
CONFIG proxy.config.log.collation_secret STRING foobar
CONFIG proxy.config.log.collation_host_tagged INT 0
CONFIG proxy.config.log.collation_retry_sec INT 5
CONFIG proxy.config.log.rolling_enabled INT 1 CONFIG proxy.config.log.rolling_enabled INT 1
CONFIG proxy.config.log.rolling_interval_sec INT 86400 CONFIG proxy.config.log.rolling_interval_sec INT 86400
CONFIG proxy.config.log.rolling_offset_hr INT 0
CONFIG proxy.config.log.rolling_size_mb INT 10 CONFIG proxy.config.log.rolling_size_mb INT 10
CONFIG proxy.config.log.auto_delete_rolled_files INT 1 CONFIG proxy.config.log.auto_delete_rolled_files INT 1
CONFIG proxy.config.log.sampling_frequency INT 1 CONFIG proxy.config.log.periodic_tasks_interval INT 5
##############################################################################
#
# Reverse Proxy
#
##############################################################################
CONFIG proxy.config.reverse_proxy.enabled INT 1
CONFIG proxy.config.header.parse.no_host_url_redirect STRING NULL
############################################################################## ##############################################################################
# # These settings control remapping, and if the proxy allows (open) forward proxy or not. Docs:
# URL Remap Rules # https://docs.trafficserver.apache.org/records.config#url-remap-rules
# # https://docs.trafficserver.apache.org/en/latest/admin-guide/files/remap.config.en.html
############################################################################## ##############################################################################
CONFIG proxy.config.url_remap.default_to_server_pac INT 0
CONFIG proxy.config.url_remap.default_to_server_pac_port INT -1
# To enable forward proxy, you must turn off remap_required
CONFIG proxy.config.url_remap.remap_required INT 1 CONFIG proxy.config.url_remap.remap_required INT 1
# Pristine host header is the "original" (request) header. Make sure your # https://docs.trafficserver.apache.org/records.config#proxy-config-url-remap-pristine-host-hdr
# origin expects them in reverse proxy.
CONFIG proxy.config.url_remap.pristine_host_hdr INT 1 CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
# https://docs.trafficserver.apache.org/records.config#reverse-proxy
CONFIG proxy.config.reverse_proxy.enabled INT 1
############################################################################## ##############################################################################
# # SSL Termination. Docs:
# SSL Termination # https://docs.trafficserver.apache.org/records.config#client-related-configuration
# # https://docs.trafficserver.apache.org/en/latest/admin-guide/files/ssl_multicert.config.en.html
############################################################################## ##############################################################################
# The number of SSL threads is a multiplier of number of CPUs and
# proxy.config.exec_thread.autoconfig.scale by default. You can
# override that here (set it to a non-zero value).
CONFIG proxy.config.ssl.number.threads INT 0
# The following variables control SSL protocols.
CONFIG proxy.config.ssl.SSLv2 INT 0
CONFIG proxy.config.ssl.SSLv3 INT 0
CONFIG proxy.config.ssl.TLSv1 INT 1
CONFIG proxy.config.ssl.TLSv1_1 INT 1
CONFIG proxy.config.ssl.TLSv1_2 INT 1
# The following two variables control the Cipher Suite traffic Server
# uses for HTTPS connnections and whether to prefer the client
# selected (default) or the server selected
# Our default SSL Cipher Suite tries to be reasonably fast and strong.
CONFIG proxy.config.ssl.server.cipher_suite STRING ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:HIGH:!aNULL:!MD5
CONFIG proxy.config.ssl.server.honor_cipher_order INT 1
# Control if SSL should perform content compression or not
CONFIG proxy.config.ssl.compression INT 0
# Client certification level should be:
# 0 no client certificates
# 1 client certificates optional
# 2 client certificates required
CONFIG proxy.config.ssl.client.certification_level INT 0
# Server cert chain filename is the name of the global cert chain file
# that is added to every cert in ssl_multicert.config. This file is only
# loaded if there are configurations in ssl_multicert.config.
CONFIG proxy.config.ssl.server.cert_chain.filename STRING NULL
# This is the path that SSL certificates files are relative to. Certificate
# names specified in ssl_multicert.config will be located relative to this path.
CONFIG proxy.config.ssl.server.cert.path STRING etc/trafficserver
# If any private key is not contained in the certificate file, you must
# fill in the private key path. Private key names specified in
# ssl_multicert.config will be located relative to this path.
CONFIG proxy.config.ssl.server.private_key.path STRING etc/trafficserver
# The CA file name and path are the
# certificate authority certificate that
# client certificates will be verified against.
CONFIG proxy.config.ssl.CA.cert.filename STRING NULL
CONFIG proxy.config.ssl.CA.cert.path STRING etc/trafficserver
################################
# client related configuration #
################################
CONFIG proxy.config.ssl.client.verify.server INT 0 CONFIG proxy.config.ssl.client.verify.server INT 0
CONFIG proxy.config.ssl.client.cert.filename STRING NULL
CONFIG proxy.config.ssl.client.cert.path STRING etc/trafficserver
# Fill in private key file and path only if the client's
# private key is not contained in the client certificate file.
CONFIG proxy.config.ssl.client.private_key.filename STRING NULL
CONFIG proxy.config.ssl.client.private_key.path STRING etc/trafficserver
# The CA file name and path are the
# certificate authority certificate that
# server certificates will be verified against.
CONFIG proxy.config.ssl.client.CA.cert.filename STRING NULL CONFIG proxy.config.ssl.client.CA.cert.filename STRING NULL
CONFIG proxy.config.ssl.client.CA.cert.path STRING etc/trafficserver CONFIG proxy.config.ssl.server.cipher_suite STRING ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
##############################################################################
#
# ICP Configuration. NOTE! ICP is currently broken NOTE!
#
##############################################################################
# icp modes
# enabled=0 ICP disabled
# enabled=1 Allow receive of ICP queries
# enabled=2 Allow send/receive of ICP queries
CONFIG proxy.config.icp.enabled INT 0
CONFIG proxy.config.icp.icp_interface STRING NULL
CONFIG proxy.config.icp.icp_port INT 3130
CONFIG proxy.config.icp.multicast_enabled INT 0
CONFIG proxy.config.icp.query_timeout INT 2
##############################################################################
#
# Scheduled Update Configuration
#
##############################################################################
CONFIG proxy.config.update.enabled INT 0
CONFIG proxy.config.update.force INT 0
CONFIG proxy.config.update.retry_count INT 10
CONFIG proxy.config.update.retry_interval INT 2
CONFIG proxy.config.update.concurrent_updates INT 100
##############################################################################
#
# Socket send/recv buffer sizes (0 == don't call setsockopt() )
#
##############################################################################
# out: proxy -> os connection
# in : ua -> proxy connection
CONFIG proxy.config.net.sock_send_buffer_size_in INT 262144
CONFIG proxy.config.net.sock_recv_buffer_size_in INT 0
CONFIG proxy.config.net.sock_send_buffer_size_out INT 0
CONFIG proxy.config.net.sock_recv_buffer_size_out INT 0
##############################################################################
#
# User Overridden Configurations Below
#
##############################################################################
CONFIG proxy.config.core_limit INT -1
############################################################################## ##############################################################################
# # Debugging. Docs:
# Debugging # https://docs.trafficserver.apache.org/records.config#diagnostic-logging-configuration
#
############################################################################## ##############################################################################
# Uses a regular expression to match the debugging topic name, performance
# will be affected!
CONFIG proxy.config.diags.debug.enabled INT 0 CONFIG proxy.config.diags.debug.enabled INT 0
CONFIG proxy.config.diags.debug.tags STRING http.*|dns.* CONFIG proxy.config.diags.debug.tags STRING http.*|dns.*
# Great for tracking down memory leaks, but you need to use the # ToDo: Undocumented
# ink allocators
CONFIG proxy.config.dump_mem_info_frequency INT 0 CONFIG proxy.config.dump_mem_info_frequency INT 0
# Log the source code location of diagnostic messages.
CONFIG proxy.config.diags.show_location INT 0
##############################################################################
#
# Configuration for Reclaimable InkFreeList memory pool
#
# NOTE: The following options are meaningfull only when Traffic Server is
# compiled with the following option to configure:
#
# --enable-reclaimable-freelist
#
##############################################################################
CONFIG proxy.config.allocator.enable_reclaim INT 1
# The value of reclaim_factor should be in the 0.0 to 1.0 range. Allocators
# use it to calculate size of unused memory, which is used to determine when
# to reclaim memory. The larger the value, the more aggressive reclaims.
CONFIG proxy.config.allocator.reclaim_factor FLOAT 0.300000
# Allocator will reclaim memory only when it continuously satisfy the reclaim
# condition for max_overage continuous checks.
CONFIG proxy.config.allocator.max_overage INT 3
# For debugging, enable debug_filter, which is a bit-map with these fields:
# bit 0: reclaim memory in ink_freelist_new
# bit 1: allocate memory from partial-free Chunks(if exist) or OS
CONFIG proxy.config.allocator.debug_filter INT 0
##############################################################################
#
# Slow Log
#
##############################################################################
# Log any request that takes more then x number of milliseconds, needs
# to be > 0 to be enabled
CONFIG proxy.config.http.slow.log.threshold INT 0 CONFIG proxy.config.http.slow.log.threshold INT 0
##############################################################################
#
# Thread pool for "misc" tasks, plugins etc. 2 is a good minimum.
#
##############################################################################
CONFIG proxy.config.task_threads INT 2
{{ 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 source diff could not be displayed because it is too large. You can view the blob instead.
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
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
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 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
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
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
...@@ -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
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
...@@ -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
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/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
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/_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
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/_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
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: ERROR T-2/etc/plugin/re6st-connectivity.py: ERROR
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/_replicate_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_replicate_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/_replicate_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_replicate_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-_replicate-error-log-last-day
T-2/etc/monitor-promise/check-_replicate-error-log-last-hour
T-3/etc/monitor-promise/check-_replicate-error-log-last-day
T-3/etc/monitor-promise/check-_replicate-error-log-last-hour
\ No newline at end of file
...@@ -2,26 +2,6 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,26 +2,6 @@ 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-1/etc/plugin/caddy_cached.py: ERROR
T-1/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-1/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-1/etc/plugin/caddy_ssl_cached.py: ERROR
T-1/etc/plugin/check-_replicate-error-log-last-day.py: OK
T-1/etc/plugin/check-_replicate-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK
T-2/etc/plugin/buildout-T-2-status.py: OK T-2/etc/plugin/buildout-T-2-status.py: OK
T-2/etc/plugin/caddy_cached.py: ERROR T-2/etc/plugin/caddy_cached.py: ERROR
T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
...@@ -34,11 +14,33 @@ T-2/etc/plugin/check-_replicate-error-log-last-hour.py: OK ...@@ -34,11 +14,33 @@ T-2/etc/plugin/check-_replicate-error-log-last-hour.py: OK
T-2/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-2/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: ERROR T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-2/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-2/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/re6st-connectivity.py: OK
T-2/etc/plugin/trafficserver-cache-availability.py: OK
T-2/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/trafficserver-port-listening.py: OK
T-3/etc/plugin/buildout-T-3-status.py: OK
T-3/etc/plugin/caddy_cached.py: ERROR
T-3/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-3/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-3/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-3/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-3/etc/plugin/caddy_ssl_cached.py: ERROR
T-3/etc/plugin/check-_replicate-error-log-last-day.py: OK
T-3/etc/plugin/check-_replicate-error-log-last-hour.py: OK
T-3/etc/plugin/check-free-disk-space.py: OK
T-3/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-3/etc/plugin/monitor-bootstrap-status.py: OK
T-3/etc/plugin/monitor-httpd-listening-on-tcp.py: ERROR
T-3/etc/plugin/nginx-configuration-promise.py: OK
T-3/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-3/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-3/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-3/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-3/etc/plugin/re6st-connectivity.py: OK
T-3/etc/plugin/trafficserver-cache-availability.py: ERROR
T-3/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-1/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK T-2/etc/promise/promise-nginx-is-process-older-than-dependency-set: OK
T-3/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-3/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
T-3/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:6tunnel-11080-{hash}-on-watch STOPPED T-2:frontend_nginx-{hash}-on-watch RUNNING
T-2:6tunnel-11443-{hash}-on-watch STOPPED T-2:kedifa-login-certificate-caucase-updater-on-watch RUNNING
T-2:6tunnel-12080-{hash}-on-watch STOPPED T-2:monitor-httpd-{hash}-on-watch RUNNING
T-2:6tunnel-12443-{hash}-on-watch STOPPED T-2:monitor-httpd-graceful EXITED
T-2:6tunnel-26011-{hash}-on-watch STOPPED T-2:trafficserver-{hash}-on-watch RUNNING
T-2:6tunnel-26012-{hash}-on-watch STOPPED T-2:trafficserver-reload EXITED
T-2:bootstrap-monitor STOPPED T-3:6tunnel-11080-{hash}-on-watch STOPPED
T-2:certificate_authority-{hash}-on-watch STOPPED T-3:6tunnel-11443-{hash}-on-watch STOPPED
T-2:crond-{hash} STOPPED T-3:6tunnel-12080-{hash}-on-watch STOPPED
T-2:crond-on-watch STOPPED T-3:6tunnel-12443-{hash}-on-watch STOPPED
T-2:frontend-caddy-safe-graceful STOPPED T-3:6tunnel-26011-{hash}-on-watch STOPPED
T-2:frontend-nginx-safe-graceful STOPPED T-3:6tunnel-26012-{hash}-on-watch STOPPED
T-2:frontend_caddy-{hash}-on-watch STOPPED T-3:bootstrap-monitor STOPPED
T-2:frontend_nginx-{hash}-on-watch STOPPED T-3:certificate_authority-{hash}-on-watch STOPPED
T-2:monitor-httpd-{hash}-on-watch STOPPED T-3:crond-{hash}-on-watch STOPPED
T-2:monitor-httpd-graceful STOPPED T-3:expose-csr_id-{hash}-on-watch STOPPED
T-2:trafficserver-{hash}-on-watch STOPPED T-3:frontend-caddy-safe-graceful STOPPED
T-2:trafficserver-reload STOPPED T-3:frontend-nginx-safe-graceful STOPPED
T-3:frontend_caddy-{hash}-on-watch STOPPED
T-3:frontend_nginx-{hash}-on-watch STOPPED
T-3:kedifa-login-certificate-caucase-updater-on-watch STOPPED
T-3:monitor-httpd-{hash}-on-watch STOPPED
T-3:monitor-httpd-graceful STOPPED
T-3:trafficserver-{hash}-on-watch STOPPED
T-3:trafficserver-reload STOPPED
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/httpd/_apache_custom_http_s-accepted_access_log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/httpd/_apache_custom_http_s-accepted_error_log T-2/var/log/httpd/_Url_access_log
T-1/var/log/httpd/_caddy_custom_http_s-accepted_access_log T-2/var/log/httpd/_Url_error_log
T-1/var/log/httpd/_caddy_custom_http_s-accepted_error_log T-2/var/log/httpd/_apache_custom_http_s-accepted_access_log
T-1/var/log/httpd/_custom_domain_access_log T-2/var/log/httpd/_apache_custom_http_s-accepted_error_log
T-1/var/log/httpd/_custom_domain_error_log T-2/var/log/httpd/_caddy_custom_http_s-accepted_access_log
T-1/var/log/httpd/_custom_domain_ssl_crt_ssl_key_access_log T-2/var/log/httpd/_caddy_custom_http_s-accepted_error_log
T-1/var/log/httpd/_custom_domain_ssl_crt_ssl_key_error_log T-2/var/log/httpd/_custom_domain_access_log
T-1/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_access_log T-2/var/log/httpd/_custom_domain_error_log
T-1/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_error_log T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_access_log
T-1/var/log/httpd/_custom_domain_wildcard_access_log T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_error_log
T-1/var/log/httpd/_custom_domain_wildcard_error_log T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_access_log
T-1/var/log/httpd/_disabled-cookie-list_access_log T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_error_log
T-1/var/log/httpd/_disabled-cookie-list_error_log T-2/var/log/httpd/_custom_domain_wildcard_access_log
T-1/var/log/httpd/_empty_access_log T-2/var/log/httpd/_custom_domain_wildcard_error_log
T-1/var/log/httpd/_empty_error_log T-2/var/log/httpd/_disabled-cookie-list_access_log
T-1/var/log/httpd/_enable-http2-default_access_log T-2/var/log/httpd/_disabled-cookie-list_error_log
T-1/var/log/httpd/_enable-http2-default_error_log T-2/var/log/httpd/_empty_access_log
T-1/var/log/httpd/_enable-http2-false_access_log T-2/var/log/httpd/_empty_error_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_cache-disable-no-cache-request_access_log T-2/var/log/httpd/_enable-http2-default_error_log
T-1/var/log/httpd/_enable_cache-disable-no-cache-request_error_log T-2/var/log/httpd/_enable-http2-false_access_log
T-1/var/log/httpd/_enable_cache-disable-via-header_access_log T-2/var/log/httpd/_enable-http2-false_error_log
T-1/var/log/httpd/_enable_cache-disable-via-header_error_log T-2/var/log/httpd/_enable_cache-disable-no-cache-request_access_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify-unverified_access_log T-2/var/log/httpd/_enable_cache-disable-no-cache-request_error_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify-unverified_error_log T-2/var/log/httpd/_enable_cache-disable-via-header_access_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log T-2/var/log/httpd/_enable_cache-disable-via-header_error_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify-unverified_access_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt_access_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify-unverified_error_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt_error_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log
T-1/var/log/httpd/_enable_cache_access_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log
T-1/var/log/httpd/_enable_cache_error_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt_access_log
T-1/var/log/httpd/_https-only_access_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt_error_log
T-1/var/log/httpd/_https-only_error_log T-2/var/log/httpd/_enable_cache_access_log
T-1/var/log/httpd/_monitor-ipv4-test_access_log T-2/var/log/httpd/_enable_cache_error_log
T-1/var/log/httpd/_monitor-ipv4-test_error_log T-2/var/log/httpd/_https-only_access_log
T-1/var/log/httpd/_monitor-ipv6-test_access_log T-2/var/log/httpd/_https-only_error_log
T-1/var/log/httpd/_monitor-ipv6-test_error_log T-2/var/log/httpd/_monitor-ipv4-test_access_log
T-1/var/log/httpd/_prefer-gzip-encoding-to-backend_access_log T-2/var/log/httpd/_monitor-ipv4-test_error_log
T-1/var/log/httpd/_prefer-gzip-encoding-to-backend_error_log T-2/var/log/httpd/_monitor-ipv6-test_access_log
T-1/var/log/httpd/_re6st-optimal-test_access_log T-2/var/log/httpd/_monitor-ipv6-test_error_log
T-1/var/log/httpd/_re6st-optimal-test_error_log T-2/var/log/httpd/_prefer-gzip-encoding-to-backend_access_log
T-1/var/log/httpd/_server-alias-duplicated_access_log T-2/var/log/httpd/_prefer-gzip-encoding-to-backend_error_log
T-1/var/log/httpd/_server-alias-duplicated_error_log T-2/var/log/httpd/_re6st-optimal-test_access_log
T-1/var/log/httpd/_server-alias-wildcard_access_log T-2/var/log/httpd/_re6st-optimal-test_error_log
T-1/var/log/httpd/_server-alias-wildcard_error_log T-2/var/log/httpd/_server-alias-duplicated_access_log
T-1/var/log/httpd/_server-alias_access_log T-2/var/log/httpd/_server-alias-duplicated_error_log
T-1/var/log/httpd/_server-alias_custom_domain-duplicated_access_log T-2/var/log/httpd/_server-alias-wildcard_access_log
T-1/var/log/httpd/_server-alias_custom_domain-duplicated_error_log T-2/var/log/httpd/_server-alias-wildcard_error_log
T-1/var/log/httpd/_server-alias_error_log T-2/var/log/httpd/_server-alias_access_log
T-1/var/log/httpd/_ssl-proxy-verify-unverified_access_log T-2/var/log/httpd/_server-alias_custom_domain-duplicated_access_log
T-1/var/log/httpd/_ssl-proxy-verify-unverified_error_log T-2/var/log/httpd/_server-alias_custom_domain-duplicated_error_log
T-1/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log T-2/var/log/httpd/_server-alias_error_log
T-1/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log T-2/var/log/httpd/_ssl-proxy-verify-unverified_access_log
T-1/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt_access_log T-2/var/log/httpd/_ssl-proxy-verify-unverified_error_log
T-1/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt_error_log T-2/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log
T-1/var/log/httpd/_ssl_ca_crt_does_not_match_access_log T-2/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log
T-1/var/log/httpd/_ssl_ca_crt_does_not_match_error_log T-2/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt_access_log
T-1/var/log/httpd/_ssl_ca_crt_garbage_access_log T-2/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt_error_log
T-1/var/log/httpd/_ssl_ca_crt_garbage_error_log T-2/var/log/httpd/_ssl_ca_crt_does_not_match_access_log
T-1/var/log/httpd/_type-notebook_access_log T-2/var/log/httpd/_ssl_ca_crt_does_not_match_error_log
T-1/var/log/httpd/_type-notebook_error_log T-2/var/log/httpd/_ssl_ca_crt_garbage_access_log
T-1/var/log/httpd/_type-redirect_access_log T-2/var/log/httpd/_ssl_ca_crt_garbage_error_log
T-1/var/log/httpd/_type-redirect_error_log T-2/var/log/httpd/_ssl_ca_crt_only_access_log
T-1/var/log/httpd/_type-zope-default-path_access_log T-2/var/log/httpd/_ssl_ca_crt_only_error_log
T-1/var/log/httpd/_type-zope-default-path_error_log T-2/var/log/httpd/_type-notebook_access_log
T-1/var/log/httpd/_type-zope-path_access_log T-2/var/log/httpd/_type-notebook_error_log
T-1/var/log/httpd/_type-zope-path_error_log T-2/var/log/httpd/_type-redirect_access_log
T-1/var/log/httpd/_type-zope-prefer-gzip-encoding-to-backend_access_log T-2/var/log/httpd/_type-redirect_error_log
T-1/var/log/httpd/_type-zope-prefer-gzip-encoding-to-backend_error_log T-2/var/log/httpd/_type-zope-default-path_access_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify-unverified_access_log T-2/var/log/httpd/_type-zope-default-path_error_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify-unverified_error_log T-2/var/log/httpd/_type-zope-path_access_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log T-2/var/log/httpd/_type-zope-path_error_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log T-2/var/log/httpd/_type-zope-prefer-gzip-encoding-to-backend_access_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt_access_log T-2/var/log/httpd/_type-zope-prefer-gzip-encoding-to-backend_error_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt_error_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify-unverified_access_log
T-1/var/log/httpd/_type-zope-virtualhostroot-http-port_access_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify-unverified_error_log
T-1/var/log/httpd/_type-zope-virtualhostroot-http-port_error_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log
T-1/var/log/httpd/_type-zope-virtualhostroot-https-port_access_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log
T-1/var/log/httpd/_type-zope-virtualhostroot-https-port_error_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt_access_log
T-1/var/log/httpd/_type-zope_access_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt_error_log
T-1/var/log/httpd/_type-zope_error_log T-2/var/log/httpd/_type-zope-virtualhostroot-http-port_access_log
T-1/var/log/httpd/_url_https-url_access_log T-2/var/log/httpd/_type-zope-virtualhostroot-http-port_error_log
T-1/var/log/httpd/_url_https-url_error_log T-2/var/log/httpd/_type-zope-virtualhostroot-https-port_access_log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd/_type-zope-virtualhostroot-https-port_error_log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_type-zope_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_type-zope_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/httpd/_url_https-url_access_log
T-1/var/log/trafficserver/traffic.out T-2/var/log/httpd/_url_https-url_error_log
\ No newline at end of file T-2/var/log/monitor-httpd-error.log
T-2/var/log/nginx-access.log
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-_apache_custom_http_s-accepted-error-log-last-day
T-2/etc/monitor-promise/check-_apache_custom_http_s-accepted-error-log-last-hour
T-2/etc/monitor-promise/check-_caddy_custom_http_s-accepted-error-log-last-day
T-2/etc/monitor-promise/check-_caddy_custom_http_s-accepted-error-log-last-hour
T-2/etc/monitor-promise/check-_custom_domain-error-log-last-day
T-2/etc/monitor-promise/check-_custom_domain-error-log-last-hour
T-2/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day
T-2/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour
T-2/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day
T-2/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour
T-2/etc/monitor-promise/check-_custom_domain_wildcard-error-log-last-day
T-2/etc/monitor-promise/check-_custom_domain_wildcard-error-log-last-hour
T-2/etc/monitor-promise/check-_disabled-cookie-list-error-log-last-day
T-2/etc/monitor-promise/check-_disabled-cookie-list-error-log-last-hour
T-2/etc/monitor-promise/check-_empty-error-log-last-day
T-2/etc/monitor-promise/check-_empty-error-log-last-hour
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_cache-disable-no-cache-request-error-log-last-day
T-2/etc/monitor-promise/check-_enable_cache-disable-no-cache-request-error-log-last-hour
T-2/etc/monitor-promise/check-_enable_cache-disable-via-header-error-log-last-day
T-2/etc/monitor-promise/check-_enable_cache-disable-via-header-error-log-last-hour
T-2/etc/monitor-promise/check-_enable_cache-error-log-last-day
T-2/etc/monitor-promise/check-_enable_cache-error-log-last-hour
T-2/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-day
T-2/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-hour
T-2/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
T-2/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
T-2/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
T-2/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
T-2/etc/monitor-promise/check-_https-only-error-log-last-day
T-2/etc/monitor-promise/check-_https-only-error-log-last-hour
T-2/etc/monitor-promise/check-_monitor-ipv4-test-error-log-last-day
T-2/etc/monitor-promise/check-_monitor-ipv4-test-error-log-last-hour
T-2/etc/monitor-promise/check-_monitor-ipv4-test-ipv4-packet-list-test
T-2/etc/monitor-promise/check-_monitor-ipv6-test-error-log-last-day
T-2/etc/monitor-promise/check-_monitor-ipv6-test-error-log-last-hour
T-2/etc/monitor-promise/check-_monitor-ipv6-test-ipv6-packet-list-test
T-2/etc/monitor-promise/check-_prefer-gzip-encoding-to-backend-error-log-last-day
T-2/etc/monitor-promise/check-_prefer-gzip-encoding-to-backend-error-log-last-hour
T-2/etc/monitor-promise/check-_re6st-optimal-test-error-log-last-day
T-2/etc/monitor-promise/check-_re6st-optimal-test-error-log-last-hour
T-2/etc/monitor-promise/check-_re6st-optimal-test-re6st-optimal-test
T-2/etc/monitor-promise/check-_server-alias-duplicated-error-log-last-day
T-2/etc/monitor-promise/check-_server-alias-duplicated-error-log-last-hour
T-2/etc/monitor-promise/check-_server-alias-error-log-last-day
T-2/etc/monitor-promise/check-_server-alias-error-log-last-hour
T-2/etc/monitor-promise/check-_server-alias-wildcard-error-log-last-day
T-2/etc/monitor-promise/check-_server-alias-wildcard-error-log-last-hour
T-2/etc/monitor-promise/check-_server-alias_custom_domain-duplicated-error-log-last-day
T-2/etc/monitor-promise/check-_server-alias_custom_domain-duplicated-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl-proxy-verify-unverified-error-log-last-day
T-2/etc/monitor-promise/check-_ssl-proxy-verify-unverified-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
T-2/etc/monitor-promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
T-2/etc/monitor-promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_ca_crt_does_not_match-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_ca_crt_does_not_match-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_ca_crt_garbage-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_ca_crt_garbage-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_ca_crt_only-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_ca_crt_only-error-log-last-hour
T-2/etc/monitor-promise/check-_type-eventsource-error-log-last-day
T-2/etc/monitor-promise/check-_type-eventsource-error-log-last-hour
T-2/etc/monitor-promise/check-_type-notebook-error-log-last-day
T-2/etc/monitor-promise/check-_type-notebook-error-log-last-hour
T-2/etc/monitor-promise/check-_type-redirect-error-log-last-day
T-2/etc/monitor-promise/check-_type-redirect-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-default-path-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-default-path-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-path-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-path-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-virtualhostroot-http-port-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-virtualhostroot-http-port-error-log-last-hour
T-2/etc/monitor-promise/check-_type-zope-virtualhostroot-https-port-error-log-last-day
T-2/etc/monitor-promise/check-_type-zope-virtualhostroot-https-port-error-log-last-hour
T-2/etc/monitor-promise/check-_url-error-log-last-day
T-2/etc/monitor-promise/check-_url-error-log-last-hour
T-2/etc/monitor-promise/check-_url_https-url-error-log-last-day
T-2/etc/monitor-promise/check-_url_https-url-error-log-last-hour
\ No newline at end of file
...@@ -2,112 +2,115 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,112 +2,115 @@ 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: OK T-2/etc/plugin/caddy_cached.py: OK
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: OK T-2/etc/plugin/caddy_ssl_cached.py: OK
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-_apache_custom_http_s-accepted-error-log-last-day.py: OK T-2/etc/plugin/check-_apache_custom_http_s-accepted-error-log-last-day.py: OK
T-1/etc/plugin/check-_apache_custom_http_s-accepted-error-log-last-hour.py: OK T-2/etc/plugin/check-_apache_custom_http_s-accepted-error-log-last-hour.py: OK
T-1/etc/plugin/check-_caddy_custom_http_s-accepted-error-log-last-day.py: OK T-2/etc/plugin/check-_caddy_custom_http_s-accepted-error-log-last-day.py: OK
T-1/etc/plugin/check-_caddy_custom_http_s-accepted-error-log-last-hour.py: OK T-2/etc/plugin/check-_caddy_custom_http_s-accepted-error-log-last-hour.py: OK
T-1/etc/plugin/check-_custom_domain-error-log-last-day.py: OK T-2/etc/plugin/check-_custom_domain-error-log-last-day.py: OK
T-1/etc/plugin/check-_custom_domain-error-log-last-hour.py: OK T-2/etc/plugin/check-_custom_domain-error-log-last-hour.py: OK
T-1/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day.py: OK T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day.py: OK
T-1/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour.py: OK T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour.py: OK
T-1/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day.py: OK T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day.py: OK
T-1/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour.py: OK T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour.py: OK
T-1/etc/plugin/check-_custom_domain_wildcard-error-log-last-day.py: OK T-2/etc/plugin/check-_custom_domain_wildcard-error-log-last-day.py: OK
T-1/etc/plugin/check-_custom_domain_wildcard-error-log-last-hour.py: OK T-2/etc/plugin/check-_custom_domain_wildcard-error-log-last-hour.py: OK
T-1/etc/plugin/check-_disabled-cookie-list-error-log-last-day.py: OK T-2/etc/plugin/check-_disabled-cookie-list-error-log-last-day.py: OK
T-1/etc/plugin/check-_disabled-cookie-list-error-log-last-hour.py: OK T-2/etc/plugin/check-_disabled-cookie-list-error-log-last-hour.py: OK
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-_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_cache-disable-no-cache-request-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-disable-no-cache-request-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-disable-no-cache-request-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-disable-no-cache-request-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-disable-via-header-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-disable-via-header-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-disable-via-header-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-disable-via-header-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_https-only-error-log-last-day.py: OK T-2/etc/plugin/check-_https-only-error-log-last-day.py: OK
T-1/etc/plugin/check-_https-only-error-log-last-hour.py: OK T-2/etc/plugin/check-_https-only-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-error-log-last-day.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-error-log-last-day.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-error-log-last-hour.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-ipv4-packet-list-test.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-ipv4-packet-list-test.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-error-log-last-day.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-error-log-last-day.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-error-log-last-hour.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-ipv6-packet-list-test.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-ipv6-packet-list-test.py: OK
T-1/etc/plugin/check-_prefer-gzip-encoding-to-backend-error-log-last-day.py: OK T-2/etc/plugin/check-_prefer-gzip-encoding-to-backend-error-log-last-day.py: OK
T-1/etc/plugin/check-_prefer-gzip-encoding-to-backend-error-log-last-hour.py: OK T-2/etc/plugin/check-_prefer-gzip-encoding-to-backend-error-log-last-hour.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-error-log-last-day.py: OK T-2/etc/plugin/check-_re6st-optimal-test-error-log-last-day.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-error-log-last-hour.py: OK T-2/etc/plugin/check-_re6st-optimal-test-error-log-last-hour.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-re6st-optimal-test.py: OK T-2/etc/plugin/check-_re6st-optimal-test-re6st-optimal-test.py: OK
T-1/etc/plugin/check-_server-alias-duplicated-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias-duplicated-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias-duplicated-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias-duplicated-error-log-last-hour.py: OK
T-1/etc/plugin/check-_server-alias-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias-error-log-last-hour.py: OK
T-1/etc/plugin/check-_server-alias-wildcard-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias-wildcard-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias-wildcard-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias-wildcard-error-log-last-hour.py: OK
T-1/etc/plugin/check-_server-alias_custom_domain-duplicated-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias_custom_domain-duplicated-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias_custom_domain-duplicated-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias_custom_domain-duplicated-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl-proxy-verify-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl-proxy-verify-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-eventsource-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl_ca_crt_only-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-eventsource-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl_ca_crt_only-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-notebook-error-log-last-day.py: OK T-2/etc/plugin/check-_type-eventsource-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-notebook-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-eventsource-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-redirect-error-log-last-day.py: OK T-2/etc/plugin/check-_type-notebook-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-redirect-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-notebook-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-default-path-error-log-last-day.py: OK T-2/etc/plugin/check-_type-redirect-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-default-path-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-redirect-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-default-path-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-default-path-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-path-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-path-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-path-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-path-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-virtualhostroot-http-port-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-virtualhostroot-http-port-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-virtualhostroot-https-port-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-virtualhostroot-http-port-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-virtualhostroot-https-port-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-virtualhostroot-http-port-error-log-last-hour.py: OK
T-1/etc/plugin/check-_url_https-url-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-virtualhostroot-https-port-error-log-last-day.py: OK
T-1/etc/plugin/check-_url_https-url-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-virtualhostroot-https-port-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-_url_https-url-error-log-last-day.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/check-_url_https-url-error-log-last-hour.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
\ No newline at end of file T-2/etc/plugin/re6st-connectivity.py: OK
T-2/etc/plugin/trafficserver-cache-availability.py: OK
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/_default-path-unsafe_access_log T-2/var/log/frontend-access.log
T-1/var/log/httpd/_default-path-unsafe_error_log T-2/var/log/frontend-error.log
T-1/var/log/httpd/_monitor-ipv4-test-unsafe_access_log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/httpd/_monitor-ipv4-test-unsafe_error_log T-2/var/log/httpd/_default-path-unsafe_access_log
T-1/var/log/httpd/_monitor-ipv6-test-unsafe_access_log T-2/var/log/httpd/_default-path-unsafe_error_log
T-1/var/log/httpd/_monitor-ipv6-test-unsafe_error_log T-2/var/log/httpd/_monitor-ipv4-test-unsafe_access_log
T-1/var/log/httpd/_re6st-optimal-test-nocomma_access_log T-2/var/log/httpd/_monitor-ipv4-test-unsafe_error_log
T-1/var/log/httpd/_re6st-optimal-test-nocomma_error_log T-2/var/log/httpd/_monitor-ipv6-test-unsafe_access_log
T-1/var/log/httpd/_re6st-optimal-test-unsafe_access_log T-2/var/log/httpd/_monitor-ipv6-test-unsafe_error_log
T-1/var/log/httpd/_re6st-optimal-test-unsafe_error_log T-2/var/log/httpd/_re6st-optimal-test-nocomma_access_log
T-1/var/log/httpd/_server-alias-same_access_log T-2/var/log/httpd/_re6st-optimal-test-nocomma_error_log
T-1/var/log/httpd/_server-alias-same_error_log T-2/var/log/httpd/_re6st-optimal-test-unsafe_access_log
T-1/var/log/httpd/_virtualhostroot-http-port-unsafe_access_log T-2/var/log/httpd/_re6st-optimal-test-unsafe_error_log
T-1/var/log/httpd/_virtualhostroot-http-port-unsafe_error_log T-2/var/log/httpd/_server-alias-same_access_log
T-1/var/log/httpd/_virtualhostroot-https-port-unsafe_access_log T-2/var/log/httpd/_server-alias-same_error_log
T-1/var/log/httpd/_virtualhostroot-https-port-unsafe_error_log T-2/var/log/httpd/_virtualhostroot-http-port-unsafe_access_log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd/_virtualhostroot-http-port-unsafe_error_log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_virtualhostroot-https-port-unsafe_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_virtualhostroot-https-port-unsafe_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-path-unsafe-error-log-last-day
T-2/etc/monitor-promise/check-_default-path-unsafe-error-log-last-hour
T-2/etc/monitor-promise/check-_monitor-ipv4-test-unsafe-error-log-last-day
T-2/etc/monitor-promise/check-_monitor-ipv4-test-unsafe-error-log-last-hour
T-2/etc/monitor-promise/check-_monitor-ipv4-test-unsafe-ipv4-packet-list-test
T-2/etc/monitor-promise/check-_monitor-ipv6-test-unsafe-error-log-last-day
T-2/etc/monitor-promise/check-_monitor-ipv6-test-unsafe-error-log-last-hour
T-2/etc/monitor-promise/check-_monitor-ipv6-test-unsafe-ipv6-packet-list-test
T-2/etc/monitor-promise/check-_re6st-optimal-test-nocomma-error-log-last-day
T-2/etc/monitor-promise/check-_re6st-optimal-test-nocomma-error-log-last-hour
T-2/etc/monitor-promise/check-_re6st-optimal-test-unsafe-error-log-last-day
T-2/etc/monitor-promise/check-_re6st-optimal-test-unsafe-error-log-last-hour
T-2/etc/monitor-promise/check-_re6st-optimal-test-unsafe-re6st-optimal-test
T-2/etc/monitor-promise/check-_server-alias-same-error-log-last-day
T-2/etc/monitor-promise/check-_server-alias-same-error-log-last-hour
T-2/etc/monitor-promise/check-_virtualhostroot-http-port-unsafe-error-log-last-day
T-2/etc/monitor-promise/check-_virtualhostroot-http-port-unsafe-error-log-last-hour
T-2/etc/monitor-promise/check-_virtualhostroot-https-port-unsafe-error-log-last-day
T-2/etc/monitor-promise/check-_virtualhostroot-https-port-unsafe-error-log-last-hour
\ No newline at end of file
...@@ -2,40 +2,41 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,40 +2,41 @@ 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-path-unsafe-error-log-last-day.py: OK T-2/etc/plugin/check-_default-path-unsafe-error-log-last-day.py: OK
T-1/etc/plugin/check-_default-path-unsafe-error-log-last-hour.py: OK T-2/etc/plugin/check-_default-path-unsafe-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-unsafe-error-log-last-day.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-unsafe-error-log-last-day.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-unsafe-error-log-last-hour.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-unsafe-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-unsafe-ipv4-packet-list-test.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-unsafe-ipv4-packet-list-test.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-unsafe-error-log-last-day.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-unsafe-error-log-last-day.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-unsafe-error-log-last-hour.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-unsafe-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-unsafe-ipv6-packet-list-test.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-unsafe-ipv6-packet-list-test.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-nocomma-error-log-last-day.py: OK T-2/etc/plugin/check-_re6st-optimal-test-nocomma-error-log-last-day.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-nocomma-error-log-last-hour.py: OK T-2/etc/plugin/check-_re6st-optimal-test-nocomma-error-log-last-hour.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-unsafe-error-log-last-day.py: OK T-2/etc/plugin/check-_re6st-optimal-test-unsafe-error-log-last-day.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-unsafe-error-log-last-hour.py: OK T-2/etc/plugin/check-_re6st-optimal-test-unsafe-error-log-last-hour.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-unsafe-re6st-optimal-test.py: OK T-2/etc/plugin/check-_re6st-optimal-test-unsafe-re6st-optimal-test.py: OK
T-1/etc/plugin/check-_server-alias-same-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias-same-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias-same-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias-same-error-log-last-hour.py: OK
T-1/etc/plugin/check-_virtualhostroot-http-port-unsafe-error-log-last-day.py: OK T-2/etc/plugin/check-_virtualhostroot-http-port-unsafe-error-log-last-day.py: OK
T-1/etc/plugin/check-_virtualhostroot-http-port-unsafe-error-log-last-hour.py: OK T-2/etc/plugin/check-_virtualhostroot-http-port-unsafe-error-log-last-hour.py: OK
T-1/etc/plugin/check-_virtualhostroot-https-port-unsafe-error-log-last-day.py: OK T-2/etc/plugin/check-_virtualhostroot-https-port-unsafe-error-log-last-day.py: OK
T-1/etc/plugin/check-_virtualhostroot-https-port-unsafe-error-log-last-hour.py: OK T-2/etc/plugin/check-_virtualhostroot-https-port-unsafe-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/_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/httpd/_apache_custom_http_s-accepted_access_log T-2/var/log/httpd-csr_id/expose-csr_id.log
T-1/var/log/httpd/_apache_custom_http_s-accepted_error_log T-2/var/log/httpd/_Url_access_log
T-1/var/log/httpd/_caddy_custom_http_s-accepted_access_log T-2/var/log/httpd/_Url_error_log
T-1/var/log/httpd/_caddy_custom_http_s-accepted_error_log T-2/var/log/httpd/_apache_custom_http_s-accepted_access_log
T-1/var/log/httpd/_custom_domain_access_log T-2/var/log/httpd/_apache_custom_http_s-accepted_error_log
T-1/var/log/httpd/_custom_domain_error_log T-2/var/log/httpd/_caddy_custom_http_s-accepted_access_log
T-1/var/log/httpd/_custom_domain_ssl_crt_ssl_key_access_log T-2/var/log/httpd/_caddy_custom_http_s-accepted_error_log
T-1/var/log/httpd/_custom_domain_ssl_crt_ssl_key_error_log T-2/var/log/httpd/_custom_domain_access_log
T-1/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_access_log T-2/var/log/httpd/_custom_domain_error_log
T-1/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_error_log T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_access_log
T-1/var/log/httpd/_custom_domain_wildcard_access_log T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_error_log
T-1/var/log/httpd/_custom_domain_wildcard_error_log T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_access_log
T-1/var/log/httpd/_disabled-cookie-list_access_log T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_error_log
T-1/var/log/httpd/_disabled-cookie-list_error_log T-2/var/log/httpd/_custom_domain_wildcard_access_log
T-1/var/log/httpd/_empty_access_log T-2/var/log/httpd/_custom_domain_wildcard_error_log
T-1/var/log/httpd/_empty_error_log T-2/var/log/httpd/_disabled-cookie-list_access_log
T-1/var/log/httpd/_enable-http2-default_access_log T-2/var/log/httpd/_disabled-cookie-list_error_log
T-1/var/log/httpd/_enable-http2-default_error_log T-2/var/log/httpd/_empty_access_log
T-1/var/log/httpd/_enable-http2-false_access_log T-2/var/log/httpd/_empty_error_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_cache-disable-no-cache-request_access_log T-2/var/log/httpd/_enable-http2-default_error_log
T-1/var/log/httpd/_enable_cache-disable-no-cache-request_error_log T-2/var/log/httpd/_enable-http2-false_access_log
T-1/var/log/httpd/_enable_cache-disable-via-header_access_log T-2/var/log/httpd/_enable-http2-false_error_log
T-1/var/log/httpd/_enable_cache-disable-via-header_error_log T-2/var/log/httpd/_enable_cache-disable-no-cache-request_access_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify-unverified_access_log T-2/var/log/httpd/_enable_cache-disable-no-cache-request_error_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify-unverified_error_log T-2/var/log/httpd/_enable_cache-disable-via-header_access_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log T-2/var/log/httpd/_enable_cache-disable-via-header_error_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify-unverified_access_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt_access_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify-unverified_error_log
T-1/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt_error_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log
T-1/var/log/httpd/_enable_cache_access_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log
T-1/var/log/httpd/_enable_cache_error_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt_access_log
T-1/var/log/httpd/_https-only_access_log T-2/var/log/httpd/_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt_error_log
T-1/var/log/httpd/_https-only_error_log T-2/var/log/httpd/_enable_cache_access_log
T-1/var/log/httpd/_monitor-ipv4-test_access_log T-2/var/log/httpd/_enable_cache_error_log
T-1/var/log/httpd/_monitor-ipv4-test_error_log T-2/var/log/httpd/_https-only_access_log
T-1/var/log/httpd/_monitor-ipv6-test_access_log T-2/var/log/httpd/_https-only_error_log
T-1/var/log/httpd/_monitor-ipv6-test_error_log T-2/var/log/httpd/_monitor-ipv4-test_access_log
T-1/var/log/httpd/_prefer-gzip-encoding-to-backend_access_log T-2/var/log/httpd/_monitor-ipv4-test_error_log
T-1/var/log/httpd/_prefer-gzip-encoding-to-backend_error_log T-2/var/log/httpd/_monitor-ipv6-test_access_log
T-1/var/log/httpd/_re6st-optimal-test_access_log T-2/var/log/httpd/_monitor-ipv6-test_error_log
T-1/var/log/httpd/_re6st-optimal-test_error_log T-2/var/log/httpd/_prefer-gzip-encoding-to-backend_access_log
T-1/var/log/httpd/_server-alias-duplicated_access_log T-2/var/log/httpd/_prefer-gzip-encoding-to-backend_error_log
T-1/var/log/httpd/_server-alias-duplicated_error_log T-2/var/log/httpd/_re6st-optimal-test_access_log
T-1/var/log/httpd/_server-alias-wildcard_access_log T-2/var/log/httpd/_re6st-optimal-test_error_log
T-1/var/log/httpd/_server-alias-wildcard_error_log T-2/var/log/httpd/_server-alias-duplicated_access_log
T-1/var/log/httpd/_server-alias_access_log T-2/var/log/httpd/_server-alias-duplicated_error_log
T-1/var/log/httpd/_server-alias_custom_domain-duplicated_access_log T-2/var/log/httpd/_server-alias-wildcard_access_log
T-1/var/log/httpd/_server-alias_custom_domain-duplicated_error_log T-2/var/log/httpd/_server-alias-wildcard_error_log
T-1/var/log/httpd/_server-alias_error_log T-2/var/log/httpd/_server-alias_access_log
T-1/var/log/httpd/_ssl-proxy-verify-unverified_access_log T-2/var/log/httpd/_server-alias_custom_domain-duplicated_access_log
T-1/var/log/httpd/_ssl-proxy-verify-unverified_error_log T-2/var/log/httpd/_server-alias_custom_domain-duplicated_error_log
T-1/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log T-2/var/log/httpd/_server-alias_error_log
T-1/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log T-2/var/log/httpd/_ssl-proxy-verify-unverified_access_log
T-1/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt_access_log T-2/var/log/httpd/_ssl-proxy-verify-unverified_error_log
T-1/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt_error_log T-2/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log
T-1/var/log/httpd/_ssl_ca_crt_does_not_match_access_log T-2/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log
T-1/var/log/httpd/_ssl_ca_crt_does_not_match_error_log T-2/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt_access_log
T-1/var/log/httpd/_ssl_ca_crt_garbage_access_log T-2/var/log/httpd/_ssl-proxy-verify_ssl_proxy_ca_crt_error_log
T-1/var/log/httpd/_ssl_ca_crt_garbage_error_log T-2/var/log/httpd/_ssl_ca_crt_does_not_match_access_log
T-1/var/log/httpd/_type-notebook_access_log T-2/var/log/httpd/_ssl_ca_crt_does_not_match_error_log
T-1/var/log/httpd/_type-notebook_error_log T-2/var/log/httpd/_ssl_ca_crt_garbage_access_log
T-1/var/log/httpd/_type-redirect_access_log T-2/var/log/httpd/_ssl_ca_crt_garbage_error_log
T-1/var/log/httpd/_type-redirect_error_log T-2/var/log/httpd/_ssl_ca_crt_only_access_log
T-1/var/log/httpd/_type-zope-default-path_access_log T-2/var/log/httpd/_ssl_ca_crt_only_error_log
T-1/var/log/httpd/_type-zope-default-path_error_log T-2/var/log/httpd/_type-notebook_access_log
T-1/var/log/httpd/_type-zope-path_access_log T-2/var/log/httpd/_type-notebook_error_log
T-1/var/log/httpd/_type-zope-path_error_log T-2/var/log/httpd/_type-redirect_access_log
T-1/var/log/httpd/_type-zope-prefer-gzip-encoding-to-backend_access_log T-2/var/log/httpd/_type-redirect_error_log
T-1/var/log/httpd/_type-zope-prefer-gzip-encoding-to-backend_error_log T-2/var/log/httpd/_type-zope-default-path_access_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify-unverified_access_log T-2/var/log/httpd/_type-zope-default-path_error_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify-unverified_error_log T-2/var/log/httpd/_type-zope-path_access_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log T-2/var/log/httpd/_type-zope-path_error_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log T-2/var/log/httpd/_type-zope-prefer-gzip-encoding-to-backend_access_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt_access_log T-2/var/log/httpd/_type-zope-prefer-gzip-encoding-to-backend_error_log
T-1/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt_error_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify-unverified_access_log
T-1/var/log/httpd/_type-zope-virtualhostroot-http-port_access_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify-unverified_error_log
T-1/var/log/httpd/_type-zope-virtualhostroot-http-port_error_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_access_log
T-1/var/log/httpd/_type-zope-virtualhostroot-https-port_access_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified_error_log
T-1/var/log/httpd/_type-zope-virtualhostroot-https-port_error_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt_access_log
T-1/var/log/httpd/_type-zope_access_log T-2/var/log/httpd/_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt_error_log
T-1/var/log/httpd/_type-zope_error_log T-2/var/log/httpd/_type-zope-virtualhostroot-http-port_access_log
T-1/var/log/httpd/_url_https-url_access_log T-2/var/log/httpd/_type-zope-virtualhostroot-http-port_error_log
T-1/var/log/httpd/_url_https-url_error_log T-2/var/log/httpd/_type-zope-virtualhostroot-https-port_access_log
T-1/var/log/monitor-httpd-error.log T-2/var/log/httpd/_type-zope-virtualhostroot-https-port_error_log
T-1/var/log/nginx-access.log T-2/var/log/httpd/_type-zope_access_log
T-1/var/log/nginx-error.log T-2/var/log/httpd/_type-zope_error_log
T-1/var/log/trafficserver/manager.log T-2/var/log/httpd/_url_https-url_access_log
T-1/var/log/trafficserver/traffic.out T-2/var/log/httpd/_url_https-url_error_log
\ No newline at end of file T-2/var/log/monitor-httpd-error.log
T-2/var/log/nginx-access.log
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,112 +2,115 @@ T-0/etc/plugin/buildout-T-0-status.py: OK ...@@ -2,112 +2,115 @@ 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: OK T-2/etc/plugin/caddy_cached.py: OK
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: OK T-2/etc/plugin/caddy_ssl_cached.py: OK
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-_apache_custom_http_s-accepted-error-log-last-day.py: OK T-2/etc/plugin/check-_apache_custom_http_s-accepted-error-log-last-day.py: OK
T-1/etc/plugin/check-_apache_custom_http_s-accepted-error-log-last-hour.py: OK T-2/etc/plugin/check-_apache_custom_http_s-accepted-error-log-last-hour.py: OK
T-1/etc/plugin/check-_caddy_custom_http_s-accepted-error-log-last-day.py: OK T-2/etc/plugin/check-_caddy_custom_http_s-accepted-error-log-last-day.py: OK
T-1/etc/plugin/check-_caddy_custom_http_s-accepted-error-log-last-hour.py: OK T-2/etc/plugin/check-_caddy_custom_http_s-accepted-error-log-last-hour.py: OK
T-1/etc/plugin/check-_custom_domain-error-log-last-day.py: OK T-2/etc/plugin/check-_custom_domain-error-log-last-day.py: OK
T-1/etc/plugin/check-_custom_domain-error-log-last-hour.py: OK T-2/etc/plugin/check-_custom_domain-error-log-last-hour.py: OK
T-1/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day.py: OK T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day.py: OK
T-1/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour.py: OK T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour.py: OK
T-1/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day.py: OK T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day.py: OK
T-1/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour.py: OK T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour.py: OK
T-1/etc/plugin/check-_custom_domain_wildcard-error-log-last-day.py: OK T-2/etc/plugin/check-_custom_domain_wildcard-error-log-last-day.py: OK
T-1/etc/plugin/check-_custom_domain_wildcard-error-log-last-hour.py: OK T-2/etc/plugin/check-_custom_domain_wildcard-error-log-last-hour.py: OK
T-1/etc/plugin/check-_disabled-cookie-list-error-log-last-day.py: OK T-2/etc/plugin/check-_disabled-cookie-list-error-log-last-day.py: OK
T-1/etc/plugin/check-_disabled-cookie-list-error-log-last-hour.py: OK T-2/etc/plugin/check-_disabled-cookie-list-error-log-last-hour.py: OK
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-_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_cache-disable-no-cache-request-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-disable-no-cache-request-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-disable-no-cache-request-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-disable-no-cache-request-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-disable-via-header-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-disable-via-header-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-disable-via-header-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-disable-via-header-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_https-only-error-log-last-day.py: OK T-2/etc/plugin/check-_https-only-error-log-last-day.py: OK
T-1/etc/plugin/check-_https-only-error-log-last-hour.py: OK T-2/etc/plugin/check-_https-only-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-error-log-last-day.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-error-log-last-day.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-error-log-last-hour.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv4-test-ipv4-packet-list-test.py: OK T-2/etc/plugin/check-_monitor-ipv4-test-ipv4-packet-list-test.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-error-log-last-day.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-error-log-last-day.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-error-log-last-hour.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-error-log-last-hour.py: OK
T-1/etc/plugin/check-_monitor-ipv6-test-ipv6-packet-list-test.py: OK T-2/etc/plugin/check-_monitor-ipv6-test-ipv6-packet-list-test.py: OK
T-1/etc/plugin/check-_prefer-gzip-encoding-to-backend-error-log-last-day.py: OK T-2/etc/plugin/check-_prefer-gzip-encoding-to-backend-error-log-last-day.py: OK
T-1/etc/plugin/check-_prefer-gzip-encoding-to-backend-error-log-last-hour.py: OK T-2/etc/plugin/check-_prefer-gzip-encoding-to-backend-error-log-last-hour.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-error-log-last-day.py: OK T-2/etc/plugin/check-_re6st-optimal-test-error-log-last-day.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-error-log-last-hour.py: OK T-2/etc/plugin/check-_re6st-optimal-test-error-log-last-hour.py: OK
T-1/etc/plugin/check-_re6st-optimal-test-re6st-optimal-test.py: OK T-2/etc/plugin/check-_re6st-optimal-test-re6st-optimal-test.py: OK
T-1/etc/plugin/check-_server-alias-duplicated-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias-duplicated-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias-duplicated-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias-duplicated-error-log-last-hour.py: OK
T-1/etc/plugin/check-_server-alias-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias-error-log-last-hour.py: OK
T-1/etc/plugin/check-_server-alias-wildcard-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias-wildcard-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias-wildcard-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias-wildcard-error-log-last-hour.py: OK
T-1/etc/plugin/check-_server-alias_custom_domain-duplicated-error-log-last-day.py: OK T-2/etc/plugin/check-_server-alias_custom_domain-duplicated-error-log-last-day.py: OK
T-1/etc/plugin/check-_server-alias_custom_domain-duplicated-error-log-last-hour.py: OK T-2/etc/plugin/check-_server-alias_custom_domain-duplicated-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl-proxy-verify-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl-proxy-verify-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-hour.py: OK
T-1/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-day.py: OK
T-1/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-eventsource-error-log-last-day.py: OK T-2/etc/plugin/check-_ssl_ca_crt_only-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-eventsource-error-log-last-hour.py: OK T-2/etc/plugin/check-_ssl_ca_crt_only-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-notebook-error-log-last-day.py: OK T-2/etc/plugin/check-_type-eventsource-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-notebook-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-eventsource-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-redirect-error-log-last-day.py: OK T-2/etc/plugin/check-_type-notebook-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-redirect-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-notebook-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-default-path-error-log-last-day.py: OK T-2/etc/plugin/check-_type-redirect-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-default-path-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-redirect-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-default-path-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-default-path-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-path-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-path-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-path-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-path-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-virtualhostroot-http-port-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-virtualhostroot-http-port-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour.py: OK
T-1/etc/plugin/check-_type-zope-virtualhostroot-https-port-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-virtualhostroot-http-port-error-log-last-day.py: OK
T-1/etc/plugin/check-_type-zope-virtualhostroot-https-port-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-virtualhostroot-http-port-error-log-last-hour.py: OK
T-1/etc/plugin/check-_url_https-url-error-log-last-day.py: OK T-2/etc/plugin/check-_type-zope-virtualhostroot-https-port-error-log-last-day.py: OK
T-1/etc/plugin/check-_url_https-url-error-log-last-hour.py: OK T-2/etc/plugin/check-_type-zope-virtualhostroot-https-port-error-log-last-hour.py: OK
T-1/etc/plugin/check-free-disk-space.py: OK T-2/etc/plugin/check-_url_https-url-error-log-last-day.py: OK
T-1/etc/plugin/frontend-caddy-configuration-promise.py: OK T-2/etc/plugin/check-_url_https-url-error-log-last-hour.py: OK
T-1/etc/plugin/monitor-bootstrap-status.py: OK T-2/etc/plugin/check-free-disk-space.py: OK
T-1/etc/plugin/monitor-httpd-listening-on-tcp.py: OK T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-1/etc/plugin/nginx-configuration-promise.py: OK T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_http.py: OK T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-1/etc/plugin/nginx_frontend_ipv4_https.py: OK T-2/etc/plugin/nginx-configuration-promise.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_http.py: OK T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-1/etc/plugin/nginx_frontend_ipv6_https.py: OK T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-1/etc/plugin/re6st-connectivity.py: OK T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-1/etc/plugin/trafficserver-port-listening.py: OK T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
\ No newline at end of file T-2/etc/plugin/re6st-connectivity.py: OK
T-2/etc/plugin/trafficserver-cache-availability.py: OK
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/slapgrid-T-0-error.log
T-1/var/log/expose-csr_id.log
T-2/var/log/frontend-access.log
T-2/var/log/frontend-error.log
T-2/var/log/httpd-csr_id/expose-csr_id.log
T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_access_log
T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_error_log
T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_access_log
T-2/var/log/httpd/_custom_domain_ssl_crt_ssl_key_ssl_ca_crt_error_log
T-2/var/log/httpd/_ssl_ca_crt_does_not_match_access_log
T-2/var/log/httpd/_ssl_ca_crt_does_not_match_error_log
T-2/var/log/httpd/_ssl_ca_crt_garbage_access_log
T-2/var/log/httpd/_ssl_ca_crt_garbage_error_log
T-2/var/log/httpd/_ssl_from_master_access_log
T-2/var/log/httpd/_ssl_from_master_error_log
T-2/var/log/httpd/_ssl_from_master_kedifa_overrides_access_log
T-2/var/log/httpd/_ssl_from_master_kedifa_overrides_error_log
T-2/var/log/httpd/_ssl_from_slave_access_log
T-2/var/log/httpd/_ssl_from_slave_error_log
T-2/var/log/httpd/_ssl_from_slave_kedifa_overrides_access_log
T-2/var/log/httpd/_ssl_from_slave_kedifa_overrides_error_log
T-2/var/log/httpd/_type-notebook-ssl_from_master_access_log
T-2/var/log/httpd/_type-notebook-ssl_from_master_error_log
T-2/var/log/httpd/_type-notebook-ssl_from_master_kedifa_overrides_access_log
T-2/var/log/httpd/_type-notebook-ssl_from_master_kedifa_overrides_error_log
T-2/var/log/httpd/_type-notebook-ssl_from_slave_access_log
T-2/var/log/httpd/_type-notebook-ssl_from_slave_error_log
T-2/var/log/httpd/_type-notebook-ssl_from_slave_kedifa_overrides_access_log
T-2/var/log/httpd/_type-notebook-ssl_from_slave_kedifa_overrides_error_log
T-2/var/log/monitor-httpd-error.log
T-2/var/log/nginx-access.log
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/monitor-bootstrap.pid
T-1/var/run/kedifa.pid
T-2/var/run/caddy_graceful_signature
T-2/var/run/caddy_validate_signature
T-2/var/run/caddy_validate_signature.status
T-2/var/run/httpd.pid
T-2/var/run/monitor-httpd.pid
T-2/var/run/monitor/monitor-bootstrap.pid
T-2/var/run/nginx.pid
T-2/var/run/nginx_graceful_signature
T-2/var/run/nginx_validate_signature
T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day
T-2/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour
T-2/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day
T-2/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_ca_crt_does_not_match-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_ca_crt_does_not_match-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_ca_crt_garbage-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_ca_crt_garbage-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_from_master-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_from_master-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_from_master_kedifa_overrides-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_from_master_kedifa_overrides-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_from_slave-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_from_slave-error-log-last-hour
T-2/etc/monitor-promise/check-_ssl_from_slave_kedifa_overrides-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_from_slave_kedifa_overrides-error-log-last-hour
T-2/etc/monitor-promise/check-_type-notebook-ssl_from_master-error-log-last-day
T-2/etc/monitor-promise/check-_type-notebook-ssl_from_master-error-log-last-hour
T-2/etc/monitor-promise/check-_type-notebook-ssl_from_master_kedifa_overrides-error-log-last-day
T-2/etc/monitor-promise/check-_type-notebook-ssl_from_master_kedifa_overrides-error-log-last-hour
T-2/etc/monitor-promise/check-_type-notebook-ssl_from_slave-error-log-last-day
T-2/etc/monitor-promise/check-_type-notebook-ssl_from_slave-error-log-last-hour
T-2/etc/monitor-promise/check-_type-notebook-ssl_from_slave_kedifa_overrides-error-log-last-day
T-2/etc/monitor-promise/check-_type-notebook-ssl_from_slave_kedifa_overrides-error-log-last-hour
\ No newline at end of file
T-0/etc/plugin/buildout-T-0-status.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-httpd-listening-on-tcp.py: OK
T-2/etc/plugin/buildout-T-2-status.py: OK
T-2/etc/plugin/caddy_cached.py: ERROR
T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day.py: OK
T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour.py: OK
T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day.py: OK
T-2/etc/plugin/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour.py: OK
T-2/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-day.py: OK
T-2/etc/plugin/check-_ssl_ca_crt_does_not_match-error-log-last-hour.py: OK
T-2/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-day.py: OK
T-2/etc/plugin/check-_ssl_ca_crt_garbage-error-log-last-hour.py: OK
T-2/etc/plugin/check-_ssl_from_master-error-log-last-day.py: OK
T-2/etc/plugin/check-_ssl_from_master-error-log-last-hour.py: OK
T-2/etc/plugin/check-_ssl_from_master_kedifa_overrides-error-log-last-day.py: OK
T-2/etc/plugin/check-_ssl_from_master_kedifa_overrides-error-log-last-hour.py: OK
T-2/etc/plugin/check-_ssl_from_slave-error-log-last-day.py: OK
T-2/etc/plugin/check-_ssl_from_slave-error-log-last-hour.py: OK
T-2/etc/plugin/check-_ssl_from_slave_kedifa_overrides-error-log-last-day.py: OK
T-2/etc/plugin/check-_ssl_from_slave_kedifa_overrides-error-log-last-hour.py: OK
T-2/etc/plugin/check-_type-notebook-ssl_from_master-error-log-last-day.py: OK
T-2/etc/plugin/check-_type-notebook-ssl_from_master-error-log-last-hour.py: OK
T-2/etc/plugin/check-_type-notebook-ssl_from_master_kedifa_overrides-error-log-last-day.py: OK
T-2/etc/plugin/check-_type-notebook-ssl_from_master_kedifa_overrides-error-log-last-hour.py: OK
T-2/etc/plugin/check-_type-notebook-ssl_from_slave-error-log-last-day.py: OK
T-2/etc/plugin/check-_type-notebook-ssl_from_slave-error-log-last-hour.py: OK
T-2/etc/plugin/check-_type-notebook-ssl_from_slave_kedifa_overrides-error-log-last-day.py: OK
T-2/etc/plugin/check-_type-notebook-ssl_from_slave_kedifa_overrides-error-log-last-hour.py: OK
T-2/etc/plugin/check-free-disk-space.py: OK
T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-2/etc/plugin/nginx-configuration-promise.py: OK
T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-2/etc/plugin/re6st-connectivity.py: OK
T-2/etc/plugin/trafficserver-cache-availability.py: OK
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-1/etc/promise/caucased: OK
T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
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:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash}-on-watch RUNNING
T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:kedifa-{hash}-on-watch RUNNING
T-1:kedifa-reloader EXITED
T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-2:bootstrap-monitor EXITED
T-2:certificate_authority-{hash}-on-watch RUNNING
T-2:crond-{hash}-on-watch RUNNING
T-2:expose-csr_id-{hash}-on-watch RUNNING
T-2:frontend-caddy-safe-graceful EXITED
T-2:frontend-nginx-safe-graceful 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
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log
T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/expose-csr_id.log
T-2/var/log/frontend-access.log
T-2/var/log/frontend-error.log
T-2/var/log/httpd-csr_id/expose-csr_id.log
T-2/var/log/httpd/_ssl_from_master_kedifa_overrides_master_certificate_access_log
T-2/var/log/httpd/_ssl_from_master_kedifa_overrides_master_certificate_error_log
T-2/var/log/monitor-httpd-error.log
T-2/var/log/nginx-access.log
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/monitor-bootstrap.pid
T-1/var/run/kedifa.pid
T-2/var/run/caddy_graceful_signature
T-2/var/run/caddy_validate_signature
T-2/var/run/caddy_validate_signature.status
T-2/var/run/httpd.pid
T-2/var/run/monitor-httpd.pid
T-2/var/run/monitor/monitor-bootstrap.pid
T-2/var/run/nginx.pid
T-2/var/run/nginx_graceful_signature
T-2/var/run/nginx_validate_signature
T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_ssl_from_master_kedifa_overrides_master_certificate-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_from_master_kedifa_overrides_master_certificate-error-log-last-hour
\ No newline at end of file
T-0/etc/plugin/buildout-T-0-status.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-httpd-listening-on-tcp.py: OK
T-2/etc/plugin/buildout-T-2-status.py: OK
T-2/etc/plugin/caddy_cached.py: ERROR
T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-2/etc/plugin/check-_ssl_from_master_kedifa_overrides_master_certificate-error-log-last-day.py: OK
T-2/etc/plugin/check-_ssl_from_master_kedifa_overrides_master_certificate-error-log-last-hour.py: OK
T-2/etc/plugin/check-free-disk-space.py: OK
T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-2/etc/plugin/nginx-configuration-promise.py: OK
T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-2/etc/plugin/re6st-connectivity.py: OK
T-2/etc/plugin/trafficserver-cache-availability.py: OK
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-1/etc/promise/caucased: OK
T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
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:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash}-on-watch RUNNING
T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:kedifa-{hash}-on-watch RUNNING
T-1:kedifa-reloader EXITED
T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-2:bootstrap-monitor EXITED
T-2:certificate_authority-{hash}-on-watch RUNNING
T-2:crond-{hash}-on-watch RUNNING
T-2:expose-csr_id-{hash}-on-watch RUNNING
T-2:frontend-caddy-safe-graceful EXITED
T-2:frontend-nginx-safe-graceful 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
\ No newline at end of file
T-0/var/log/monitor-httpd-error.log
T-0/var/log/slapgrid-T-0-error.log
T-1/var/log/expose-csr_id.log
T-2/var/log/frontend-access.log
T-2/var/log/frontend-error.log
T-2/var/log/httpd-csr_id/expose-csr_id.log
T-2/var/log/httpd/_ssl_from_master_access_log
T-2/var/log/httpd/_ssl_from_master_error_log
T-2/var/log/monitor-httpd-error.log
T-2/var/log/nginx-access.log
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/monitor-bootstrap.pid
T-1/var/run/kedifa.pid
T-2/var/run/caddy_graceful_signature
T-2/var/run/caddy_validate_signature
T-2/var/run/caddy_validate_signature.status
T-2/var/run/httpd.pid
T-2/var/run/monitor-httpd.pid
T-2/var/run/monitor/monitor-bootstrap.pid
T-2/var/run/nginx.pid
T-2/var/run/nginx_graceful_signature
T-2/var/run/nginx_validate_signature
T-2/var/run/nginx_validate_signature.status
\ No newline at end of file
T-2/etc/monitor-promise/check-_ssl_from_master-error-log-last-day
T-2/etc/monitor-promise/check-_ssl_from_master-error-log-last-hour
\ No newline at end of file
T-0/etc/plugin/buildout-T-0-status.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-httpd-listening-on-tcp.py: OK
T-2/etc/plugin/buildout-T-2-status.py: OK
T-2/etc/plugin/caddy_cached.py: ERROR
T-2/etc/plugin/caddy_frontend_ipv4_http.py: OK
T-2/etc/plugin/caddy_frontend_ipv4_https.py: OK
T-2/etc/plugin/caddy_frontend_ipv6_http.py: OK
T-2/etc/plugin/caddy_frontend_ipv6_https.py: OK
T-2/etc/plugin/caddy_ssl_cached.py: ERROR
T-2/etc/plugin/check-_ssl_from_master-error-log-last-day.py: OK
T-2/etc/plugin/check-_ssl_from_master-error-log-last-hour.py: OK
T-2/etc/plugin/check-free-disk-space.py: OK
T-2/etc/plugin/frontend-caddy-configuration-promise.py: OK
T-2/etc/plugin/monitor-bootstrap-status.py: OK
T-2/etc/plugin/monitor-httpd-listening-on-tcp.py: OK
T-2/etc/plugin/nginx-configuration-promise.py: OK
T-2/etc/plugin/nginx_frontend_ipv4_http.py: OK
T-2/etc/plugin/nginx_frontend_ipv4_https.py: OK
T-2/etc/plugin/nginx_frontend_ipv6_http.py: OK
T-2/etc/plugin/nginx_frontend_ipv6_https.py: OK
T-2/etc/plugin/re6st-connectivity.py: OK
T-2/etc/plugin/trafficserver-cache-availability.py: OK
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-1/etc/promise/caucased: OK
T-2/etc/promise/caddy-frontend-is-running-actual-software-release: OK
T-2/etc/promise/promise-monitor-httpd-is-process-older-than-dependency-set: OK
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:certificate_authority-{hash}-on-watch RUNNING
T-0:crond-{hash}-on-watch RUNNING
T-0:monitor-httpd-{hash}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash}-on-watch RUNNING
T-1:expose-csr_id-{hash}-on-watch RUNNING
T-1:kedifa-{hash}-on-watch RUNNING
T-1:kedifa-reloader EXITED
T-2:6tunnel-11080-{hash}-on-watch RUNNING
T-2:6tunnel-11443-{hash}-on-watch RUNNING
T-2:6tunnel-12080-{hash}-on-watch RUNNING
T-2:6tunnel-12443-{hash}-on-watch RUNNING
T-2:6tunnel-26011-{hash}-on-watch RUNNING
T-2:6tunnel-26012-{hash}-on-watch RUNNING
T-2:bootstrap-monitor EXITED
T-2:certificate_authority-{hash}-on-watch RUNNING
T-2:crond-{hash}-on-watch RUNNING
T-2:expose-csr_id-{hash}-on-watch RUNNING
T-2:frontend-caddy-safe-graceful EXITED
T-2:frontend-nginx-safe-graceful 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
\ No newline at end of file
...@@ -51,7 +51,7 @@ md5sum = f634a5249b773658b7a7bc9fa9bb0368 ...@@ -51,7 +51,7 @@ md5sum = f634a5249b773658b7a7bc9fa9bb0368
[template-frontend] [template-frontend]
filename = instance-frontend.cfg.in filename = instance-frontend.cfg.in
md5sum = cdb690495e9eb007d2b7d2f8e12f5c59 md5sum = 57a4be74e5afb00e378bc726cd7771f8
[template-ansible-promise] [template-ansible-promise]
filename = template/ansible-promise.in filename = template/ansible-promise.in
......
...@@ -5,10 +5,6 @@ ...@@ -5,10 +5,6 @@
############################# #############################
[buildout] [buildout]
parts = parts =
logrotate
# logrotate-entry-frontend
cron
cron-entry-logrotate
ca-frontend ca-frontend
certificate-authority certificate-authority
frontend-promise-ipv6 frontend-promise-ipv6
...@@ -37,12 +33,7 @@ backup = $${rootdirectory:srv}/backup ...@@ -37,12 +33,7 @@ backup = $${rootdirectory:srv}/backup
[directory] [directory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
cron-entries = $${rootdirectory:etc}/cron.d
crontabs = $${rootdirectory:etc}/crontabs
cronstamps = $${rootdirectory:etc}/cronstamps
ca-dir = $${rootdirectory:srv}/ssl ca-dir = $${rootdirectory:srv}/ssl
logrotate-backup = $${basedirectory:backup}/logrotate
logrotate-entries = $${rootdirectory:etc}/logrotate.d
[frontend-instance] [frontend-instance]
recipe = slapos.cookbook:kvm.frontend recipe = slapos.cookbook:kvm.frontend
...@@ -103,49 +94,8 @@ wrapper = $${basedirectory:services}/nodejs ...@@ -103,49 +94,8 @@ wrapper = $${basedirectory:services}/nodejs
# Put domain name # Put domain name
name = $${slap-parameter:domain} name = $${slap-parameter:domain}
[cron]
recipe = slapos.cookbook:cron
dcrond-binary = ${dcron:location}/sbin/crond
cron-entries = $${directory:cron-entries}
crontabs = $${directory:crontabs}
cronstamps = $${directory:cronstamps}
catcher = $${cron-simplelogger:wrapper}
binary = $${basedirectory:services}/crond
[cron-simplelogger]
recipe = slapos.cookbook:simplelogger
wrapper = $${rootdirectory:bin}/cron_simplelogger
log = $${basedirectory:log}/cron.log
[cron-entry-logrotate]
<= cron
recipe = slapos.cookbook:cron.d
name = logrotate
frequency = 0 0 * * *
command = $${logrotate:wrapper}
[logrotate]
recipe = slapos.cookbook:logrotate
# Binaries
logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
gzip-binary = ${gzip:location}/bin/gzip
gunzip-binary = ${gzip:location}/bin/gunzip
# Directories
wrapper = $${rootdirectory:bin}/logrotate
conf = $${rootdirectory:etc}/logrotate.conf
logrotate-entries = $${directory:logrotate-entries}
backup = $${directory:logrotate-backup}
state-file = $${rootdirectory:srv}/logrotate.status
[slap-parameter] [slap-parameter]
# Default value if no port is specified # Default value if no port is specified
port = 4443 port = 4443
http-redirection = 0 http-redirection = 0
slave_instance_list = slave_instance_list =
# [logrotate-entry-frontend]
# <= logrotate
# recipe = slapos.cookbook:logrotate.d
# name = frontend
# log = $${mariadb-instance:error-log} $${mariadb-instance:slow-query-log}
# post = $${mariadb-instance:mysql-binary} --no-defaults -B --socket=$${mariadb-instance:socket} -e "FLUSH LOGS"
...@@ -9,6 +9,7 @@ extends = ...@@ -9,6 +9,7 @@ extends =
../../component/openssl/buildout.cfg ../../component/openssl/buildout.cfg
../../component/netcat/buildout.cfg ../../component/netcat/buildout.cfg
../../component/pycurl/buildout.cfg ../../component/pycurl/buildout.cfg
../../component/gzip/buildout.cfg
../../stack/slapos.cfg ../../stack/slapos.cfg
../../component/nodejs/buildout.cfg ../../component/nodejs/buildout.cfg
../../stack/resilient/buildout.cfg ../../stack/resilient/buildout.cfg
......
...@@ -72,7 +72,7 @@ class ServicesTestCase(InstanceTestCase): ...@@ -72,7 +72,7 @@ class ServicesTestCase(InstanceTestCase):
] ]
expected_process_names = [ expected_process_names = [
'monitor-httpd-{hash}-on-watch', 'monitor-httpd-{hash}-on-watch',
'crond-{hash}', 'crond-{hash}-on-watch',
] ]
supervisor = self.getSupervisorRPCServer().supervisor supervisor = self.getSupervisorRPCServer().supervisor
......
...@@ -89,6 +89,7 @@ eggs = ...@@ -89,6 +89,7 @@ eggs =
${python-pynacl:egg} ${python-pynacl:egg}
${python-cryptography:egg} ${python-cryptography:egg}
${bcrypt:egg} ${bcrypt:egg}
slapos.libnetworkcache
slapos.core slapos.core
${slapos.test.caddy-frontend-setup:egg} ${slapos.test.caddy-frontend-setup:egg}
${slapos.test.erp5-setup:egg} ${slapos.test.erp5-setup:egg}
...@@ -147,6 +148,20 @@ requests-toolbelt = 0.8.0 ...@@ -147,6 +148,20 @@ requests-toolbelt = 0.8.0
selenium = 3.141.0 selenium = 3.141.0
slapos.recipe.template = 4.3 slapos.recipe.template = 4.3
# modern versions for SSL fixed support
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
# cacuase and its dependencies
caucase = 0.9.4
pem = 18.2.0
PyJWT = 1.6.4
# Django 1.11 is python 2 compatible # Django 1.11 is python 2 compatible
Django = 1.11 Django = 1.11
......
...@@ -14,11 +14,11 @@ ...@@ -14,11 +14,11 @@
# not need these here). # not need these here).
[template] [template]
filename = instance.cfg filename = instance.cfg
md5sum = f0cab61c7b8478afb8b676fc725d50d5 md5sum = c44a7481bb85e3258128afe3fcf23f44
[template-runner] [template-runner]
filename = instance-runner.cfg filename = instance-runner.cfg
md5sum = 7c48c89f33ad243f0dffb3eeef8c56e8 md5sum = 8882bc63d615d8a2cd6de3d32b1013e0
[template-runner-import-script] [template-runner-import-script]
filename = template/runner-import.sh.jinja2 filename = template/runner-import.sh.jinja2
...@@ -26,11 +26,11 @@ md5sum = ed6dc50713c14e2527b9958d98674eed ...@@ -26,11 +26,11 @@ md5sum = ed6dc50713c14e2527b9958d98674eed
[instance-runner-import] [instance-runner-import]
filename = instance-runner-import.cfg.in filename = instance-runner-import.cfg.in
md5sum = 1ed9526a6e5ac9a80e5b3add2d0a88fe md5sum = 238466e8045096c09534e1d01b1befd6
[instance-runner-export] [instance-runner-export]
filename = instance-runner-export.cfg.in filename = instance-runner-export.cfg.in
md5sum = 4b19026c50af55c8b7387aeaf624b47c md5sum = b992bb3391de9d6d422bfa8011d8ffc4
[template-resilient] [template-resilient]
filename = instance-resilient.cfg.jinja2 filename = instance-resilient.cfg.jinja2
......
...@@ -76,6 +76,10 @@ instance-configuration = ...@@ -76,6 +76,10 @@ instance-configuration =
httpdcors cors-domain ${slaprunner-httpd-cors:location} ${httpd-graceful-wrapper:output} httpdcors cors-domain ${slaprunner-httpd-cors:location} ${httpd-graceful-wrapper:output}
configuration-file-path = ${buildout:directory}/knowledge0.cfg configuration-file-path = ${buildout:directory}/knowledge0.cfg
[monitor-conf-parameters]
private-path-list +=
$${logrotate-directory:logrotate-backup}
# Extends publish section with resilient parameters # Extends publish section with resilient parameters
[publish-connection-information] [publish-connection-information]
<= resilient-publish-connection-parameter <= resilient-publish-connection-parameter
......
...@@ -189,7 +189,7 @@ configuration-file-path = ${buildout:directory}/knowledge0.cfg ...@@ -189,7 +189,7 @@ configuration-file-path = ${buildout:directory}/knowledge0.cfg
[monitor-conf-parameters] [monitor-conf-parameters]
private-path-list += private-path-list +=
${directory:logrotate-backup} $${logrotate-directory:logrotate-backup}
[post-notification-run] [post-notification-run]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
......
...@@ -51,7 +51,9 @@ common-runner-parts = ...@@ -51,7 +51,9 @@ common-runner-parts =
template-slapuser-script template-slapuser-script
parts = $${:common-runner-parts} parts = $${:common-runner-parts}
extends = ${monitor2-template:rendered} extends =
${monitor2-template:rendered}
${template-logrotate-base:rendered}
eggs-directory = ${buildout:eggs-directory} eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory}
...@@ -882,6 +884,10 @@ instance-configuration = ...@@ -882,6 +884,10 @@ instance-configuration =
httpdcors cors-domain $${slaprunner-httpd-cors:location} $${httpd-graceful-wrapper:output} httpdcors cors-domain $${slaprunner-httpd-cors:location} $${httpd-graceful-wrapper:output}
configuration-file-path = $${buildout:directory}/knowledge0.cfg configuration-file-path = $${buildout:directory}/knowledge0.cfg
[monitor-conf-parameters]
private-path-list +=
$${logrotate-directory:logrotate-backup}
[monitor-check-webrunner-internal-instance] [monitor-check-webrunner-internal-instance]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
template = ${monitor-check-webrunner-internal-instance:location}/${monitor-check-webrunner-internal-instance:filename} template = ${monitor-check-webrunner-internal-instance:location}/${monitor-check-webrunner-internal-instance:filename}
......
...@@ -5,7 +5,8 @@ parts = ...@@ -5,7 +5,8 @@ parts =
eggs-directory = ${buildout:eggs-directory} eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory}
extends = ${template-resilient-templates:output} extends =
${template-resilient-templates:output}
[switch_softwaretype] [switch_softwaretype]
recipe = slapos.cookbook:softwaretype recipe = slapos.cookbook:softwaretype
......
...@@ -24,6 +24,7 @@ extends = ...@@ -24,6 +24,7 @@ extends =
../../stack/slapos.cfg ../../stack/slapos.cfg
../../stack/flask.cfg ../../stack/flask.cfg
../../stack/resilient/buildout.cfg ../../stack/resilient/buildout.cfg
../../stack/logrotate/buildout.cfg
../../stack/monitor/buildout.cfg ../../stack/monitor/buildout.cfg
# stacks are listed from most generic to most specific, # stacks are listed from most generic to most specific,
......
...@@ -15,4 +15,4 @@ ...@@ -15,4 +15,4 @@
[caucase-jinja2-library] [caucase-jinja2-library]
filename = caucase.jinja2.library filename = caucase.jinja2.library
md5sum = da082c12f547eee3a33e98c535dcbc14 md5sum = 0c9b50ff49e0ca0e8e2bc70ec0fd9431
...@@ -49,6 +49,7 @@ command-line = '{{ buildout_bin_directory }}/caucase-probe' 'http://{{ netloc }} ...@@ -49,6 +49,7 @@ command-line = '{{ buildout_bin_directory }}/caucase-probe' 'http://{{ netloc }}
on_renew=None, on_renew=None,
max_sleep=None, max_sleep=None,
mode='service', mode='service',
template_csr=None,
template_csr_pem=None, template_csr_pem=None,
openssl=None openssl=None
) -%} ) -%}
...@@ -56,21 +57,28 @@ command-line = '{{ buildout_bin_directory }}/caucase-probe' 'http://{{ netloc }} ...@@ -56,21 +57,28 @@ command-line = '{{ buildout_bin_directory }}/caucase-probe' 'http://{{ netloc }}
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
data-dir = {{ data_dir }} data-dir = {{ data_dir }}
{% if template_csr_pem -%} {% if template_csr_pem or template_csr -%}
[{{ prefix }}-provided-csr-content] [{{ prefix }}-provided-csr-content]
{% if template_csr_pem %}
content = {{ dumps(template_csr_pem) }} content = {{ dumps(template_csr_pem) }}
{% elif template_csr %}
content = {{ template_csr }}
{% endif %}
[{{ prefix }}-provided-csr] [{{ prefix }}-provided-csr]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
mode = 644 mode = 644
{% if template_csr_pem %}
template = inline:{{ '{{ content }}' }} template = inline:{{ '{{ content }}' }}
rendered = ${ {{- prefix }}-directory:data-dir}/provided.csr.pem rendered = ${ {{- prefix }}-directory:data-dir}/provided.csr.pem
context = key content {{ prefix }}-provided-csr-content:content context = key content {{ prefix }}-provided-csr-content:content
{% elif template_csr %}
template = {{ '${' + prefix }}-provided-csr-content:content}
rendered = ${ {{- prefix }}-directory:data-dir}/provided.csr.pem
{% endif %}
{{ rerequest( {{ rerequest(
prefix=prefix ~ '-csr', prefix=prefix ~ '-csr',
buildout_bin_directory='{{ buildout_bin_directory }}', buildout_bin_directory=buildout_bin_directory,
template='{{ "\'$" + prefix }}-provided-csr:rendered}', template='${' ~ prefix ~ '-provided-csr:rendered}',
csr='${:csr}', csr='${:csr}',
key=key_path, key=key_path,
)}} )}}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
extends = extends =
buildout.hash.cfg buildout.hash.cfg
../../component/dcron/buildout.cfg ../../component/dcron/buildout.cfg
../../component/gzip/buildout.cfg ../../component/xz-utils/buildout.cfg
../../component/logrotate/buildout.cfg ../../component/logrotate/buildout.cfg
parts = parts =
template-logrotate-base template-logrotate-base
...@@ -25,7 +25,7 @@ template = ${:_profile_base_location_}/${:filename} ...@@ -25,7 +25,7 @@ template = ${:_profile_base_location_}/${:filename}
rendered = ${buildout:directory}/instance-logrotate-base.cfg rendered = ${buildout:directory}/instance-logrotate-base.cfg
context = context =
key dcron_location dcron:location key dcron_location dcron:location
key gzip_location gzip:location key xz_location xz-utils:location
key logrotate_location logrotate:location key logrotate_location logrotate:location
key logrotate_conf_template logrotate-conf-template:target key logrotate_conf_template logrotate-conf-template:target
key logrotate_entry_template logrotate-entry-template:target key logrotate_entry_template logrotate-entry-template:target
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
# not need these here). # not need these here).
[logrotate-conf-template] [logrotate-conf-template]
filename = logrotate.conf.in filename = logrotate.conf.in
md5sum = 67954c82a8030e5dcac3a8c5d115f624 md5sum = 2fc0ea335969ffab7d8c4f98e3d04ae7
[logrotate-entry-template] [logrotate-entry-template]
filename = logrotate_entry.in filename = logrotate_entry.in
...@@ -22,4 +22,4 @@ md5sum = 117e46af6d9d31c09eeb86089d11407e ...@@ -22,4 +22,4 @@ md5sum = 117e46af6d9d31c09eeb86089d11407e
[template-logrotate-base] [template-logrotate-base]
filename = instance-logrotate-base.cfg.in filename = instance-logrotate-base.cfg.in
md5sum = f56b86a0742afff931a5e972114566e4 md5sum = 338be3ee006c08b26abcc023f398247e
...@@ -28,8 +28,8 @@ wrapper = ${logrotate-directory:bin}/cron_simplelogger ...@@ -28,8 +28,8 @@ wrapper = ${logrotate-directory:bin}/cron_simplelogger
log = ${logrotate-directory:log}/cron.log log = ${logrotate-directory:log}/cron.log
[logrotate-conf-parameter] [logrotate-conf-parameter]
gzip-binary = {{ gzip_location }}/bin/gzip compress-binary = {{ xz_location }}/bin/xz
gunzip-binary = {{ gzip_location }}/bin/gunzip uncompress-binary = {{ xz_location }}/bin/unxz
logrotate-entries = ${logrotate-directory:logrotate-entries} logrotate-entries = ${logrotate-directory:logrotate-entries}
[logrotate-conf] [logrotate-conf]
...@@ -46,11 +46,12 @@ context = ...@@ -46,11 +46,12 @@ context =
# User may override keys: # User may override keys:
# - "post" with commands to execute after rotation # - "post" with commands to execute after rotation
# - "pre" with commands to execute before rotation # - "pre" with commands to execute before rotation
# - "backup" with directory where to store logs
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
template = {{ logrotate_entry_template }} template = {{ logrotate_entry_template }}
rendered = ${logrotate-conf-parameter:logrotate-entries}/${:name} rendered = ${logrotate-conf-parameter:logrotate-entries}/${:name}
context = context =
key backup logrotate-directory:logrotate-backup key backup :backup
key log :log key log :log
key post :post key post :post
key pre :pre key pre :pre
...@@ -61,6 +62,7 @@ post = ...@@ -61,6 +62,7 @@ post =
pre = pre =
frequency = daily frequency = daily
rotate-num = 3650 rotate-num = 3650
backup = ${logrotate-directory:logrotate-backup}
nocompress = nocompress =
[logrotate] [logrotate]
...@@ -91,5 +93,5 @@ bin = ${buildout:directory}/bin ...@@ -91,5 +93,5 @@ bin = ${buildout:directory}/bin
srv = ${buildout:directory}/srv srv = ${buildout:directory}/srv
backup = ${:srv}/backup backup = ${:srv}/backup
etc = ${buildout:directory}/etc etc = ${buildout:directory}/etc
services = ${:etc}/run services = ${:etc}/service
log = ${buildout:directory}/var/log log = ${buildout:directory}/var/log
compresscmd {{ parameter_dict['gzip-binary'] }} compresscmd {{ parameter_dict['compress-binary'] }}
compressoptions -9 compressoptions -9
uncompresscmd {{ parameter_dict['gunzip-binary'] }} uncompresscmd {{ parameter_dict['uncompress-binary'] }}
include {{ parameter_dict['logrotate-entries'] }} include {{ parameter_dict['logrotate-entries'] }}
...@@ -93,7 +93,6 @@ template = ${:_profile_base_location_}/instance-monitor.cfg.jinja2.in ...@@ -93,7 +93,6 @@ template = ${:_profile_base_location_}/instance-monitor.cfg.jinja2.in
rendered = ${buildout:directory}/template-monitor.cfg rendered = ${buildout:directory}/template-monitor.cfg
context = context =
key apache_location apache:location key apache_location apache:location
key gzip_location gzip:location
key template_logrotate_base template-logrotate-base:rendered key template_logrotate_base template-logrotate-base:rendered
raw monitor_bin ${buildout:directory}/bin/monitor.bootstrap raw monitor_bin ${buildout:directory}/bin/monitor.bootstrap
raw monitor_collect ${buildout:directory}/bin/monitor.collect raw monitor_collect ${buildout:directory}/bin/monitor.collect
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
# not need these here). # not need these here).
[pbsready] [pbsready]
filename = pbsready.cfg.in filename = pbsready.cfg.in
md5sum = 367f8b8a09c3098844739f9b2856b912 md5sum = 516482f89d7a3ebe4458a404eb4a575b
[pbsready-import] [pbsready-import]
filename = pbsready-import.cfg.in filename = pbsready-import.cfg.in
...@@ -26,7 +26,7 @@ md5sum = c6c11db5372150019debb1ce519b907d ...@@ -26,7 +26,7 @@ md5sum = c6c11db5372150019debb1ce519b907d
[template-pull-backup] [template-pull-backup]
filename = instance-pull-backup.cfg.in filename = instance-pull-backup.cfg.in
md5sum = 4cff5dc82428256929ecbf21cd918c00 md5sum = 57b9b421d233402e6d5177c69cf9567e
[template-replicated] [template-replicated]
filename = template-replicated.cfg.in filename = template-replicated.cfg.in
......
...@@ -3,10 +3,7 @@ ...@@ -3,10 +3,7 @@
parts = parts =
publish-connection-information publish-connection-information
pbs pbs
logrotate
logrotate-entry-notifier logrotate-entry-notifier
cron
cron-entry-logrotate
pbs-sshkeys-authority pbs-sshkeys-authority
sshkeys-openssh sshkeys-openssh
resilient-genstatrss-wrapper resilient-genstatrss-wrapper
...@@ -19,7 +16,9 @@ parts = ...@@ -19,7 +16,9 @@ parts =
monitor-base monitor-base
monitor-check-resilient-feed-file monitor-check-resilient-feed-file
extends = ${monitor2-template:rendered} extends =
${monitor2-template:rendered}
${template-logrotate-base:rendered}
eggs-directory = ${buildout:eggs-directory} eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true offline = true
...@@ -49,8 +48,6 @@ notifier = $${rootdirectory:etc}/notifier ...@@ -49,8 +48,6 @@ notifier = $${rootdirectory:etc}/notifier
[directory] [directory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
logrotate-entries = $${rootdirectory:etc}/logrotate.d
logrotate-backup = $${basedirectory:backup}/logrotate
cronstamps = $${rootdirectory:etc}/cronstamps cronstamps = $${rootdirectory:etc}/cronstamps
cron-entries = $${rootdirectory:etc}/cron.d cron-entries = $${rootdirectory:etc}/cron.d
crontabs = $${rootdirectory:etc}/crontabs crontabs = $${rootdirectory:etc}/crontabs
...@@ -151,69 +148,13 @@ name = resilient-pbs-status-feed ...@@ -151,69 +148,13 @@ name = resilient-pbs-status-feed
frequency = */5 * * * * frequency = */5 * * * *
command = $${pbs-resilient-status-feed:wrapper-path} command = $${pbs-resilient-status-feed:wrapper-path}
#----------------
#--
#-- Deploy cron.
[cron]
recipe = slapos.cookbook:cron
dcrond-binary = ${dcron:location}/sbin/crond
cron-entries = $${directory:cron-entries}
crontabs = $${directory:crontabs}
cronstamps = $${directory:cronstamps}
catcher = $${cron-simplelogger:wrapper}
binary = $${basedirectory:services}/crond
[cron-simplelogger]
recipe = slapos.cookbook:simplelogger
wrapper = $${rootdirectory:bin}/cron_simplelogger
log = $${basedirectory:log}/crond.log
#----------------
#--
#-- Deploy logrotate.
[cron-entry-logrotate]
<= cron
recipe = slapos.cookbook:cron.d
name = logrotate
frequency = 0 0 * * *
command = $${logrotate:wrapper}
[logrotate]
recipe = slapos.cookbook:logrotate
# Binaries
logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
gzip-binary = ${gzip:location}/bin/gzip
gunzip-binary = ${gzip:location}/bin/gunzip
# Directories
wrapper = $${rootdirectory:bin}/logrotate
conf = $${rootdirectory:etc}/logrotate.conf
logrotate-entries = $${directory:logrotate-entries}
backup = $${directory:logrotate-backup}
state-file = $${rootdirectory:srv}/logrotate.status
[logrotate-entry-cron]
<= logrotate
recipe = slapos.cookbook:logrotate.d
name = cron
log = $${cron-simplelogger:log}
frequency = daily
rotate-num = 30
[logrotate-entry-notifier] [logrotate-entry-notifier]
recipe = collective.recipe.template <= logrotate-entry-base
mode = 600 name = notifier
input = inline: log = $${directory:notifier-feeds}/*
$${directory:notifier-feeds}/* { rotate-num = 5
rotate 5 frequency = weekly
weekly nocompress = true
nocompress
missingok
olddir $${directory:logrotate-backup}
}
output = $${logrotate:logrotate-entries}/notifier
#---------------- #----------------
#-- #--
...@@ -324,7 +265,7 @@ password = $${slap-parameter:monitor-password} ...@@ -324,7 +265,7 @@ password = $${slap-parameter:monitor-password}
[monitor-conf-parameters] [monitor-conf-parameters]
private-path-list += private-path-list +=
$${directory:logrotate-backup} $${logrotate-directory:logrotate-backup}
$${basedirectory:log} $${basedirectory:log}
[monitor-check-resilient-feed-file] [monitor-check-resilient-feed-file]
......
...@@ -56,8 +56,6 @@ notifier-status-items = $${basedirectory:notifier}/status-items ...@@ -56,8 +56,6 @@ notifier-status-items = $${basedirectory:notifier}/status-items
cron-entries = $${rootdirectory:etc}/cron.d cron-entries = $${rootdirectory:etc}/cron.d
crontabs = $${rootdirectory:etc}/crontabs crontabs = $${rootdirectory:etc}/crontabs
cronstamps = $${rootdirectory:etc}/cronstamps cronstamps = $${rootdirectory:etc}/cronstamps
logrotate-entries = $${rootdirectory:etc}/logrotate.d
logrotate-backup = $${basedirectory:backup}/logrotate
cgi-bin = $${rootdirectory:srv}/cgi-bin cgi-bin = $${rootdirectory:srv}/cgi-bin
monitor-resilient = $${monitor-directory:private}/resilient monitor-resilient = $${monitor-directory:private}/resilient
......
...@@ -135,14 +135,14 @@ pytz = 2016.10 ...@@ -135,14 +135,14 @@ pytz = 2016.10
requests = 2.13.0 requests = 2.13.0
six = 1.11.0 six = 1.11.0
slapos.cookbook = 1.0.92 slapos.cookbook = 1.0.92
slapos.core = 1.4.20 slapos.core = 1.4.21
slapos.extension.strip = 0.4 slapos.extension.strip = 0.4
slapos.extension.shared = 1.0 slapos.extension.shared = 1.0
slapos.libnetworkcache = 0.16 slapos.libnetworkcache = 0.16
slapos.rebootstrap = 4.1 slapos.rebootstrap = 4.1
slapos.recipe.build = 0.40 slapos.recipe.build = 0.40
slapos.recipe.cmmi = 0.10 slapos.recipe.cmmi = 0.10
slapos.toolbox = 0.88 slapos.toolbox = 0.90
stevedore = 1.21.0 stevedore = 1.21.0
subprocess32 = 3.5.3 subprocess32 = 3.5.3
unicodecsv = 0.14.1 unicodecsv = 0.14.1
...@@ -150,11 +150,11 @@ xml-marshaller = 0.9.7 ...@@ -150,11 +150,11 @@ xml-marshaller = 0.9.7
paramiko = 2.1.3 paramiko = 2.1.3
# Required by: # Required by:
# slapos.core==1.4.19 # slapos.core==1.4.21
Flask = 0.12 Flask = 0.12
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
GitPython = 2.1.11 GitPython = 2.1.11
# Required by: # Required by:
...@@ -166,23 +166,23 @@ gitdb2 = 2.0.5 ...@@ -166,23 +166,23 @@ gitdb2 = 2.0.5
smmap2 = 2.0.5 smmap2 = 2.0.5
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
PyRSS2Gen = 1.1 PyRSS2Gen = 1.1
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
apache-libcloud = 2.4.0 apache-libcloud = 2.4.0
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
croniter = 0.3.25 croniter = 0.3.25
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
dnspython = 1.15.0 dnspython = 1.15.0
# Required by: # Required by:
...@@ -190,11 +190,11 @@ dnspython = 1.15.0 ...@@ -190,11 +190,11 @@ dnspython = 1.15.0
enum34 = 1.1.6 enum34 = 1.1.6
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
erp5.util = 0.4.51 erp5.util = 0.4.51
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
feedparser = 5.2.1 feedparser = 5.2.1
# Required by: # Required by:
...@@ -218,11 +218,11 @@ ipaddress = 1.0.18 ...@@ -218,11 +218,11 @@ ipaddress = 1.0.18
jsonschema = 3.0.0a3 jsonschema = 3.0.0a3
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
lockfile = 0.12.2 lockfile = 0.12.2
# Required by: # Required by:
# slapos.core==1.4.19 # slapos.core==1.4.21
# XXX 'slapos node format' raises an exception with netifaces 0.10.5. # XXX 'slapos node format' raises an exception with netifaces 0.10.5.
netifaces = 0.10.4 netifaces = 0.10.4
...@@ -231,11 +231,11 @@ netifaces = 0.10.4 ...@@ -231,11 +231,11 @@ netifaces = 0.10.4
packaging = 16.8 packaging = 16.8
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
passlib = 1.7.1 passlib = 1.7.1
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
pyasn1 = 0.4.5 pyasn1 = 0.4.5
# Required by: # Required by:
...@@ -243,31 +243,31 @@ pyasn1 = 0.4.5 ...@@ -243,31 +243,31 @@ pyasn1 = 0.4.5
pycparser = 2.17 pycparser = 2.17
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
pycurl = 7.43.0 pycurl = 7.43.0
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
python-dateutil = 2.7.3 python-dateutil = 2.7.3
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
rpdb = 0.1.5 rpdb = 0.1.5
# Required by: # Required by:
# slapos.core==1.4.19 # slapos.core==1.4.21
supervisor = 3.3.3 supervisor = 3.3.3
# Required by: # Required by:
# slapos.toolbox==0.88 # slapos.toolbox==0.90
tzlocal = 1.5.1 tzlocal = 1.5.1
# Required by: # Required by:
# slapos.core==1.4.19 # slapos.core==1.4.21
uritemplate = 3.0.0 uritemplate = 3.0.0
# Required by: # Required by:
# slapos.core==1.4.19 # slapos.core==1.4.21
zope.interface = 4.3.3 zope.interface = 4.3.3
[networkcache] [networkcache]
......
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