diff options
| author | Mitch Riedstra <mitch@riedstra.us> | 2019-09-14 15:59:40 -0400 |
|---|---|---|
| committer | Mitch Riedstra <mitch@riedstra.us> | 2019-09-14 15:59:40 -0400 |
| commit | 6a0aa89e3dfd7bd0755b67931532eaa173f73919 (patch) | |
| tree | c3dc047ef06d878b1d9f7998369191bfd39b0549 | |
| download | alpine-postgres-6a0aa89e3dfd7bd0755b67931532eaa173f73919.tar.gz alpine-postgres-6a0aa89e3dfd7bd0755b67931532eaa173f73919.tar.xz | |
Initial
| -rw-r--r-- | defaults/main.yml | 1 | ||||
| -rw-r--r-- | readme.md | 5 | ||||
| -rw-r--r-- | tasks/main.yml | 28 | ||||
| -rw-r--r-- | templates/run.j2 | 15 |
4 files changed, 49 insertions, 0 deletions
diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1 @@ + diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..c33eb97 --- /dev/null +++ b/readme.md @@ -0,0 +1,5 @@ +# Install Postgres and Runit service on Alpine Linux + +Ideally used in conjunction with my Alpine Linux +playbook, though it shouldn't be hard to adapt it to +other systems. diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..7b67816 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,28 @@ +- name: Install Postgres + apk: + name: postgresql + update_cache: yes +- name: Install Runit service directory + file: + state: directory + path: /etc/sv/postgres + mode: '0755' +- name: Install Runit service command + template: + src: run.j2 + dest: /etc/sv/postgres/run + mode: '755' +- name: Install supervise symlink + file: + state: link + force: yes + src: /run/supervise.postgres + dest: /etc/sv/postgres/supervise + follow: false +- name: Enable postgres service + file: + state: link + force: yes + src: /etc/sv/postgres + dest: /var/service/postgres + follow: false diff --git a/templates/run.j2 b/templates/run.j2 new file mode 100644 index 0000000..9242dd2 --- /dev/null +++ b/templates/run.j2 @@ -0,0 +1,15 @@ +#!/bin/sh +set -e +pguser="postgres" +PGDATA="/var/postgres" + +if ! [ -d "$PGDATA" ] ; then + mkdir -p "$PGDATA" + chown -R "$pguser" "$PGDATA" + chmod 700 "$PGDATA" + su - postgres -m -c "pg_ctl initdb -D \"$PGDATA\"" +fi + +mkdir -p /run/postgresql && chown "$pguser" /run/postgresql +exec chpst -u postgres:postgres postgres -D "$PGDATA" 2>&1 + |
