self tests
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
# written into ctrl/.env, so it becomes pinned, visible and editable rather than
|
||||
# a number that appears from nowhere. Anything already in ctrl/.env wins.
|
||||
#
|
||||
# Usage: ports.sh show | derive | persist
|
||||
# Usage: ports.sh show | active | derive | persist
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
@@ -38,6 +38,33 @@ derive() {
|
||||
DERIVED_REGISTRY=$((base + 3))
|
||||
}
|
||||
|
||||
# The resolved facts a consumer outside bash needs, machine-readable:
|
||||
#
|
||||
# CLUSTER KUBECONTEXT HTTP HTTPS TILT REGISTRY MANIFESTS_DIR
|
||||
#
|
||||
# Identity and ports together, because they are one fact set — the header above
|
||||
# says so: both derive from the directory name so that copies never collide. A
|
||||
# consumer needs all of them or none, and fetching them separately is how two
|
||||
# end up disagreeing. MANIFESTS_DIR rides along because the one consumer that
|
||||
# needs the addressing is the one that needs to know what to deploy.
|
||||
#
|
||||
# Space-separated, so MANIFESTS_DIR must not contain spaces. Everything else in
|
||||
# rig already assumes that of paths — kind, docker and kubectl all do.
|
||||
#
|
||||
# `derive` answers a DIFFERENT question — what the directory name alone implies
|
||||
# — and deliberately ignores ctrl/.env. Configuring anything from it would
|
||||
# silently contradict this file's own rule that "anything already in ctrl/.env
|
||||
# wins". `active` is what anything downstream should read.
|
||||
#
|
||||
# Why this exists at all: the cluster name is not the bare directory name.
|
||||
# default_cluster_name() lowercases it and replaces every character outside
|
||||
# [a-z0-9-], because it has to be a DNS label. Re-deriving that in another
|
||||
# language is how a copy in `My_Project/` ends up guarding the wrong context.
|
||||
active() {
|
||||
load_config
|
||||
echo "$CLUSTER $KUBECONTEXT $HTTP_PORT $HTTPS_PORT $TILT_PORT $REGISTRY_PORT $MANIFESTS_DIR"
|
||||
}
|
||||
|
||||
show() {
|
||||
derive
|
||||
echo "environment $CLUSTER"
|
||||
@@ -98,6 +125,7 @@ persist() {
|
||||
case "${1:-show}" in
|
||||
show) show ;;
|
||||
derive) derive; echo "$DERIVED_HTTP $DERIVED_HTTPS $DERIVED_TILT $DERIVED_REGISTRY" ;;
|
||||
active) active ;;
|
||||
persist) persist ;;
|
||||
*) echo "usage: $0 [show|derive|persist]" >&2; exit 1 ;;
|
||||
*) echo "usage: $0 [show|active|derive|persist]" >&2; exit 1 ;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user