mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
puppet: Install wal-g, not wal-e.
This commit is contained in:
committed by
Alex Vandiver
parent
6506447bf1
commit
4fe0444108
@@ -160,7 +160,7 @@ data includes:
|
||||
|
||||
* The postgres database. You can back it up like any postgres
|
||||
database. We have some example tooling for doing that incrementally
|
||||
into S3 using [wal-e](https://github.com/wal-e/wal-e) in
|
||||
into S3 using [wal-g](https://github.com/wal-g/wal-g) in
|
||||
`puppet/zulip_ops/manifests/postgres_common.pp`.
|
||||
In short, this requires:
|
||||
- Zulip 1.4 or newer release.
|
||||
@@ -207,7 +207,7 @@ To restore from a manual backup, the process is basically the reverse of the abo
|
||||
* If you ran `initialize-database` anyway above, you'll want to run
|
||||
`scripts/setup/postgres-init-db` to drop the initial database first.
|
||||
|
||||
* Restore your database from the backup using `wal-e`.
|
||||
* Restore your database from the backup.
|
||||
|
||||
* Reconfigure rabbitmq to use the password from `secrets.conf`
|
||||
by running, as root, `scripts/setup/configure-rabbitmq`.
|
||||
|
||||
@@ -1,23 +1,16 @@
|
||||
class zulip_ops::postgres_common {
|
||||
include zulip::postgres_common
|
||||
|
||||
$internal_postgres_packages = [# dependencies for our wal-e backup system
|
||||
'lzop',
|
||||
'pv',
|
||||
'python3-pip',
|
||||
'python-pip',
|
||||
'python3-gevent',
|
||||
'python-gevent',
|
||||
]
|
||||
package { $internal_postgres_packages: ensure => 'installed' }
|
||||
$wal_g_version = '0.2.15'
|
||||
$wal_g_hash = 'ea33c2341d7bfb203c6948590c29834c013ab06a28c7a2b236a73d906f785c84'
|
||||
exec {'install-wal-g':
|
||||
command => "${::zulip_scripts_path}/setup/install-wal-g ${wal_g_version} ${wal_g_hash}",
|
||||
creates => "/usr/local/bin/wal-g-${wal_g_version}",
|
||||
}
|
||||
|
||||
exec {'pip_wal-e':
|
||||
# On trusty, there is no python3-boto or python3-gevent package,
|
||||
# so we keep our `wal-e` explicitly on Python 2 for now.
|
||||
command => '/usr/bin/pip2 install git+git://github.com/zbenjamin/wal-e.git#egg=wal-e',
|
||||
creates => '/usr/local/bin/wal-e',
|
||||
require => Package['python-pip', 'python-boto', 'python-gevent',
|
||||
'lzop', 'pv'],
|
||||
file { '/usr/local/bin/wal-g':
|
||||
ensure => 'link',
|
||||
target => "/usr/local/bin/wal-g-${wal_g_version}",
|
||||
}
|
||||
|
||||
cron { 'pg_backup_and_purge':
|
||||
|
||||
20
scripts/setup/install-wal-g.sh
Executable file
20
scripts/setup/install-wal-g.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
VERSION="$1"
|
||||
HASH="$2"
|
||||
|
||||
cd /tmp
|
||||
wget -qO "wal-g-$VERSION.tar.gz" \
|
||||
"https://github.com/wal-g/wal-g/releases/download/v$VERSION/wal-g.linux-amd64.tar.gz"
|
||||
|
||||
# Check not against the arbitrary provided sha256 on Github, but
|
||||
# against the (same) sha256 that we hardcode as "known good".
|
||||
echo "$HASH wal-g-$VERSION.tar.gz" > "wal-g-$VERSION.tar.gz.sha256"
|
||||
sha256sum -c "wal-g-$VERSION.tar.gz.sha256"
|
||||
|
||||
tar xzf "wal-g-$VERSION.tar.gz"
|
||||
mv wal-g "/usr/local/bin/wal-g-$VERSION"
|
||||
rm "wal-g-$VERSION.tar.gz" "wal-g-$VERSION.tar.gz.sha256"
|
||||
Reference in New Issue
Block a user