#!/usr/bin/env bash
# ox services catalog verification script
# entry: postgres@16 (entry_version 1)
# generated by `ox catalog verify-script`; replay with: bash <this-file>
set -euo pipefail
if systemctl is-active --quiet postgresql.service; then echo "postgres@16: converged (unit active)"; exit 0; fi
# step: create /etc/apt/keyrings
install -d -m 0755 /etc/apt/keyrings
# step: fetch the pgdg signing key
bash -c 'curl -fsSL --max-time 60 '\''https://www.postgresql.org/media/keys/ACCC4CF8.asc'\'' -o '\''/tmp/ox-key-pgdg.asc'\'' && test -s '\''/tmp/ox-key-pgdg.asc'\'''
# step: install the pgdg keyring
install -o root -g root -m 0644 /tmp/ox-key-pgdg.asc /etc/apt/keyrings/pgdg.asc
# step: write the pgdg sources list
bash -c 'printf '\''%s'\'' '\''Types: deb
URIs: https://apt.postgresql.org/pub/repos/apt
Suites: noble-pgdg
Components: main
Signed-By: /etc/apt/keyrings/pgdg.asc
'\'' > '\''/tmp/ox-source-pgdg.sources'\'''
# step: install the pgdg sources list
install -o root -g root -m 0644 /tmp/ox-source-pgdg.sources /etc/apt/sources.list.d/ox-pgdg.sources
# step: refresh package index for postgres@16
apt-get update -qq
# step: install postgresql-16 postgresql-contrib-16 pgbackrest
bash -c 'DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends postgresql-16 postgresql-contrib-16 pgbackrest'
# step: enable postgresql.service
systemctl enable --now postgresql.service
# step: wait for tcp://127.0.0.1:5432
bash -c 'for i in $(seq 1 30); do timeout 1 bash -c "exec 3<>/dev/tcp/127.0.0.1/5432" 2>/dev/null && exit 0; sleep 2; done; exit 1'
