#!/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"