release: 0.2.2
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ENV_FILE="${ENV_FILE:-/etc/skd/env}"
|
||||
UPDATE_ENV_FILE="${UPDATE_ENV_FILE:-/etc/skd/update.env}"
|
||||
ADDON_ENV_FILE="${ADDON_ENV_FILE:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/update-addon.env}"
|
||||
PROFILE="${PROFILE:-dev}"
|
||||
SERVICE_URL="${SKD_UPDATE_SERVICE_URL:-}"
|
||||
PROJECT_ID="${SKD_UPDATE_PROJECT_ID:-}"
|
||||
TOKEN_FILE="${SKD_UPDATE_TOKEN_FILE:-}"
|
||||
@ -16,13 +16,13 @@ usage() {
|
||||
Usage: enroll_update_service.sh --enroll-token TOKEN [options]
|
||||
|
||||
Options:
|
||||
--service-url URL Update-Service URL (default: SKD_UPDATE_SERVICE_URL)
|
||||
--project-id ID Project ID (default: SKD_UPDATE_PROJECT_ID)
|
||||
--service-url URL Update-Service URL (overrides env)
|
||||
--project-id ID Project ID (overrides env)
|
||||
--client-id ID Client ID (default: hostname)
|
||||
--software-id ID Software ID (default: safe-kiddo)
|
||||
--output PATH Write token to PATH (default: SKD_UPDATE_TOKEN_FILE if set)
|
||||
--env-file PATH Read core env file (default: /etc/skd/env)
|
||||
--update-env PATH Read update env file (default: /etc/skd/update.env)
|
||||
--output PATH Write token to PATH (overrides env)
|
||||
--profile NAME Environment profile: dev|stage|prod (default: dev)
|
||||
--addon-env PATH Addon env file (default: ./update-addon.env)
|
||||
-h, --help Show this help
|
||||
EOF
|
||||
}
|
||||
@ -35,8 +35,8 @@ while [[ $# -gt 0 ]]; do
|
||||
--software-id) SOFTWARE_ID="$2"; shift 2 ;;
|
||||
--enroll-token) ENROLL_TOKEN="$2"; shift 2 ;;
|
||||
--output) OUTPUT_PATH="$2"; shift 2 ;;
|
||||
--env-file) ENV_FILE="$2"; shift 2 ;;
|
||||
--update-env) UPDATE_ENV_FILE="$2"; shift 2 ;;
|
||||
--profile) PROFILE="$2"; shift 2 ;;
|
||||
--addon-env) ADDON_ENV_FILE="$2"; shift 2 ;;
|
||||
-h|--help) usage; exit 0 ;;
|
||||
*) echo "Unknown option: $1" >&2; usage; exit 1 ;;
|
||||
esac
|
||||
@ -44,16 +44,20 @@ done
|
||||
|
||||
read_env_value() {
|
||||
local key="$1"
|
||||
python3 - <<'PY' "${ENV_FILE}" "${UPDATE_ENV_FILE}" "${key}"
|
||||
python3 - <<'PY' "${ADDON_ENV_FILE}" "${key}"
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
env_paths = [Path(sys.argv[1]), Path(sys.argv[2])]
|
||||
key = sys.argv[3]
|
||||
env_paths = [Path(sys.argv[1])]
|
||||
key = sys.argv[2]
|
||||
for path in env_paths:
|
||||
if not path.exists():
|
||||
continue
|
||||
for raw in path.read_text(encoding="utf-8").splitlines():
|
||||
try:
|
||||
lines = path.read_text(encoding="utf-8").splitlines()
|
||||
except OSError:
|
||||
continue
|
||||
for raw in lines:
|
||||
line = raw.strip()
|
||||
if not line or line.startswith("#"):
|
||||
continue
|
||||
@ -67,9 +71,10 @@ for path in env_paths:
|
||||
PY
|
||||
}
|
||||
|
||||
SERVICE_URL="${SERVICE_URL:-$(read_env_value SKD_UPDATE_SERVICE_URL)}"
|
||||
PROJECT_ID="${PROJECT_ID:-$(read_env_value SKD_UPDATE_PROJECT_ID)}"
|
||||
TOKEN_FILE="${OUTPUT_PATH:-${TOKEN_FILE:-$(read_env_value SKD_UPDATE_TOKEN_FILE)}}"
|
||||
PROFILE_UPPER="$(printf '%s' "${PROFILE}" | tr '[:lower:]' '[:upper:]')"
|
||||
SERVICE_URL="${SERVICE_URL:-$(read_env_value "${PROFILE_UPPER}_UPDATE_SERVICE_URL")}"
|
||||
PROJECT_ID="${PROJECT_ID:-$(read_env_value "${PROFILE_UPPER}_UPDATE_PROJECT_ID")}"
|
||||
TOKEN_FILE="${OUTPUT_PATH:-${TOKEN_FILE:-$(read_env_value "${PROFILE_UPPER}_UPDATE_TOKEN_FILE")}}"
|
||||
CLIENT_ID="${CLIENT_ID:-$(hostname)}"
|
||||
|
||||
if [[ -z "${SERVICE_URL}" || -z "${PROJECT_ID}" ]]; then
|
||||
|
||||
Reference in New Issue
Block a user