refactor(cli): rename operator command to tht
This commit is contained in:
@@ -768,7 +768,7 @@ verify_local_guide() {
|
||||
"Clone and verify LF" \
|
||||
"Create the local operator files" \
|
||||
"Address external services" \
|
||||
"Build ThothII and thothctl" \
|
||||
"Build ThothII and tht" \
|
||||
"Start and verify" \
|
||||
"Update an installation" \
|
||||
"Back up and restore" \
|
||||
@@ -783,8 +783,8 @@ verify_local_guide() {
|
||||
"container 127.0.0.1" \
|
||||
"bash scripts/build-local.sh" \
|
||||
"scripts/build-local.ps1" \
|
||||
"bash scripts/build-thothctl.sh" \
|
||||
"thothctl --installation" \
|
||||
"bash scripts/build-tht.sh" \
|
||||
"tht --installation" \
|
||||
"curl --fail http://127.0.0.1:8080/health" \
|
||||
"http://127.0.0.1:8080" \
|
||||
"git pull --ff-only" \
|
||||
@@ -856,8 +856,8 @@ requirePattern("POSIX source update does not fail closed: Pi status", updateShel
|
||||
/if ! RUNNING_PI_VERSION="\$\("\$THTCTL" --installation "\$INSTALLATION" pi status\)"; then/);
|
||||
requirePattern("POSIX source update does not fail closed: local build", updateShell,
|
||||
/if ! bash scripts\/build-local\.sh; then/);
|
||||
requirePattern("POSIX source update does not fail closed: thothctl build", updateShell,
|
||||
/if ! bash scripts\/build-thothctl\.sh; then/);
|
||||
requirePattern("POSIX source update does not fail closed: tht build", updateShell,
|
||||
/if ! bash scripts\/build-tht\.sh; then/);
|
||||
requirePattern("POSIX source update lacks the same-version/no-selector path", updateShell,
|
||||
/if \[\[ "\$NEXT_PI_VERSION" == "\$RUNNING_PI_VERSION" \]\]; then[\s\S]*"\$USES_BASE_CORE" == true[\s\S]*TRANSACTIONAL_PI_UPDATE=false/);
|
||||
for (const [label, pattern] of [
|
||||
@@ -886,7 +886,7 @@ for (const [command, step] of [
|
||||
["$InstallationStatus = @(& $THTCTL --installation $INSTALLATION status)", "installation status"],
|
||||
["$RunningPiStatus = (& $THTCTL --installation $INSTALLATION pi status)", "Pi status"],
|
||||
["powershell -ExecutionPolicy Bypass -File scripts/build-local.ps1", "local image build"],
|
||||
["& \"C:\\Program Files\\Git\\bin\\bash.exe\" scripts/build-thothctl.sh", "thothctl build"],
|
||||
["& \"C:\\Program Files\\Git\\bin\\bash.exe\" scripts/build-tht.sh", "tht build"],
|
||||
["curl.exe --fail --silent --show-error http://127.0.0.1:8080/health", "frontend health check"],
|
||||
["curl.exe --fail --silent --show-error http://127.0.0.1:8787/health", "core health check"],
|
||||
["$FinalPiStatus = (& $THTCTL --installation $INSTALLATION pi status)", "final Pi status"],
|
||||
@@ -942,18 +942,18 @@ NODE
|
||||
'exit 0' >"$update_fixture/bin/bash"
|
||||
printf '%s\n' \
|
||||
'#!/bin/sh' \
|
||||
'printf "thothctl %s\n" "$*" >>"$CALLS"' \
|
||||
'printf "tht %s\n" "$*" >>"$CALLS"' \
|
||||
'case " $* " in' \
|
||||
' *" pi status "*) [ "$FAIL_STEP" != status ] || exit 7; printf "Pi version: 0.80.3\n" ;;' \
|
||||
' *" status "*) printf "[{\"Service\":\"core\",\"Image\":\"thothii-core:local\"}]\n" ;;' \
|
||||
'esac' \
|
||||
'exit 0' >"$update_fixture/bin/thothctl"
|
||||
'exit 0' >"$update_fixture/bin/tht"
|
||||
printf '%s\n' \
|
||||
'#!/bin/sh' \
|
||||
'printf "curl %s\n" "$*" >>"$CALLS"' \
|
||||
'exit 0' >"$update_fixture/bin/curl"
|
||||
chmod 0700 "$update_fixture/bin/git" "$update_fixture/bin/bash" \
|
||||
"$update_fixture/bin/thothctl" "$update_fixture/bin/curl"
|
||||
"$update_fixture/bin/tht" "$update_fixture/bin/curl"
|
||||
|
||||
for fixture_step in clean dirty pull status build; do
|
||||
calls="$update_fixture/calls-$fixture_step"
|
||||
@@ -963,7 +963,7 @@ NODE
|
||||
(
|
||||
cd "$update_fixture/project"
|
||||
env PATH="$update_fixture/bin:$PATH" CALLS="$calls" FAIL_STEP="$fixture_step" \
|
||||
THTCTL="$update_fixture/bin/thothctl" INSTALLATION="$update_fixture/installation.yaml" \
|
||||
THTCTL="$update_fixture/bin/tht" INSTALLATION="$update_fixture/installation.yaml" \
|
||||
/bin/bash "$update_script"
|
||||
) >"$output" 2>&1
|
||||
status=$?
|
||||
@@ -978,7 +978,7 @@ NODE
|
||||
return 1
|
||||
fi
|
||||
grep -Fq 'bash scripts/build-local.sh' "$calls" || return 1
|
||||
grep -Fq 'thothctl --installation ' "$calls" || return 1
|
||||
grep -Fq 'tht --installation ' "$calls" || return 1
|
||||
else
|
||||
[[ $status -ne 0 ]] || { echo "$fixture_step source failure fixture was accepted" >&2; return 1; }
|
||||
if grep -Fq 'Built source revision:' "$output"; then
|
||||
@@ -1131,13 +1131,13 @@ NODE
|
||||
|
||||
verify_pi_management_guide() {
|
||||
local guide="$root/docs/install/pi-management.md"
|
||||
local lifecycle_contract="$root/docs/contracts/thothctl-pi.md"
|
||||
local lifecycle_contract="$root/docs/contracts/tht-pi.md"
|
||||
[[ -f "$guide" ]] || {
|
||||
echo "missing Pi management guide: docs/install/pi-management.md" >&2
|
||||
return 1
|
||||
}
|
||||
[[ -f "$lifecycle_contract" ]] || {
|
||||
echo "missing Pi lifecycle contract: docs/contracts/thothctl-pi.md" >&2
|
||||
echo "missing Pi lifecycle contract: docs/contracts/tht-pi.md" >&2
|
||||
return 1
|
||||
}
|
||||
require_text "$lifecycle_contract" "Pi lifecycle contract" \
|
||||
@@ -1192,7 +1192,7 @@ const marker = "## Direct support access";
|
||||
const start = source.indexOf(marker);
|
||||
const support = start < 0 ? "" : source.slice(start, source.indexOf("\n## ", start + marker.length) < 0
|
||||
? source.length : source.indexOf("\n## ", start + marker.length));
|
||||
for (const token of ["unsupported", "thothctl", "pi status", "pi doctor", "pi test", "pi logs"]) {
|
||||
for (const token of ["unsupported", "tht", "pi status", "pi doctor", "pi test", "pi logs"]) {
|
||||
if (!support.toLowerCase().includes(token.toLowerCase())) {
|
||||
throw new Error(`direct support section lacks installation-aware diagnostic: ${token}`);
|
||||
}
|
||||
@@ -1214,7 +1214,7 @@ verify_server_guide() {
|
||||
"Address co-resident external services" \
|
||||
"Prepare operator files and secrets" \
|
||||
"Build locally or select pinned images" \
|
||||
"Install thothctl" \
|
||||
"Install tht" \
|
||||
"Start and verify readiness" \
|
||||
"Configure TLS and upstream authentication" \
|
||||
"Operate Pi, drain, and roll back" \
|
||||
@@ -1228,7 +1228,7 @@ verify_server_guide() {
|
||||
"thothii-ops" \
|
||||
"-m 2770 /srv/thothii/operator" \
|
||||
"chmod 0660 /srv/thothii/operator/server.env" \
|
||||
"THT_THOTHCTL_OUTPUT_DIRECTORY=/srv/thothii/operator/build-output" \
|
||||
"THT_THT_OUTPUT_DIRECTORY=/srv/thothii/operator/build-output" \
|
||||
"/srv/thothii" \
|
||||
"example operator root" \
|
||||
"/run/secrets" \
|
||||
@@ -1243,8 +1243,8 @@ verify_server_guide() {
|
||||
"embedding" \
|
||||
"bash scripts/build-local.sh" \
|
||||
"@sha256:" \
|
||||
"bash scripts/build-thothctl.sh" \
|
||||
"thothctl --installation" \
|
||||
"bash scripts/build-tht.sh" \
|
||||
"tht --installation" \
|
||||
"sessions migrate --yes" \
|
||||
'"pending":[]' \
|
||||
'"drifted":[]' \
|
||||
@@ -1325,7 +1325,7 @@ if (/session-migrate:[\s\S]{0,180}image:\s*thothii-core:local/.test(source) &&
|
||||
throw new Error("server pinned migration image must equal the pinned core image");
|
||||
}
|
||||
if (/```(?:sh|bash)\n[\s\S]*?\bdocker compose\s+(?:up|stop|down|restart|pull|build)\b[\s\S]*?```/i.test(source)) {
|
||||
throw new Error("server lifecycle must use thothctl, not raw Docker Compose");
|
||||
throw new Error("server lifecycle must use tht, not raw Docker Compose");
|
||||
}
|
||||
NODE
|
||||
echo "server installation guide contract passed"
|
||||
@@ -1735,7 +1735,7 @@ verify_manual() {
|
||||
)
|
||||
else
|
||||
expected_steps=(
|
||||
'THTCTL=/srv/thothii/operator/thothctl'
|
||||
'THTCTL=/srv/thothii/operator/tht'
|
||||
'INSTALLATION=/srv/thothii/operator/thothii-installation.yaml'
|
||||
'"$THTCTL" --installation "$INSTALLATION" start'
|
||||
'"$THTCTL" --installation "$INSTALLATION" doctor'
|
||||
|
||||
Reference in New Issue
Block a user