Commit fb6c06c3 authored by Łukasz Nowak's avatar Łukasz Nowak Committed by Łukasz Nowak

caddy-frontend: Improve validate and graceful scripts

Validate only if interesting files are changed.

Simplify validation and graceful scripts, have one template for all cases.

Aviod needless repetition.

Note: There is limit of arguments to be passed to commands, see
https://www.in-ulm.de/~mascheck/various/argmax/, but we are safe for now:

  $ getconf ARG_MAX
  2097152

So we are keeping shell expansion instead of playing with find or other tools.
parent 494bf4d1
...@@ -22,7 +22,7 @@ md5sum = c801b7f9f11f0965677c22e6bbe9281b ...@@ -22,7 +22,7 @@ md5sum = c801b7f9f11f0965677c22e6bbe9281b
[template-apache-frontend] [template-apache-frontend]
filename = instance-apache-frontend.cfg.in filename = instance-apache-frontend.cfg.in
md5sum = ba52505db78f11e15fd5f01d110a61f1 md5sum = a9be268aa485aa464cec25fea962faba
[template-apache-replicate] [template-apache-replicate]
filename = instance-apache-replicate.cfg.in filename = instance-apache-replicate.cfg.in
...@@ -104,13 +104,13 @@ md5sum = 2b765db72191197122554df17ad471d1 ...@@ -104,13 +104,13 @@ md5sum = 2b765db72191197122554df17ad471d1
filename = templates/apache-lazy-script-call.sh.in filename = templates/apache-lazy-script-call.sh.in
md5sum = ebe5d3d19923eb812a40019cb11276d8 md5sum = ebe5d3d19923eb812a40019cb11276d8
[template-caddy-graceful-script] [template-graceful-script]
filename = templates/caddy-graceful-script.sh.in filename = templates/graceful-script.sh.in
md5sum = 455f8765a3afd39fb78562fb9e326c42 md5sum = 23fae618a0465b1e6bc46aefa79d9a7e
[template-nginx-graceful-script] [template-validate-script]
filename = templates/nginx-graceful-script.sh.in filename = templates/validate-script.sh.in
md5sum = 43e8ca96f2e64d21c8fb1e96282c1469 md5sum = 986681fce5f6dcaa1ee5a05bc55a7e4a
[caddyprofiledeps-setup] [caddyprofiledeps-setup]
filename = setup.py filename = setup.py
......
...@@ -88,12 +88,13 @@ gzip = ${gzip:location} ...@@ -88,12 +88,13 @@ gzip = ${gzip:location}
logrotate = ${logrotate:location} logrotate = ${logrotate:location}
openssl = ${openssl:location} openssl = ${openssl:location}
trafficserver = ${trafficserver:location} trafficserver = ${trafficserver:location}
sha256sum = ${coreutils:location}/bin/sha256sum
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}
template_caddy_frontend_configuration = ${template-caddy-frontend-configuration:target} template_caddy_frontend_configuration = ${template-caddy-frontend-configuration:target}
template_caddy_graceful_script = ${template-caddy-graceful-script:target} template_graceful_script = ${template-graceful-script:target}
template_nginx_graceful_script = ${template-nginx-graceful-script:target} template_validate_script = ${template-validate-script:target}
template_caddy_lazy_script_call = ${template-caddy-lazy-script-call:target} template_caddy_lazy_script_call = ${template-caddy-lazy-script-call:target}
template_default_slave_virtualhost = ${template-default-slave-virtualhost:target} template_default_slave_virtualhost = ${template-default-slave-virtualhost:target}
template_empty = ${template-empty:target} template_empty = ${template-empty:target}
...@@ -224,13 +225,13 @@ mode = 0644 ...@@ -224,13 +225,13 @@ mode = 0644
<=download-template <=download-template
filename = apache-lazy-script-call.sh.in filename = apache-lazy-script-call.sh.in
[template-caddy-graceful-script] [template-graceful-script]
<=download-template <=download-template
filename = caddy-graceful-script.sh.in filename = graceful-script.sh.in
[template-nginx-graceful-script] [template-validate-script]
<=download-template <=download-template
filename = nginx-graceful-script.sh.in filename = validate-script.sh.in
[template-nginx-eventsource-slave-virtualhost] [template-nginx-eventsource-slave-virtualhost]
<=download-template <=download-template
......
...@@ -272,7 +272,7 @@ frontend-configuration = ${directory:etc}/Caddyfile ...@@ -272,7 +272,7 @@ frontend-configuration = ${directory:etc}/Caddyfile
access-log = ${directory:log}/frontend-access.log 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 = ${caddy-wrapper:wrapper-path} -validate > /dev/null 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}; if [ $? -eq 0 ]; then kill -USR1 $(cat ${:pid-file}); fi
not-found-file = ${caddy-directory:document-root}/notfound.html not-found-file = ${caddy-directory:document-root}/notfound.html
# Communication with ATS # Communication with ATS
...@@ -282,7 +282,7 @@ ssl-cache-through-port = 26012 ...@@ -282,7 +282,7 @@ ssl-cache-through-port = 26012
[configtest] [configtest]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = ${caddy-wrapper:wrapper-path} -validate command-line = ${frontend-caddy-validate:rendered}
wrapper-path = ${directory:bin}/caddy-configtest wrapper-path = ${directory:bin}/caddy-configtest
[certificate-authority] [certificate-authority]
...@@ -508,25 +508,57 @@ mode = 700 ...@@ -508,25 +508,57 @@ mode = 700
### Caddy Graceful and promises ### Caddy Graceful and promises
[frontend-caddy-graceful] [frontend-caddy-graceful]
< = jinja2-template-base < = jinja2-template-base
template = {{ parameter_dict['template_caddy_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
sha256sum = {{ parameter_dict['sha256sum'] }}
signature_file = ${directory:run}/caddy_graceful_signature
extra-context = extra-context =
key directory_run directory:run key graceful_reload_command caddy-configuration:frontend-graceful-command
key directory_etc directory:etc key path_list :path_list
key directory_bin directory:bin key sha256sum :sha256sum
key caddy_graceful_reload_command caddy-configuration:frontend-graceful-command key signature_file :signature_file
[frontend-nginx-graceful] [frontend-nginx-graceful]
< = jinja2-template-base < = jinja2-template-base
template = {{ parameter_dict['template_nginx_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
sha256sum = {{ parameter_dict['sha256sum'] }}
signature_file = ${directory:run}/nginx_graceful_signature
extra-context = extra-context =
key directory_run directory:run key graceful_reload_command nginx-configuration:nginx-graceful-command
key directory_etc directory:etc key path_list :path_list
key directory_bin directory:bin key sha256sum :sha256sum
key nginx_graceful_reload_command nginx-configuration:nginx-graceful-command key signature_file :signature_file
[frontend-caddy-validate]
< = jinja2-template-base
template = {{ parameter_dict['template_validate_script'] }}
rendered = ${directory:bin}/frontend-caddy-validate
mode = 0700
sha256sum = {{ parameter_dict['sha256sum'] }}
signature_file = ${directory:run}/caddy_validate_signature
extra-context =
key wrapper caddy-wrapper:wrapper-path
key path_list frontend-caddy-graceful:path_list
key sha256sum :sha256sum
key signature_file :signature_file
[frontend-nginx-validate]
< = jinja2-template-base
template = {{ parameter_dict['template_validate_script'] }}
rendered = ${directory:bin}/frontend-nginx-validate
mode = 0700
sha256sum = {{ parameter_dict['sha256sum'] }}
signature_file = ${directory:run}/nginx_validate_signature
extra-context =
key wrapper nginx-wrapper:wrapper-path
key path_list frontend-nginx-graceful:path_list
key sha256sum :sha256sum
key signature_file :signature_file
[frontend-caddy-lazy-graceful] [frontend-caddy-lazy-graceful]
< = jinja2-template-base < = jinja2-template-base
...@@ -542,12 +574,9 @@ extra-context = ...@@ -542,12 +574,9 @@ extra-context =
# Promises checking configuration: # Promises checking configuration:
[promise-frontend-caddy-configuration] [promise-frontend-caddy-configuration]
< = jinja2-template-base recipe = slapos.cookbook:wrapper
template = {{ parameter_dict['template_wrapper'] }} command-line = ${caddy-configuration:frontend-configuration-verification}
rendered = ${directory:promise}/frontend-caddy-configuration-promise wrapper-path = ${directory:promise}/frontend-caddy-configuration-promise
mode = 0700
extra-context =
key content caddy-configuration:frontend-configuration-verification
[promise-caddy-frontend-v4-https] [promise-caddy-frontend-v4-https]
recipe = slapos.cookbook:check_port_listening recipe = slapos.cookbook:check_port_listening
...@@ -701,17 +730,14 @@ worker_connections = 1024 ...@@ -701,17 +730,14 @@ 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 -HUP $(cat ${:pid-file}); fi nginx-graceful-command = ${:nginx-configuration-verification}; if [ $? -eq 0 ]; then kill -HUP $(cat ${:pid-file}); fi
nginx-configuration-verification = ${nginx-wrapper:wrapper-path} -validate nginx-configuration-verification = ${frontend-nginx-validate:rendered}
ssl_certificate = ${ca-frontend:cert-file} ssl_certificate = ${ca-frontend:cert-file}
ssl_key = ${ca-frontend:key-file} ssl_key = ${ca-frontend:key-file}
[promise-nginx-configuration] [promise-nginx-configuration]
< = jinja2-template-base recipe = slapos.cookbook:wrapper
template = {{ parameter_dict['template_wrapper'] }} command-line = ${nginx-configuration:nginx-configuration-verification}
rendered = ${directory:promise}/nginx-configuration-promise wrapper-path = ${directory:promise}/nginx-configuration-promise
mode = 0700
extra-context =
key content nginx-configuration:nginx-configuration-verification
[promise-nginx-frontend-v4-https] [promise-nginx-frontend-v4-https]
recipe = slapos.cookbook:check_port_listening recipe = slapos.cookbook:check_port_listening
......
#!/bin/sh
RUN_DIR={{ directory_run }}
ETC_DIR={{ directory_etc }}
BIN_DIR={{ directory_bin }}
CADDY_SIGNATURE_FILE=$RUN_DIR/caddy_configuration.signature
NCADDY_SIGNATURE_FILE=$RUN_DIR/ncaddy_configuration.signature
touch $CADDY_SIGNATURE_FILE
sha256sum $ETC_DIR/Caddyfile $ETC_DIR/log-access.conf $ETC_DIR/caddy-*.d/*.conf $ETC_DIR/caddy-*.d/ssl/*.*key $ETC_DIR/caddy-*.d/ssl/*.*crt* | sort -k 66 > $NCADDY_SIGNATURE_FILE
# If no diff, no restart for now
if diff "$CADDY_SIGNATURE_FILE" "$NCADDY_SIGNATURE_FILE"; then
echo "Nothing Changed, so nothing to reload"
exit 0
fi
echo "Reloading caddy.."
{{ caddy_graceful_reload_command }}
mv "$NCADDY_SIGNATURE_FILE" "$CADDY_SIGNATURE_FILE"
#!/bin/sh
SIGNATURE_FILE={{ signature_file }}
NSIGNATURE_FILE={{ signature_file }}.tmp
touch $SIGNATURE_FILE
{{ sha256sum }} {{ path_list }} | sort -k 66 > $NSIGNATURE_FILE
# If no diff, no restart for now
if diff "$SIGNATURE_FILE" "$NSIGNATURE_FILE"; then
echo "Nothing changed, so nothing to reload"
exit 0
fi
echo "Reloading.."
{{ graceful_reload_command }}
mv "$NSIGNATURE_FILE" "$SIGNATURE_FILE"
#!/bin/sh
RUN_DIR={{ directory_run }}
ETC_DIR={{ directory_etc }}
BIN_DIR={{ directory_bin }}
NGINX_SIGNATURE_FILE=$RUN_DIR/nginx_configuration.signature
NNGINX_SIGNATURE_FILE=$RUN_DIR/nnginx_configuration.signature
touch $NGINX_SIGNATURE_FILE
sha256sum $ETC_DIR/nginx.cfg $ETC_DIR/nginx-slave-conf.d/*.conf | sort -k 66 > $NNGINX_SIGNATURE_FILE
# If no diff, no restart for now
if diff "$NGINX_SIGNATURE_FILE" "$NNGINX_SIGNATURE_FILE"; then
echo "Nothing Changed, so nothing to reload"
exit 0
fi
echo "Reloading nginx.."
{{ nginx_graceful_reload_command }}
mv "$NNGINX_SIGNATURE_FILE" "$NGINX_SIGNATURE_FILE"
#!/bin/sh
set -e
SIGNATURE_FILE={{ signature_file }}
NSIGNATURE_FILE={{ signature_file }}.tmp
SIGNATURE_STATUS={{ signature_file }}.status
touch $SIGNATURE_FILE
{{ sha256sum }} {{ path_list }} | sort -k 66 > $NSIGNATURE_FILE
if diff "$SIGNATURE_FILE" "$NSIGNATURE_FILE"; then
rm -f "$NSIGNATURE_FILE"
else
mv "$NSIGNATURE_FILE" "$SIGNATURE_FILE"
{{ wrapper }} -validate
echo $? > $SIGNATURE_STATUS
fi
exit `cat $SIGNATURE_STATUS`
TestDuplicateSiteKeyProtection-0/var/run/monitor-httpd.pid TestDuplicateSiteKeyProtection-0/var/run/monitor-httpd.pid
TestDuplicateSiteKeyProtection-0/var/run/monitor/monitor-bootstrap.pid TestDuplicateSiteKeyProtection-0/var/run/monitor/monitor-bootstrap.pid
TestDuplicateSiteKeyProtection-1/var/run/caddy_configuration.signature TestDuplicateSiteKeyProtection-1/var/run/caddy_graceful_signature
TestDuplicateSiteKeyProtection-1/var/run/caddy_graceful_signature.tmp
TestDuplicateSiteKeyProtection-1/var/run/caddy_validate_signature
TestDuplicateSiteKeyProtection-1/var/run/caddy_validate_signature.status
TestDuplicateSiteKeyProtection-1/var/run/httpd.pid TestDuplicateSiteKeyProtection-1/var/run/httpd.pid
TestDuplicateSiteKeyProtection-1/var/run/monitor-httpd.pid TestDuplicateSiteKeyProtection-1/var/run/monitor-httpd.pid
TestDuplicateSiteKeyProtection-1/var/run/monitor/monitor-bootstrap.pid TestDuplicateSiteKeyProtection-1/var/run/monitor/monitor-bootstrap.pid
TestDuplicateSiteKeyProtection-1/var/run/ncaddy_configuration.signature TestDuplicateSiteKeyProtection-1/var/run/nginx.pid
TestDuplicateSiteKeyProtection-1/var/run/nginx.pid TestDuplicateSiteKeyProtection-1/var/run/nginx_graceful_signature
\ No newline at end of file TestDuplicateSiteKeyProtection-1/var/run/nginx_graceful_signature.tmp
TestDuplicateSiteKeyProtection-1/var/run/nginx_validate_signature
TestDuplicateSiteKeyProtection-1/var/run/nginx_validate_signature.status
\ No newline at end of file
TestEnableHttp2ByDefaultDefaultSlave-0/var/run/monitor-httpd.pid TestEnableHttp2ByDefaultDefaultSlave-0/var/run/monitor-httpd.pid
TestEnableHttp2ByDefaultDefaultSlave-0/var/run/monitor/monitor-bootstrap.pid TestEnableHttp2ByDefaultDefaultSlave-0/var/run/monitor/monitor-bootstrap.pid
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/caddy_configuration.signature TestEnableHttp2ByDefaultDefaultSlave-1/var/run/caddy_graceful_signature
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/caddy_graceful_signature.tmp
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/caddy_validate_signature
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/caddy_validate_signature.status
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/httpd.pid TestEnableHttp2ByDefaultDefaultSlave-1/var/run/httpd.pid
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/monitor-httpd.pid TestEnableHttp2ByDefaultDefaultSlave-1/var/run/monitor-httpd.pid
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/monitor/monitor-bootstrap.pid TestEnableHttp2ByDefaultDefaultSlave-1/var/run/monitor/monitor-bootstrap.pid
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/ncaddy_configuration.signature TestEnableHttp2ByDefaultDefaultSlave-1/var/run/nginx.pid
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/nginx.pid TestEnableHttp2ByDefaultDefaultSlave-1/var/run/nginx_graceful_signature
\ No newline at end of file TestEnableHttp2ByDefaultDefaultSlave-1/var/run/nginx_graceful_signature.tmp
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/nginx_validate_signature
TestEnableHttp2ByDefaultDefaultSlave-1/var/run/nginx_validate_signature.status
\ No newline at end of file
TestEnableHttp2ByDefaultFalseSlave-0/var/run/monitor-httpd.pid TestEnableHttp2ByDefaultFalseSlave-0/var/run/monitor-httpd.pid
TestEnableHttp2ByDefaultFalseSlave-0/var/run/monitor/monitor-bootstrap.pid TestEnableHttp2ByDefaultFalseSlave-0/var/run/monitor/monitor-bootstrap.pid
TestEnableHttp2ByDefaultFalseSlave-1/var/run/caddy_configuration.signature TestEnableHttp2ByDefaultFalseSlave-1/var/run/caddy_graceful_signature
TestEnableHttp2ByDefaultFalseSlave-1/var/run/caddy_graceful_signature.tmp
TestEnableHttp2ByDefaultFalseSlave-1/var/run/caddy_validate_signature
TestEnableHttp2ByDefaultFalseSlave-1/var/run/caddy_validate_signature.status
TestEnableHttp2ByDefaultFalseSlave-1/var/run/httpd.pid TestEnableHttp2ByDefaultFalseSlave-1/var/run/httpd.pid
TestEnableHttp2ByDefaultFalseSlave-1/var/run/monitor-httpd.pid TestEnableHttp2ByDefaultFalseSlave-1/var/run/monitor-httpd.pid
TestEnableHttp2ByDefaultFalseSlave-1/var/run/monitor/monitor-bootstrap.pid TestEnableHttp2ByDefaultFalseSlave-1/var/run/monitor/monitor-bootstrap.pid
TestEnableHttp2ByDefaultFalseSlave-1/var/run/ncaddy_configuration.signature TestEnableHttp2ByDefaultFalseSlave-1/var/run/nginx.pid
TestEnableHttp2ByDefaultFalseSlave-1/var/run/nginx.pid TestEnableHttp2ByDefaultFalseSlave-1/var/run/nginx_graceful_signature
\ No newline at end of file TestEnableHttp2ByDefaultFalseSlave-1/var/run/nginx_graceful_signature.tmp
TestEnableHttp2ByDefaultFalseSlave-1/var/run/nginx_validate_signature
TestEnableHttp2ByDefaultFalseSlave-1/var/run/nginx_validate_signature.status
\ No newline at end of file
TestMalformedBackenUrlSlave-0/var/run/monitor-httpd.pid TestMalformedBackenUrlSlave-0/var/run/monitor-httpd.pid
TestMalformedBackenUrlSlave-0/var/run/monitor/monitor-bootstrap.pid TestMalformedBackenUrlSlave-0/var/run/monitor/monitor-bootstrap.pid
TestMalformedBackenUrlSlave-1/var/run/caddy_configuration.signature TestMalformedBackenUrlSlave-1/var/run/caddy_graceful_signature
TestMalformedBackenUrlSlave-1/var/run/caddy_graceful_signature.tmp
TestMalformedBackenUrlSlave-1/var/run/caddy_validate_signature
TestMalformedBackenUrlSlave-1/var/run/caddy_validate_signature.status
TestMalformedBackenUrlSlave-1/var/run/httpd.pid TestMalformedBackenUrlSlave-1/var/run/httpd.pid
TestMalformedBackenUrlSlave-1/var/run/monitor-httpd.pid TestMalformedBackenUrlSlave-1/var/run/monitor-httpd.pid
TestMalformedBackenUrlSlave-1/var/run/monitor/monitor-bootstrap.pid TestMalformedBackenUrlSlave-1/var/run/monitor/monitor-bootstrap.pid
TestMalformedBackenUrlSlave-1/var/run/ncaddy_configuration.signature
TestMalformedBackenUrlSlave-1/var/run/nginx.pid TestMalformedBackenUrlSlave-1/var/run/nginx.pid
TestMalformedBackenUrlSlave-1/var/run/nginx_graceful_signature
TestMalformedBackenUrlSlave-1/var/run/nginx_graceful_signature.tmp
TestMalformedBackenUrlSlave-1/var/run/nginx_validate_signature
TestMalformedBackenUrlSlave-1/var/run/nginx_validate_signature.status
\ No newline at end of file
TestQuicEnabled-0/var/run/monitor-httpd.pid TestQuicEnabled-0/var/run/monitor-httpd.pid
TestQuicEnabled-0/var/run/monitor/monitor-bootstrap.pid TestQuicEnabled-0/var/run/monitor/monitor-bootstrap.pid
TestQuicEnabled-1/var/run/caddy_configuration.signature TestQuicEnabled-1/var/run/caddy_graceful_signature
TestQuicEnabled-1/var/run/caddy_graceful_signature.tmp
TestQuicEnabled-1/var/run/caddy_validate_signature
TestQuicEnabled-1/var/run/caddy_validate_signature.status
TestQuicEnabled-1/var/run/httpd.pid TestQuicEnabled-1/var/run/httpd.pid
TestQuicEnabled-1/var/run/monitor-httpd.pid TestQuicEnabled-1/var/run/monitor-httpd.pid
TestQuicEnabled-1/var/run/monitor/monitor-bootstrap.pid TestQuicEnabled-1/var/run/monitor/monitor-bootstrap.pid
TestQuicEnabled-1/var/run/ncaddy_configuration.signature TestQuicEnabled-1/var/run/nginx.pid
TestQuicEnabled-1/var/run/nginx.pid TestQuicEnabled-1/var/run/nginx_graceful_signature
\ No newline at end of file TestQuicEnabled-1/var/run/nginx_graceful_signature.tmp
TestQuicEnabled-1/var/run/nginx_validate_signature
TestQuicEnabled-1/var/run/nginx_validate_signature.status
\ No newline at end of file
TestRe6stVerificationUrlDefaultSlave-0/var/run/monitor-httpd.pid TestRe6stVerificationUrlDefaultSlave-0/var/run/monitor-httpd.pid
TestRe6stVerificationUrlDefaultSlave-0/var/run/monitor/monitor-bootstrap.pid TestRe6stVerificationUrlDefaultSlave-0/var/run/monitor/monitor-bootstrap.pid
TestRe6stVerificationUrlDefaultSlave-1/var/run/caddy_configuration.signature TestRe6stVerificationUrlDefaultSlave-1/var/run/caddy_graceful_signature
TestRe6stVerificationUrlDefaultSlave-1/var/run/caddy_graceful_signature.tmp
TestRe6stVerificationUrlDefaultSlave-1/var/run/caddy_validate_signature
TestRe6stVerificationUrlDefaultSlave-1/var/run/httpd.pid TestRe6stVerificationUrlDefaultSlave-1/var/run/httpd.pid
TestRe6stVerificationUrlDefaultSlave-1/var/run/monitor-httpd.pid TestRe6stVerificationUrlDefaultSlave-1/var/run/monitor-httpd.pid
TestRe6stVerificationUrlDefaultSlave-1/var/run/monitor/monitor-bootstrap.pid TestRe6stVerificationUrlDefaultSlave-1/var/run/monitor/monitor-bootstrap.pid
TestRe6stVerificationUrlDefaultSlave-1/var/run/ncaddy_configuration.signature TestRe6stVerificationUrlDefaultSlave-1/var/run/nginx.pid
TestRe6stVerificationUrlDefaultSlave-1/var/run/nginx.pid TestRe6stVerificationUrlDefaultSlave-1/var/run/nginx_graceful_signature
\ No newline at end of file TestRe6stVerificationUrlDefaultSlave-1/var/run/nginx_graceful_signature.tmp
TestRe6stVerificationUrlDefaultSlave-1/var/run/nginx_validate_signature
\ No newline at end of file
TestRe6stVerificationUrlSlave-0/var/run/monitor-httpd.pid TestRe6stVerificationUrlSlave-0/var/run/monitor-httpd.pid
TestRe6stVerificationUrlSlave-0/var/run/monitor/monitor-bootstrap.pid TestRe6stVerificationUrlSlave-0/var/run/monitor/monitor-bootstrap.pid
TestRe6stVerificationUrlSlave-1/var/run/caddy_configuration.signature TestRe6stVerificationUrlSlave-1/var/run/caddy_graceful_signature
TestRe6stVerificationUrlSlave-1/var/run/caddy_graceful_signature.tmp
TestRe6stVerificationUrlSlave-1/var/run/caddy_validate_signature
TestRe6stVerificationUrlSlave-1/var/run/httpd.pid TestRe6stVerificationUrlSlave-1/var/run/httpd.pid
TestRe6stVerificationUrlSlave-1/var/run/monitor-httpd.pid TestRe6stVerificationUrlSlave-1/var/run/monitor-httpd.pid
TestRe6stVerificationUrlSlave-1/var/run/monitor/monitor-bootstrap.pid TestRe6stVerificationUrlSlave-1/var/run/monitor/monitor-bootstrap.pid
TestRe6stVerificationUrlSlave-1/var/run/ncaddy_configuration.signature TestRe6stVerificationUrlSlave-1/var/run/nginx.pid
TestRe6stVerificationUrlSlave-1/var/run/nginx.pid TestRe6stVerificationUrlSlave-1/var/run/nginx_graceful_signature
\ No newline at end of file TestRe6stVerificationUrlSlave-1/var/run/nginx_graceful_signature.tmp
TestRe6stVerificationUrlSlave-1/var/run/nginx_validate_signature
\ No newline at end of file
TestReplicateSlave-0/var/run/monitor-httpd.pid TestReplicateSlave-0/var/run/monitor-httpd.pid
TestReplicateSlave-0/var/run/monitor/monitor-bootstrap.pid TestReplicateSlave-0/var/run/monitor/monitor-bootstrap.pid
TestReplicateSlave-1/var/run/caddy_configuration.signature TestReplicateSlave-1/var/run/caddy_graceful_signature
TestReplicateSlave-1/var/run/caddy_graceful_signature.tmp
TestReplicateSlave-1/var/run/caddy_validate_signature
TestReplicateSlave-1/var/run/caddy_validate_signature.status
TestReplicateSlave-1/var/run/httpd.pid TestReplicateSlave-1/var/run/httpd.pid
TestReplicateSlave-1/var/run/monitor-httpd.pid TestReplicateSlave-1/var/run/monitor-httpd.pid
TestReplicateSlave-1/var/run/monitor/monitor-bootstrap.pid TestReplicateSlave-1/var/run/monitor/monitor-bootstrap.pid
TestReplicateSlave-1/var/run/ncaddy_configuration.signature TestReplicateSlave-1/var/run/nginx.pid
TestReplicateSlave-1/var/run/nginx.pid TestReplicateSlave-1/var/run/nginx_graceful_signature
\ No newline at end of file TestReplicateSlave-1/var/run/nginx_graceful_signature.tmp
TestReplicateSlave-1/var/run/nginx_validate_signature
TestReplicateSlave-1/var/run/nginx_validate_signature.status
\ No newline at end of file
TestSlave-0/var/run/monitor-httpd.pid TestSlave-0/var/run/monitor-httpd.pid
TestSlave-0/var/run/monitor/monitor-bootstrap.pid TestSlave-0/var/run/monitor/monitor-bootstrap.pid
TestSlave-1/var/run/caddy_configuration.signature TestSlave-1/var/run/caddy_graceful_signature
TestSlave-1/var/run/caddy_graceful_signature.tmp
TestSlave-1/var/run/caddy_validate_signature
TestSlave-1/var/run/caddy_validate_signature.status
TestSlave-1/var/run/httpd.pid TestSlave-1/var/run/httpd.pid
TestSlave-1/var/run/monitor-httpd.pid TestSlave-1/var/run/monitor-httpd.pid
TestSlave-1/var/run/monitor/monitor-bootstrap.pid TestSlave-1/var/run/monitor/monitor-bootstrap.pid
TestSlave-1/var/run/ncaddy_configuration.signature TestSlave-1/var/run/nginx.pid
TestSlave-1/var/run/nginx.pid TestSlave-1/var/run/nginx_graceful_signature
\ No newline at end of file TestSlave-1/var/run/nginx_graceful_signature.tmp
TestSlave-1/var/run/nginx_validate_signature
TestSlave-1/var/run/nginx_validate_signature.status
\ No newline at end of file
TestSlaveBadParameters-0/var/run/monitor-httpd.pid TestSlaveBadParameters-0/var/run/monitor-httpd.pid
TestSlaveBadParameters-0/var/run/monitor/monitor-bootstrap.pid TestSlaveBadParameters-0/var/run/monitor/monitor-bootstrap.pid
TestSlaveBadParameters-1/var/run/caddy_configuration.signature TestSlaveBadParameters-1/var/run/caddy_graceful_signature
TestSlaveBadParameters-1/var/run/caddy_graceful_signature.tmp
TestSlaveBadParameters-1/var/run/caddy_validate_signature
TestSlaveBadParameters-1/var/run/caddy_validate_signature.status
TestSlaveBadParameters-1/var/run/httpd.pid TestSlaveBadParameters-1/var/run/httpd.pid
TestSlaveBadParameters-1/var/run/monitor-httpd.pid TestSlaveBadParameters-1/var/run/monitor-httpd.pid
TestSlaveBadParameters-1/var/run/monitor/monitor-bootstrap.pid TestSlaveBadParameters-1/var/run/monitor/monitor-bootstrap.pid
TestSlaveBadParameters-1/var/run/ncaddy_configuration.signature TestSlaveBadParameters-1/var/run/nginx.pid
TestSlaveBadParameters-1/var/run/nginx.pid TestSlaveBadParameters-1/var/run/nginx_graceful_signature
\ No newline at end of file TestSlaveBadParameters-1/var/run/nginx_graceful_signature.tmp
TestSlaveBadParameters-1/var/run/nginx_validate_signature
TestSlaveBadParameters-1/var/run/nginx_validate_signature.status
\ No newline at end of file
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