# pg_auto_failover 학습용 이미지
# 공식 postgres 이미지(PGDG apt 저장소 포함)에 PGDG 패키지로 pg_auto_failover 를 설치한다.
ARG PG_MAJOR=17
FROM postgres:${PG_MAJOR}

ARG PG_MAJOR
RUN apt-get update \
 && apt-get install -y --no-install-recommends \
      postgresql-${PG_MAJOR}-auto-failover \
      pg-auto-failover-cli \
      iproute2 procps \
 && rm -rf /var/lib/apt/lists/*

# pg_autoctl 은 root 실행을 거부한다. PGDATA 는 postgres 사용자 소유 경로를 쓴다.
RUN mkdir -p /var/lib/pgaf && chown postgres:postgres /var/lib/pgaf
USER postgres
ENV PATH=/usr/lib/postgresql/${PG_MAJOR}/bin:$PATH \
    PGDATA=/var/lib/pgaf/data \
    XDG_CONFIG_HOME=/var/lib/pgaf/config \
    XDG_DATA_HOME=/var/lib/pgaf/share
WORKDIR /var/lib/pgaf
