mirror of
https://github.com/moltbot/moltbot.git
synced 2026-04-29 09:41:08 +00:00
fix: harden live docker auth harness
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
OPENCLAW_DOCKER_LIVE_AUTH_ALL=(.claude .codex .minimax)
|
||||
OPENCLAW_DOCKER_LIVE_AUTH_FILES_ALL=(.claude.json)
|
||||
|
||||
openclaw_live_trim() {
|
||||
local value="${1:-}"
|
||||
@@ -33,21 +34,26 @@ openclaw_live_should_include_auth_dir_for_provider() {
|
||||
esac
|
||||
}
|
||||
|
||||
openclaw_live_should_include_auth_file_for_provider() {
|
||||
local provider
|
||||
provider="$(openclaw_live_trim "${1:-}")"
|
||||
case "$provider" in
|
||||
anthropic | claude-cli)
|
||||
printf '%s\n' ".claude.json"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
openclaw_live_collect_auth_dirs_from_csv() {
|
||||
local raw="${1:-}"
|
||||
local token normalized
|
||||
local -A seen=()
|
||||
[[ -n "$(openclaw_live_trim "$raw")" ]] || return 0
|
||||
IFS=',' read -r -a tokens <<<"$raw"
|
||||
for token in "${tokens[@]}"; do
|
||||
while IFS= read -r normalized; do
|
||||
[[ -n "$normalized" ]] || continue
|
||||
if [[ -z "${seen[$normalized]:-}" ]]; then
|
||||
printf '%s\n' "$normalized"
|
||||
seen[$normalized]=1
|
||||
fi
|
||||
printf '%s\n' "$normalized"
|
||||
done < <(openclaw_live_should_include_auth_dir_for_provider "$token")
|
||||
done
|
||||
done | awk 'NF && !seen[$0]++'
|
||||
}
|
||||
|
||||
openclaw_live_collect_auth_dirs_from_override() {
|
||||
@@ -78,6 +84,41 @@ openclaw_live_collect_auth_dirs() {
|
||||
printf '%s\n' "${OPENCLAW_DOCKER_LIVE_AUTH_ALL[@]}"
|
||||
}
|
||||
|
||||
openclaw_live_collect_auth_files_from_csv() {
|
||||
local raw="${1:-}"
|
||||
local token normalized
|
||||
[[ -n "$(openclaw_live_trim "$raw")" ]] || return 0
|
||||
IFS=',' read -r -a tokens <<<"$raw"
|
||||
for token in "${tokens[@]}"; do
|
||||
while IFS= read -r normalized; do
|
||||
printf '%s\n' "$normalized"
|
||||
done < <(openclaw_live_should_include_auth_file_for_provider "$token")
|
||||
done | awk 'NF && !seen[$0]++'
|
||||
}
|
||||
|
||||
openclaw_live_collect_auth_files_from_override() {
|
||||
local raw
|
||||
raw="$(openclaw_live_trim "${OPENCLAW_DOCKER_AUTH_DIRS:-}")"
|
||||
[[ -n "$raw" ]] || return 1
|
||||
case "$raw" in
|
||||
all)
|
||||
printf '%s\n' "${OPENCLAW_DOCKER_LIVE_AUTH_FILES_ALL[@]}"
|
||||
return 0
|
||||
;;
|
||||
none)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
}
|
||||
|
||||
openclaw_live_collect_auth_files() {
|
||||
if openclaw_live_collect_auth_files_from_override; then
|
||||
return 0
|
||||
fi
|
||||
printf '%s\n' "${OPENCLAW_DOCKER_LIVE_AUTH_FILES_ALL[@]}"
|
||||
}
|
||||
|
||||
openclaw_live_join_csv() {
|
||||
local first=1 value
|
||||
for value in "$@"; do
|
||||
|
||||
Reference in New Issue
Block a user