mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-23 01:24:11 +02:00
b0a6954671
1) Started on a general markdown renderer 2) Internal links now work in PDF 3) Improvements to PDF styling 4) Some comment and formatting fixes 5) User guide edits.
201 lines
8.4 KiB
Ruby
201 lines
8.4 KiB
Ruby
Vagrant.configure(2) do |config|
|
|
config.vm.provider :virtualbox do |vb|
|
|
vb.memory = 1024
|
|
vb.cpus = 4
|
|
end
|
|
|
|
config.vm.define "u12" do |u12|
|
|
u12.vm.box = "boxcutter/ubuntu1204"
|
|
|
|
u12.vm.provider :virtualbox do |vb|
|
|
vb.name = "backrest-test-ubuntu-12.04"
|
|
end
|
|
|
|
# Provision the VM
|
|
u12.vm.provision "shell", inline: <<-SHELL
|
|
# Install db
|
|
echo 'deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main' > /etc/apt/sources.list.d/pgdg.list
|
|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
|
sudo apt-get update
|
|
apt-get install -y postgresql-9.4
|
|
pg_dropcluster --stop 9.4 main
|
|
apt-get install -y postgresql-9.3
|
|
pg_dropcluster --stop 9.3 main
|
|
apt-get install -y postgresql-9.2
|
|
pg_dropcluster --stop 9.2 main
|
|
apt-get install -y postgresql-9.1
|
|
pg_dropcluster --stop 9.1 main
|
|
apt-get install -y postgresql-9.0
|
|
pg_dropcluster --stop 9.0 main
|
|
apt-get install -y postgresql-8.4
|
|
pg_dropcluster --stop 8.4 main
|
|
|
|
# Setup SSH
|
|
adduser --ingroup=vagrant --disabled-password --gecos "" backrest
|
|
/backrest/test/vm/ssh/setup.sh
|
|
/backrest/test/vm/ssh/setup-cm.sh
|
|
|
|
# Install required Perl modules
|
|
apt-get install -y libdbi-perl libdbd-pg-perl
|
|
|
|
# Install Perl modules required for building the docs
|
|
apt-get install -y libxml-checker-perl libxml-writer-perl
|
|
SHELL
|
|
end
|
|
|
|
config.vm.define "u14" do |u14|
|
|
u14.vm.box = "boxcutter/ubuntu1404"
|
|
|
|
u14.vm.provider :virtualbox do |vb|
|
|
vb.name = "backrest-test-ubuntu-14.04"
|
|
end
|
|
|
|
# Provision the VM
|
|
u14.vm.provision "shell", inline: <<-SHELL
|
|
# Install db
|
|
echo 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main 9.5' >> /etc/apt/sources.list.d/pgdg.list
|
|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
|
sudo apt-get update
|
|
apt-get install -y postgresql-9.5
|
|
pg_dropcluster --stop 9.5 main
|
|
apt-get install -y postgresql-9.4
|
|
pg_dropcluster --stop 9.4 main
|
|
apt-get install -y postgresql-9.3
|
|
pg_dropcluster --stop 9.3 main
|
|
apt-get install -y postgresql-9.2
|
|
pg_dropcluster --stop 9.2 main
|
|
apt-get install -y postgresql-9.1
|
|
pg_dropcluster --stop 9.1 main
|
|
apt-get install -y postgresql-9.0
|
|
pg_dropcluster --stop 9.0 main
|
|
|
|
# Setup SSH
|
|
adduser --ingroup=vagrant --disabled-password --gecos "" backrest
|
|
/backrest/test/vm/ssh/setup.sh
|
|
/backrest/test/vm/ssh/setup-cm.sh
|
|
|
|
# Install required Perl modules
|
|
apt-get install libdbi-perl libdbd-pg-perl
|
|
|
|
# Install Perl modules required for building the docs
|
|
apt-get install -y libxml-checker-perl libxml-writer-perl
|
|
SHELL
|
|
end
|
|
|
|
config.vm.define "u14doc" do |u14doc|
|
|
u14doc.vm.box = "boxcutter/ubuntu1404"
|
|
|
|
u14doc.vm.provider :virtualbox do |vb|
|
|
vb.name = "backrest-doc-test-ubuntu-14.04"
|
|
end
|
|
|
|
# Provision the VM
|
|
u14doc.vm.provision "shell", inline: <<-SHELL
|
|
# Install docker
|
|
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
|
|
echo 'deb https://apt.dockerproject.org/repo ubuntu-trusty main' > /etc/apt/sources.list.d/docker.list
|
|
sudo apt-get update
|
|
sudo apt-get -y install linux-image-extra-$(uname -r)
|
|
sudo apt-get -y install docker-engine
|
|
sudo usermod -aG docker vagrant
|
|
|
|
# This requires a reboot - maybe don't do it - see how it goes first
|
|
# sed -i 's/^GRUB_CMDLINE_LINUX\=.*$/GRUB_CMDLINE_LINUX\=\"cgroup_enable=memory swapaccount=1\"/' /etc/default/grub
|
|
|
|
# Install Perl modules
|
|
apt-get install -y libxml-checker-perl ghostscript
|
|
|
|
# Install texlive
|
|
mkdir /root/texlive
|
|
wget -q -O - http://mirror.hmc.edu/ctan/systems/texlive/tlnet/install-tl-unx.tar.gz | tar zxv -C /root//texlive --strip-components=1
|
|
echo "collection-basic 1" >> /root/texlive/texlive.profile
|
|
echo "collection-latex 1" >> /root/texlive/texlive.profile
|
|
/root/texlive/install-tl -profile=/root/texlive/texlive.profile
|
|
|
|
echo 'PATH=/usr/local/texlive/2015/bin/x86_64-linux:$PATH' >> /etc/profile
|
|
echo 'export PATH' >> /etc/profile
|
|
|
|
/usr/local/texlive/2015/bin/x86_64-linux/tlmgr install caption xcolor listings parskip helvetic ltablex titlesec \
|
|
epstopdf courier sectsty pgf ms
|
|
|
|
# Build images
|
|
docker build -f /backrest/test/vm/docker/u14-base -t vagrant/u14-base /backrest/test/vm
|
|
docker build -f /backrest/test/vm/docker/u14-db -t vagrant/u14-db /backrest/test/vm
|
|
docker build -f /backrest/test/vm/docker/u14-backup -t vagrant/u14-backup /backrest/test/vm
|
|
|
|
docker build -f /backrest/test/vm/docker/co6-base -t vagrant/co6-base /backrest/test/vm
|
|
docker build -f /backrest/test/vm/docker/co6-db -t vagrant/co6-db /backrest/test/vm
|
|
docker build -f /backrest/test/vm/docker/co6-backup -t vagrant/co6-backup /backrest/test/vm
|
|
|
|
# Sample docker commands
|
|
# docker inspect --format '{{ .NetworkSettings.IPAddress }}' db-master
|
|
# docker run -itd --name=db-master -v /backrest:/backrest vagrant/u14-db
|
|
# docker run -itd --name=backup -v /backrest:/backrest vagrant/u14-backup
|
|
# docker exec -it db-master bash
|
|
SHELL
|
|
end
|
|
|
|
config.vm.define "co6" do |co6|
|
|
co6.vm.box = "boxcutter/centos67"
|
|
|
|
co6.vm.provider :virtualbox do |vb|
|
|
vb.name = "backrest-test-centos-6.7"
|
|
end
|
|
|
|
# Provision the VM
|
|
co6.vm.provision "shell", inline: <<-SHELL
|
|
# Install db
|
|
sudo rpm -ivh http://yum.postgresql.org/9.0/redhat/rhel-6-x86_64/pgdg-centos90-9.0-5.noarch.rpm
|
|
sudo rpm -ivh http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm
|
|
sudo rpm -ivh http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm
|
|
sudo rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm
|
|
sudo rpm -ivh http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
|
|
yum -y install postgresql90-server
|
|
yum -y install postgresql91-server
|
|
yum -y install postgresql92-server
|
|
yum -y install postgresql93-server
|
|
yum -y install postgresql94-server
|
|
|
|
# Install Perl and required modules
|
|
yum -y install perl perl-Time-HiRes perl-parent perl-JSON perl-Digest-SHA perl-DBD-Pg
|
|
|
|
# Setup SSH
|
|
adduser -gvagrant -n backrest
|
|
/backrest/test/vm/ssh/setup.sh
|
|
SHELL
|
|
end
|
|
|
|
config.vm.define "co7" do |co7|
|
|
co7.vm.box = "boxcutter/centos71"
|
|
|
|
co7.vm.provider :virtualbox do |vb|
|
|
vb.name = "backrest-test-centos-7.1"
|
|
end
|
|
|
|
# Provision the VM
|
|
co7.vm.provision "shell", inline: <<-SHELL
|
|
# Install db
|
|
sudo rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm
|
|
sudo rpm -ivh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
|
|
sudo rpm -ivh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-1.noarch.rpm
|
|
yum -y install postgresql93-server
|
|
yum -y install postgresql94-server
|
|
yum -y install postgresql95-server
|
|
|
|
# Install Perl and required modules
|
|
yum -y install perl perl-Thread-Queue perl-JSON-PP perl-Digest-SHA perl-DBD-Pg
|
|
|
|
# Setup SSH
|
|
adduser -gvagrant -n backrest
|
|
/backrest/test/vm/ssh/setup.sh
|
|
/backrest/test/vm/ssh/setup-cm.sh
|
|
SHELL
|
|
end
|
|
|
|
# Don't share the default vagrant folder
|
|
config.vm.synced_folder ".", "/vagrant", disabled: true
|
|
|
|
# Mount backrest path for testing
|
|
config.vm.synced_folder "../..", "/backrest"
|
|
end
|