- vaultwarden/server:1.37.1 -> 1.37.2 (required for Bitwarden clients 2026.8.0+) - compose probe: flag only active services (config --services) so debug-profile pgweb 'Exited' no longer false-positives - runner: build aggregate args line-by-line (robust vs Jinja trim_blocks) - SMTP AUTH probe moved host-side (vaultwarden image has no python3); never prints the SMTP password - us2 facts: probe refresh 2026-08-29, image/version, vps-health install
25 lines
1.1 KiB
Django/Jinja
25 lines
1.1 KiB
Django/Jinja
#!/usr/bin/env bash
|
|
set -o pipefail
|
|
source '{{ healthcheck_install_root }}/health-common.sh'
|
|
# Run every enabled health-check profile, exit with the worst (max) code, and
|
|
# merge the per-check results into /var/lib/vps-health/latest.json.
|
|
rc=0
|
|
# Drop per-check results from any prior run so a profile that crashes before
|
|
# reporting cannot leak a stale healthy result into the aggregate.
|
|
{% for profile in healthcheck_profiles %}
|
|
rm -f '{{ healthcheck_state_dir }}/latest-{{ healthcheck_profile_scripts[profile] | replace('.sh', '') }}.json'
|
|
{% endfor %}
|
|
{% for profile in healthcheck_profiles %}
|
|
'{{ healthcheck_install_root }}/{{ healthcheck_profile_scripts[profile] }}' 2>&1 | tee -a '{{ healthcheck_log_dir }}/healthcheck.log'
|
|
this_rc="${PIPESTATUS[0]}"
|
|
[ "$this_rc" -gt "$rc" ] && rc="$this_rc"
|
|
{% endfor %}
|
|
# Collect profile check names line-by-line (robust against Jinja trim_blocks
|
|
# whitespace control, which would otherwise merge this into one line).
|
|
aggregate_args=""
|
|
{% for profile in healthcheck_profiles %}
|
|
aggregate_args="$aggregate_args {{ healthcheck_profile_scripts[profile] | replace('.sh', '') }}"
|
|
{% endfor %}
|
|
aggregate_result $aggregate_args
|
|
exit "$rc"
|