refactor playbook
This commit is contained in:
parent
adde77eb88
commit
7d6a55e2c8
14
README.md
14
README.md
|
@ -38,7 +38,19 @@ password: ubuntu
|
|||
```
|
||||
|
||||
## Post-Installation
|
||||
There are some things that will not be setup post install. As of now, it is also required to run a shell script to further configure the system. We will streamline this in the future.
|
||||
The ubunutu autoinstall can only handle basic installation. We require a more powerful tool to configure the post-install environment. For this reason, we will be using ansible.
|
||||
|
||||
First, install ansible and sshpass. Perform all the following commands in the `post-install/` directory.
|
||||
|
||||
Check that ansible can talk to the vm:
|
||||
```
|
||||
$ ansible -m ping all
|
||||
```
|
||||
|
||||
We can now complete the rest of the post-install with
|
||||
```
|
||||
$ ansible-playbook -K playbook.yml
|
||||
```
|
||||
|
||||
## System Details
|
||||
For those that are interested.
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
# Mirror
|
||||
After setting up the vm this playbook will setup mirror's services
|
||||
## Instructions
|
||||
Install ansible then run the playbook
|
||||
```
|
||||
apt install -y ansible
|
||||
ansible-playbook main.yml
|
||||
```
|
|
@ -1,58 +0,0 @@
|
|||
---
|
||||
# https://wiki.csclub.uwaterloo.ca/Mirror
|
||||
#
|
||||
# may want to split this into multiple files
|
||||
#
|
||||
# right now we will just take configs from mirror
|
||||
# later we will edit them as required
|
||||
#
|
||||
# user should running this as root:root
|
||||
# so unsure if need to set owner:group for files/dirs
|
||||
#
|
||||
# unsure that hosts does
|
||||
- hosts: 127.0.0.1
|
||||
tasks:
|
||||
- name: install dependencies
|
||||
apt:
|
||||
pkg:
|
||||
- zfsutils-linux
|
||||
- rsync
|
||||
- nginx
|
||||
- proftpd
|
||||
state: latest
|
||||
update_cache: true
|
||||
state: started
|
||||
- name: create zfs mountpoint
|
||||
file:
|
||||
path: /mirror/root/.cscmirror
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0777
|
||||
recurse: yes
|
||||
- name: create and mount zpool
|
||||
# double check this works (and produces the correct result)
|
||||
# may be better to use the /dev/disk/by-id/... instead
|
||||
commmand: zpool create -f -m /mirror/root/.cscmirror cscmirror raidz2 /dev/vdc /dev/vdd /dev/vde /dev/vdf
|
||||
# may need to mount it (also check that it will automount on boot)
|
||||
# zfs mount -a
|
||||
- name: enable and start rsync daemon
|
||||
systemd:
|
||||
name: rsync
|
||||
enabled: true
|
||||
state: started
|
||||
- name: add rsync config
|
||||
template:
|
||||
src: rsync/rsyncd.conf.j2
|
||||
dest: /etc/rsyncd.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
template:
|
||||
src: rsync/rsyncd-filter.conf.j2
|
||||
dest: /etc/rsyncd-filter.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
notify: restart rsync
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[defaults]
|
||||
inventory = hosts
|
|
@ -0,0 +1,7 @@
|
|||
ubuntu@localhost
|
||||
|
||||
[all:vars]
|
||||
ansible_connection=ssh
|
||||
ansible_port=7777
|
||||
ansible_user=ubuntu
|
||||
ansible_password=ubuntu
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
- hosts: all
|
||||
become: true
|
||||
roles:
|
||||
- setup
|
||||
- zfs
|
||||
- rsync
|
|
@ -0,0 +1,20 @@
|
|||
- name: enable and start rsync daemon
|
||||
systemd:
|
||||
name: rsync
|
||||
enabled: true
|
||||
state: started
|
||||
|
||||
- name: add rsync config
|
||||
template:
|
||||
src: ../templates/rsyncd.conf.j2
|
||||
dest: /etc/rsyncd.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
template:
|
||||
src: ../templates/rsyncd-filter.conf.j2
|
||||
dest: /etc/rsyncd-filter.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
notify: restart rsync
|
0
mirror/rsync/rsyncd-filter.conf.j2 → post-install/roles/rsync/templates/rsyncd-filter.conf.j2
Normal file → Executable file
0
mirror/rsync/rsyncd-filter.conf.j2 → post-install/roles/rsync/templates/rsyncd-filter.conf.j2
Normal file → Executable file
0
mirror/rsync/rsyncd.conf.j2 → post-install/roles/rsync/templates/rsyncd.conf.j2
Normal file → Executable file
0
mirror/rsync/rsyncd.conf.j2 → post-install/roles/rsync/templates/rsyncd.conf.j2
Normal file → Executable file
|
@ -0,0 +1,9 @@
|
|||
- name: install dependencies
|
||||
apt:
|
||||
pkg:
|
||||
- zfsutils-linux
|
||||
- rsync
|
||||
- nginx
|
||||
- proftpd
|
||||
state: latest
|
||||
update_cache: true
|
|
@ -0,0 +1,15 @@
|
|||
- name: create zfs mountpoint
|
||||
file:
|
||||
path: /mirror/root/.cscmirror
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0777
|
||||
recurse: yes
|
||||
|
||||
- name: create and mount zpool
|
||||
# double check this works (and produces the correct result)
|
||||
# may be better to use the /dev/disk/by-id/... instead
|
||||
commmand: zpool create -f -m /mirror/root/.cscmirror cscmirror raidz2 /dev/vdc /dev/vdd /dev/vde /dev/vdf
|
||||
# may need to mount it (also check that it will automount on boot)
|
||||
# zfs mount -a
|
Loading…
Reference in New Issue