# aitken.conf -- global configuration for the aitken.com admin tree
#
# Source this file at the top of every script:
#   . "${ADMIN_BASE}/config/aitken.conf"
#
# For the stage-0 bootstrap setup.sh (runs before NFS is mounted), aitken.conf
# and lib/common.sh are published alongside it by publish.sh so they can be
# sourced before /home/admin exists.
#
# Values here are environment-wide.  Role-specific values (e.g., service-account
# UIDs, mail-user definitions) belong in the role's own config or setup script.


# ---------------------------------------------------------------------------
# Paths
# ---------------------------------------------------------------------------

# Canonical build root: the up-to-date NFS clone of the admin repo.
# Make changes on a separate clone (laptop or dev box); push to GitHub; pull here.
# Overridable: export ADMIN_BASE to run scripts from a throwaway branch clone
# (e.g. testing a package build on a host) without touching the /home/admin deploy clone.
ADMIN_BASE="${ADMIN_BASE:-/home/admin}"

# HTTP-accessible bootstrap mirror.  Only stage-0 files (setup.sh, aitken.conf,
# lib/common.sh) are published here.  See the top-level Makefile publish target.
DIST_SITE=https://dist.aitken.com

# Local filesystem path to the web tree root.  Accessible on any NFS client.
# Used by the publish Makefile target to copy files into the web tree.
WEB_ROOT=/home/www


# ---------------------------------------------------------------------------
# NFS
# ---------------------------------------------------------------------------

# NFS server hostname (assumed reachable before script runs).
NFS_SERVER=atlas

# NFS exports and local mount points, one "export mountpoint" pair per line.
# Consumed by fstab-generation logic in OS setup scripts.
# NOTE: /home intentionally has no local ZFS dataset -- see OS README pre-steps.
NFS_MOUNTS="\
atlas:/mnt/pool1/home       /home
atlas:/mnt/pool1/pictures   /media/pics
atlas:/mnt/pool1/video      /media/videos"


# ---------------------------------------------------------------------------
# Domains
# ---------------------------------------------------------------------------

PRIMARY_DOMAIN=aitken.com
SECONDARY_DOMAIN=knitart.com

# Space-separated list of domains that may contain managed hosts.
# setup.sh validates that the supplied hostname ends with one of these.
VALID_DOMAINS="kjyo.aitken.com aitken.com"


# ---------------------------------------------------------------------------
# Kerberos
# ---------------------------------------------------------------------------

KERBEROS_REALM=AITKEN.COM
KERBEROS_ADMIN_PRINCIPAL=jaitken/admin@AITKEN.COM


# ---------------------------------------------------------------------------
# Admin user
# ---------------------------------------------------------------------------

ADMIN_USER=jaitken
ADMIN_UID=1001
ADMIN_GROUP=wheel


# ---------------------------------------------------------------------------
# DNS
# ---------------------------------------------------------------------------

# One resolver list for all hosts (every host has an internal interface).
DNS_RESOLVERS="192.168.1.28 8.8.8.8 1.1.1.1"

# Search domains: site-local subdomain first, then the top-level domain.
# Add additional site subdomains before aitken.com if a second location is built.
DNS_SEARCH="kjyo.aitken.com aitken.com"


# ---------------------------------------------------------------------------
# Logging
# ---------------------------------------------------------------------------

# Syslog facility for all aitken-admin messages.  local0-local3 are commonly
# claimed by network devices; local4 is our convention.  Must match the routing
# rule written by each OS setup.sh (/etc/rsyslog.d/ on Linux, /etc/syslog.conf
# on FreeBSD).
ADMIN_SYSLOG_FACILITY=local4

# Destination log file for ADMIN_SYSLOG_FACILITY messages.
ADMIN_LOG_FILE=/var/log/admin.log
