Files
spinifex/scripts/images/rds-postgres/manifest.conf
T
2026-07-29 10:38:22 +10:00

39 lines
1.9 KiB
Plaintext

IMAGE_NAME="rds-postgres"
IMAGE_DESCRIPTION="Spinifex RDS PostgreSQL instance — Alpine + PostgreSQL 18 + rds-init first-boot bootstrap"
DISTRO="alpine"
ALPINE_VERSION="3.24.1"
# Engine binaries, ICU collation data and the postmaster log only. The datadir
# lives on the data volume, so the boot volume stays a disposable COW clone.
IMAGE_SIZE="2G"
# icu-data-full is deliberate: the cluster uses an ICU locale provider (musl has
# no libc locales) and stock english-only data would reject other collations.
# blkid is a hard requirement — without it rds-datadir refuses to run rather
# than risk formatting a customer's datadir.
APK_PACKAGES="postgresql18 postgresql18-client postgresql18-contrib postgresql18-openrc postgresql-common-openrc icu-data-full ca-certificates cloud-utils-growpart e2fsprogs-extra xfsprogs blkid openrc"
# rds-agent is the only built binary (static, FIPS boot like the host build).
BUILD_COMMANDS="CGO_ENABLED=0 GOFIPS140=v1.0.0 go build -ldflags \"-s -w\" -o bin/rds-agent ./cmd/rds-agent"
INSTALL_BINARIES="bin/rds-agent:/usr/local/bin/rds-agent"
INSTALL_FILES="\
scripts/images/rds-postgres/rds-datadir:/usr/local/sbin/rds-datadir \
scripts/images/rds-postgres/rds-datadir.initd:/etc/init.d/rds-datadir \
scripts/images/rds-postgres/rds-init:/usr/local/sbin/rds-init \
scripts/images/rds-postgres/rds-init.initd:/etc/init.d/rds-init \
scripts/images/rds-postgres/rds-agent.initd:/etc/init.d/rds-agent \
scripts/images/rds-postgres/postgresql.confd:/etc/conf.d/postgresql"
# Each service's own depend() asserts the ordering; this lists it to match.
ENABLE_SERVICES="rds-datadir rds-agent rds-init postgresql"
SETUP_SCRIPT="scripts/images/rds-postgres/setup.sh"
AMI_NAME="spinifex-rds-postgres"
# managed-by=rds marks it a system AMI; engine/engine-version are what the
# control plane resolves an EngineVersion request against.
SYSTEM_TAG="spinifex:managed-by=rds engine=postgres engine-version=18"