|
|
|
|
|
|
|
- hosts: all
|
|
|
|
become: true
|
|
|
|
tasks:
|
|
|
|
- apt: name={{item}} state=installed
|
|
|
|
with_items:
|
|
|
|
- openvpn
|
|
|
|
- tcpdump
|
|
|
|
- python-pip
|
|
|
|
- python-virtualenv
|
|
|
|
- strace
|
|
|
|
- libldap2-dev
|
|
|
|
- linux-perf
|
|
|
|
- libsasl2-dev
|
|
|
|
- build-essential
|
|
|
|
- git
|
|
|
|
- rsync
|
|
|
|
|
|
|
|
- file:
|
|
|
|
path: /etc/openvpn
|
|
|
|
state: directory
|
|
|
|
|
|
|
|
- copy:
|
|
|
|
dest: /etc/openvpn/secret
|
|
|
|
mode: '0600'
|
|
|
|
content: |
|
|
|
|
-----BEGIN OpenVPN Static key V1-----
|
|
|
|
f94005e4206828e281eb397aefd69b37
|
|
|
|
ebe6cd39057d5641c5d8dd539cd07651
|
|
|
|
557d94d0077852bd8f92b68bef927169
|
|
|
|
c5f0e42ac962a2cbbed35e107ffa0e71
|
|
|
|
1a2607c6bcd919ec5846917b20eb6684
|
|
|
|
c7505152815d6ed7b4420714777a3d4a
|
|
|
|
8edb27ca81971cba7a1e88fe3936e13b
|
|
|
|
85e9be6706a30cd1334836ed0f08e899
|
|
|
|
78942329a330392dff42e4570731ac24
|
|
|
|
9330358aaa6828c07ecb41fb9c498a89
|
|
|
|
1e0435c5a45bfed390cd2104073634ef
|
|
|
|
b00f9fae1d3c49ef5de51854103edac9
|
|
|
|
5ff39c9dfc66ae270510b2ffa74d87d2
|
|
|
|
9d4b3844b1e1473237bc6dc78fb03e2e
|
|
|
|
643ce58e667a532efceec7177367fb37
|
|
|
|
a16379a51e0a8c8e3ec00a59952b79d4
|
|
|
|
-----END OpenVPN Static key V1-----
|
|
|
|
|
|
|
|
- copy:
|
|
|
|
dest: /etc/openvpn/k3.conf
|
|
|
|
content: |
|
|
|
|
remote k3.botanicus.net
|
|
|
|
dev tun
|
|
|
|
ifconfig 10.18.0.1 10.18.0.2
|
|
|
|
secret secret
|
|
|
|
|
|
|
|
- shell: systemctl enable openvpn@k3.service
|
|
|
|
- shell: systemctl start openvpn@k3.service
|
|
|
|
|
|
|
|
- lineinfile:
|
|
|
|
line: "{{item}}"
|
|
|
|
path: /etc/sysctl.conf
|
|
|
|
register: sysctl_conf
|
|
|
|
with_items:
|
|
|
|
- "net.ipv4.ip_forward=1"
|
|
|
|
- "kernel.perf_event_paranoid=-1"
|
|
|
|
|
|
|
|
- shell: /sbin/sysctl -p
|
|
|
|
when: sysctl_conf.changed
|
|
|
|
|
|
|
|
- copy:
|
|
|
|
dest: /etc/rc.local
|
|
|
|
mode: "0744"
|
|
|
|
content: |
|
|
|
|
#!/bin/bash
|
|
|
|
iptables -t nat -F;
|
|
|
|
iptables -t nat -X;
|
|
|
|
iptables -t nat -A POSTROUTING -j MASQUERADE;
|
|
|
|
|
|
|
|
- shell: systemctl daemon-reload
|
|
|
|
- shell: systemctl enable rc-local
|
|
|
|
- shell: systemctl start rc-local
|
|
|
|
|
|
|
|
|
|
|
|
- hosts: all
|
|
|
|
vars:
|
|
|
|
git_username: '{{ lookup("pipe", "git config --global user.name") }}'
|
|
|
|
git_email: '{{ lookup("pipe", "git config --global user.email") }}'
|
|
|
|
tasks:
|
|
|
|
- copy:
|
|
|
|
src: ~/.ssh/id_gitlab
|
|
|
|
dest: ~/.ssh/id_gitlab
|
|
|
|
mode: 0600
|
|
|
|
|
|
|
|
- template:
|
|
|
|
dest: ~/.ssh/config
|
|
|
|
src: ssh_config.j2
|
|
|
|
|
|
|
|
- shell: "rsync -a ~/.ssh {{inventory_hostname}}:"
|
|
|
|
connection: local
|
|
|
|
|
|
|
|
- shell: |
|
|
|
|
git config --global user.email "{{git_username}}"
|
|
|
|
git config --global user.name "{{git_email}}"
|
|
|
|
name: set_git_config
|
|
|
|
|
|
|
|
- git:
|
|
|
|
dest: ~/mitogen
|
|
|
|
repo: https://github.com/dw/mitogen.git
|
|
|
|
version: dmw
|
|
|
|
|
|
|
|
- git:
|
|
|
|
dest: ~/ansible
|
|
|
|
repo: https://github.com/ansible/ansible.git
|
|
|
|
#version: dmw
|
|
|
|
|
|
|
|
- pip:
|
|
|
|
virtualenv: ~/venv
|
|
|
|
requirements: ~/mitogen/dev_requirements.txt
|
|
|
|
|
|
|
|
- pip:
|
|
|
|
virtualenv: ~/venv
|
|
|
|
editable: true
|
|
|
|
name: ~/mitogen
|
|
|
|
|
|
|
|
- pip:
|
|
|
|
virtualenv: ~/venv
|
|
|
|
editable: true
|
|
|
|
name: ~/ansible
|
|
|
|
|
|
|
|
- pip:
|
|
|
|
virtualenv: ~/venv
|
|
|
|
name: debops
|
|
|
|
|
|
|
|
- lineinfile:
|
|
|
|
line: "source $HOME/venv/bin/activate"
|
|
|
|
path: ~/.profile
|
|
|
|
|
|
|
|
- name: debops-init
|
|
|
|
shell: ~/venv/bin/debops-init ~/prj
|
|
|
|
args:
|
|
|
|
creates: ~/prj
|
|
|
|
|
|
|
|
- name: grpvars
|
|
|
|
copy:
|
|
|
|
dest: "{{ansible_user_dir}}/prj/ansible/inventory/group_vars/all/dhparam.yml"
|
|
|
|
content: |
|
|
|
|
---
|
|
|
|
dhparam__bits: [ '256' ]
|
|
|
|
|
|
|
|
- blockinfile:
|
|
|
|
path: ~/prj/.debops.cfg
|
|
|
|
insertafter: '\[ansible defaults\]'
|
|
|
|
block: |
|
|
|
|
strategy_plugins = {{ansible_user_dir}}/mitogen/ansible_mitogen/plugins/strategy
|
|
|
|
forks = 50
|
|
|
|
host_key_checking = False
|
|
|
|
|
|
|
|
- file:
|
|
|
|
path: ~/prj/ansible/inventory/gcloud.py
|
|
|
|
state: link
|
|
|
|
src: ~/mitogen/tests/ansible/lib/inventory/gcloud.py
|