#!/usr/bin/env bash
# Entrypoint for the aptly-server image. Everything derived (rendered config,
# GPG keyring, htpasswd) is expected to already exist under APTLY_RUN_DIR,
# written by aptly-init in a preceding initContainer / compose service.
#
# Any argument other than "aptly api serve" (the default) is exec'd verbatim,
# so the same image is also usable as a one-off CLI/debug container:
#   docker run --rm -it aptly-server bash
#   docker run --rm aptly-server aptly version
set -euo pipefail

APTLY_ROOT_DIR="${APTLY_ROOT_DIR:-/var/lib/aptly}"
APTLY_RUN_DIR="${APTLY_RUN_DIR:-/run/aptly}"
APTLY_CONFIG="${APTLY_CONFIG:-${APTLY_RUN_DIR}/aptly.yaml}"
APTLY_API_LISTEN="${APTLY_API_LISTEN:-127.0.0.1:8080}"

mkdir -p "${APTLY_ROOT_DIR}"

if [[ "$#" -eq 0 ]]; then
  set -- aptly api serve "-listen=${APTLY_API_LISTEN}" "-config=${APTLY_CONFIG}"
elif [[ "$1" == "aptly" && "$#" -eq 1 ]]; then
  set -- aptly api serve "-listen=${APTLY_API_LISTEN}" "-config=${APTLY_CONFIG}"
fi

exec "$@"
