Split into roles and add parameters

This commit is contained in:
Paul-Henri Froidmont 2017-12-08 01:45:42 +01:00
parent 13b5d45998
commit 7d8e261f6d
19 changed files with 93 additions and 37 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
.idea
.vagrant
playbook.retry

16
README.md Normal file
View file

@ -0,0 +1,16 @@
How-tos
=======
Some tips on how to use this repo.
Mount last backup
-----------------
```bash
borg mount --info --foreground $REPO_FOLDER $MOUNT_POINT --last 1
```
Create a full installation of the services inside a VM
------------------------------------------------------
```bash
vagrant up #if your VM already exist it's best to do a vagrant destroy first
ansible-playbook -i staging playbook.yml -e 'backup_folder=$REPO_FOLDER'
```

6
Vagrantfile vendored
View file

@ -71,7 +71,7 @@ Vagrant.configure("2") do |config|
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
end
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yml"
end
# config.vm.provision "ansible" do |ansible|
# ansible.playbook = "playbook.yml"
# end
end

View file

@ -2,37 +2,9 @@
- hosts: all
become: true
gather_facts: no
tasks:
- name: Install ansible prerequisites
script: ansible_prerequisites.sh creates=/root/.ansible_prerequisites_installed
become: true
- name: Install required packages
package: name={{item}} state=present update_cache=yes
with_items:
- htop
- docker
- docker-compose
- git
- nload
- rsync
- ufw
- vim
- wget
- zsh
- name: Enable and start docker service
systemd:
name: docker.service
state: started
enabled: True
- name: Create images config folder
file: dest=/etc/images state=directory
- name: Copy murmur config
copy: src=murmur dest=/etc/images
- name: Create murmur data folder
file: dest=/var/lib/murmur state=directory
- name: Copy murmur database
copy: src=/mnt/borg/banditlair.com-2017-12-04/backups/murmur/murmur.sqlite dest=/var/lib/murmur/
- name: Start murmur docker project
docker_service:
project_src: /etc/images/murmur
state: present
vars:
docker_compose_files_folder: /etc/compose
roles:
- role: base
- role: base-docker
- role: murmur-docker

1
production Normal file
View file

@ -0,0 +1 @@
62.210.202.162

View file

@ -0,0 +1,12 @@
base-docker
===========
Installs and configures docker
Role Variables
--------------
`docker_compose_files_folder` The path where all the compose projects folders will be stored
`docker_compose_persistence_folder` The path where all persistent data will be stored, defaults to `/var/lib`
Dependencies
------------
- base

View file

@ -0,0 +1,3 @@
---
docker_compose_files_folder: /etc/compose
docker_compose_persistence_folder: /var/lib

View file

@ -0,0 +1,2 @@
dependencies:
- base

View file

@ -0,0 +1,13 @@
---
- name: Install docker packages
package: name={{item}} state=present update_cache=yes
with_items:
- docker
- docker-compose
- name: Enable and start docker service
systemd:
name: docker.service
state: started
enabled: True
- name: Create images config folder
file: dest={{docker_compose_files_folder}} state=directory

3
roles/base/README.md Normal file
View file

@ -0,0 +1,3 @@
base
====
Installs Ansible prerequisites if needed and than installs basic utility packages

14
roles/base/tasks/main.yml Normal file
View file

@ -0,0 +1,14 @@
---
- name: Install ansible prerequisites
script: ansible_prerequisites.sh creates=/root/.ansible_prerequisites_installed
- name: Install base packages
package: name={{item}} state=present update_cache=yes
with_items:
- htop
- git
- nload
- rsync
- ufw
- vim
- wget
- zsh

View file

@ -0,0 +1,7 @@
murmur-docker
=============
Installs murmur
Dependencies
------------
- base-docker

View file

@ -0,0 +1,2 @@
dependencies:
- base-docker

View file

@ -0,0 +1,9 @@
---
- name: Copy murmur config
copy: src=murmur dest={{docker_compose_files_folder}}
- name: Create murmur data folder
file: dest={{docker_compose_persistence_folder}}/murmur state=directory
- name: Copy murmur database
copy: src={{backup_folder}}/backups/murmur/murmur.sqlite dest=/var/lib/murmur/
- name: Start murmur docker project
docker_service: project_src={{docker_compose_files_folder}}/murmur state=present

1
staging Normal file
View file

@ -0,0 +1 @@
192.168.33.10 ansible_user=vagrant ansible_ssh_private_key_file=.vagrant/machines/default/virtualbox/private_key