Skip to content

Commit fc53c09

Browse files
committed
chore: package wal-g with nix but otherwise same setup
1 parent f0c79f2 commit fc53c09

File tree

2 files changed

+14
-71
lines changed

2 files changed

+14
-71
lines changed

ansible/playbook.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
- name: Install WAL-G
4040
import_tasks: tasks/setup-wal-g.yml
41-
when: debpkg_mode or nixpkg_mode
41+
when: debpkg_mode or stage2_nix
4242

4343
- name: Install Gotrue
4444
import_tasks: tasks/setup-gotrue.yml

ansible/tasks/setup-wal-g.yml

Lines changed: 13 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,15 @@
1-
# Downloading dependencies
2-
- name: wal-g dependencies
3-
become: yes
4-
apt:
5-
pkg:
6-
- libbrotli-dev
7-
- liblzo2-dev
8-
- libsodium-dev
9-
- cmake
10-
11-
# install go dependency for WAL-G
12-
- name: wal-g go dependency
13-
get_url:
14-
url: "https://golang.org/dl/go{{ golang_version }}.linux-{{ platform }}.tar.gz"
15-
dest: /tmp
16-
checksum: "{{ golang_version_checksum[platform] }}"
17-
timeout: 60
18-
19-
- name: unpack go archive
20-
unarchive:
21-
remote_src: yes
22-
src: "/tmp/go{{ golang_version }}.linux-{{ platform }}.tar.gz"
23-
dest: /usr/local
24-
25-
# Download WAL-G
26-
- name: wal-g - download latest version
27-
git:
28-
repo: https://github.com/wal-g/wal-g.git
29-
dest: /tmp/wal-g
30-
version: "v{{ wal_g_release }}"
31-
become: yes
32-
33-
- name: wal-g - pg_clean
34-
make:
35-
chdir: /tmp/wal-g
36-
target: pg_clean
37-
params:
38-
GOBIN: "/usr/local/bin"
39-
PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin"
40-
USE_LIBSODIUM: true
41-
become: yes
42-
ignore_errors: yes
43-
44-
- name: wal-g - deps
45-
make:
46-
chdir: /tmp/wal-g
47-
target: deps
48-
params:
49-
GOBIN: "/usr/local/bin"
50-
PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin"
51-
USE_LIBSODIUM: true
52-
become: yes
53-
ignore_errors: yes
54-
55-
- name: wal-g - build and install
56-
community.general.make:
57-
chdir: /tmp/wal-g
58-
target: pg_install
59-
jobs: "{{ parallel_jobs | default(omit) }}"
60-
params:
61-
GOBIN: "/usr/local/bin"
62-
PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin"
63-
USE_LIBSODIUM: true
1+
- name: Install WAL-G with nix profile
2+
shell: |
3+
sudo -u ubuntu bash -c ". /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh && nix profile install github:supabase/postgres/{{ git_commit_sha }}#wal-g"
644
become: yes
5+
when: stage2_nix
656

7+
# Create required groups and users
668
- name: Create wal-g group
679
group:
6810
name: wal-g
6911
state: present
12+
when: stage2_nix
7013

7114
- name: Create wal-g user
7215
user:
@@ -75,6 +18,7 @@
7518
comment: WAL-G user
7619
group: wal-g
7720
groups: wal-g, postgres
21+
when: stage2_nix
7822

7923
- name: Create a config directory owned by wal-g
8024
file:
@@ -83,6 +27,7 @@
8327
owner: wal-g
8428
group: wal-g
8529
mode: '0770'
30+
when: stage2_nix
8631

8732
- name: Create /etc/wal-g/config.json
8833
file:
@@ -91,6 +36,7 @@
9136
owner: wal-g
9237
group: wal-g
9338
mode: '0664'
39+
when: stage2_nix
9440

9541
- name: Move custom wal-g.conf file to /etc/postgresql-custom/wal-g.conf
9642
template:
@@ -99,6 +45,7 @@
9945
mode: 0664
10046
owner: postgres
10147
group: postgres
48+
when: stage2_nix
10249

10350
- name: Add script to be run for restore_command
10451
template:
@@ -107,24 +54,20 @@
10754
mode: 0500
10855
owner: postgres
10956
group: postgres
57+
when: stage2_nix
11058

11159
- name: Add helper script for wal_fetch.sh
11260
template:
11361
src: "files/walg_helper_scripts/wal_change_ownership.sh"
11462
dest: /root/wal_change_ownership.sh
11563
mode: 0700
11664
owner: root
65+
when: stage2_nix
11766

11867
- name: Include /etc/postgresql-custom/wal-g.conf in postgresql.conf
11968
become: yes
12069
replace:
12170
path: /etc/postgresql/postgresql.conf
12271
regexp: "#include = '/etc/postgresql-custom/wal-g.conf'"
12372
replace: "include = '/etc/postgresql-custom/wal-g.conf'"
124-
125-
# Clean up Go
126-
- name: Uninstall Go
127-
become: yes
128-
file:
129-
path: /usr/local/go
130-
state: absent
73+
when: stage2_nix

0 commit comments

Comments
 (0)