27 lines
855 B
Bash
Executable file
27 lines
855 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "${root}"
|
|
|
|
# Forgejo CLI: `fj`
|
|
#
|
|
# Auth token source order:
|
|
# 1) CODEBERG_TOKEN env var
|
|
# 2) `agenix -d secrets/codeberg-token.age` (optional)
|
|
|
|
if [[ -z "${CODEBERG_TOKEN:-}" && -f secrets/codeberg-token.age && -x "$(command -v agenix)" ]]; then
|
|
export CODEBERG_TOKEN
|
|
CODEBERG_TOKEN="$(agenix -d secrets/codeberg-token.age)"
|
|
fi
|
|
|
|
if [[ -z "${CODEBERG_TOKEN:-}" ]]; then
|
|
echo "error: CODEBERG_TOKEN is not set" >&2
|
|
echo "hint: set CODEBERG_TOKEN or create secrets/codeberg-token.age via agenix" >&2
|
|
exit 2
|
|
fi
|
|
|
|
# Avoid passing the token on the command line (shows up in process listings); use stdin.
|
|
printf "%s" "${CODEBERG_TOKEN}" | fj -H https://codeberg.org auth add-key every-channel
|
|
echo "fj configured. Try: fj -H https://codeberg.org whoami"
|
|
|