Files
computer-playbook/scripts/tests/workspace/compose/02_performance.sh
T
kevinveenbirkenbachandClaude Opus 5 b40aa731fb fix(workspace): resolve the stack URLs when a step needs them, not on source
769163ca7 computed DASHBOARD_URL and MATOMO_URL from INFINITO_DOMAIN
right after load_repo_env in common.sh. The orchestrator sources
common.sh inside the bare runtime image before Python is installed,
where load_repo_env returns without loading the env, so the guard
aborted the debian, ubuntu and fedora workspace jobs before their first
step.

common.sh now offers stack_url, which reads INFINITO_DOMAIN when it is
called. The compose steps resolve their URLs in plain assignments after
their own source of common.sh, so a missing domain still aborts the step
instead of handing an empty URL to an assertion that expects 000.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 00:11:38 +02:00

26 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Deploy on performance hardware — deploy the full set of applications.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=scripts/tests/workspace/utils/common.sh
source "${SCRIPT_DIR}/../utils/common.sh"
echo "Deploying matomo (full cycle: deploy + update pass) so it becomes reachable via its dedicated inventory entry."
# Exception: the onion provider has to stay out. svc-net-tor is exclusive, so once it joins the groups matomo is served onion-only, loses its clearnet vhost, and the assertion below aborts in TLS before HTTP.
make compose-deploy mode=reinstall apps="${MATOMO_APP}" full_cycle=true disable=tor
inspect
echo "Re-trusting the CA after the fresh deploy rebuilt the certificates."
make network-trust-ca
matomo_url="$(stack_url matomo)"
dashboard_url="$(stack_url dashboard)"
echo "Verifying matomo is now reachable after its dedicated deploy."
assert_http_status 200 "${matomo_url}"
echo "Verifying the dashboard is no longer reachable after the matomo-only fresh deploy."
# Exception: Expect 000 because curl aborts in TLS before HTTP when the removed hostname is missing from the certificate SANs.
assert_http_status 000 "${dashboard_url}"