Compare commits
77 Commits
master
...
feature/ma
Author | SHA1 | Date | |
---|---|---|---|
97f50bf4e2 | |||
5dd9e21593 | |||
18b143c82f | |||
434d1acc24 | |||
2579bb8aab | |||
61c286d1e0 | |||
ac6334eff5 | |||
b137995503 | |||
ce1e9af2f1 | |||
e9f70d71f3 | |||
b551f68def | |||
9fc34261db | |||
2a8356d118 | |||
a948092be2 | |||
937a266fe7 | |||
463411de88 | |||
6ca3ea3ecf | |||
124a791c16 | |||
70140fb353 | |||
d4b8948474 | |||
c6e8081406 | |||
9938adfabc | |||
3cd11712b0 | |||
3f010d9090 | |||
3c7689c398 | |||
f5e6d4a5f6 | |||
3f9b78468b | |||
a1f4cd4948 | |||
4209b797f4 | |||
50c50ad305 | |||
ec10c1559c | |||
8ebf1094e6 | |||
62c27441fe | |||
873d95ecd4 | |||
fec7e737b7 | |||
4d14872994 | |||
f8ea8078bb | |||
e94d281cad | |||
159bda1ae7 | |||
effdb54247 | |||
f8406b2c74 | |||
8c506f015b | |||
a6ccad8b09 | |||
738b2ff5c1 | |||
ed1f5b77a4 | |||
341b1657a5 | |||
b2a516a32d | |||
a06a266616 | |||
ae42b8aec4 | |||
6a66b46bfb | |||
e86d4384fc | |||
0160ee59d4 | |||
26a6af122f | |||
17e2da3439 | |||
f303a750e2 | |||
0f104ab562 | |||
c7efdfe66d | |||
a0ed839a4a | |||
30fe175d09 | |||
6526e90691 | |||
c79cc877df | |||
824b930034 | |||
dd960cd5e7 | |||
6e26443266 | |||
2fb416d3d7 | |||
fe76fa5999 | |||
c1522a8602 | |||
34cb10ec7a | |||
03f4a0cc48 | |||
3019cf244e | |||
b670144aa0 | |||
e1f967e946 | |||
f46afced7f | |||
e0f39de77d | |||
3708983a3c | |||
0c0d74a837 | |||
bbe109fdc1 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -3,3 +3,6 @@
|
||||
*.log
|
||||
*.retry
|
||||
site/
|
||||
|
||||
secrets/*
|
||||
!secrets/*.enc
|
||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,3 +1,6 @@
|
||||
[submodule "mkdocs-material"]
|
||||
path = mkdocs-material
|
||||
url = https://git.charlesreid1.com/charlesreid1/mkdocs-material.git
|
||||
[submodule "roles/ansible-postfix"]
|
||||
path = roles/postfix
|
||||
url = https://github.com/Oefenweb/ansible-postfix.git
|
||||
|
29
Readme.md
29
Readme.md
@ -21,8 +21,6 @@ are ready to run these docker pods.
|
||||
| Pod | Link |
|
||||
|------------------|------------------------------------------------------|
|
||||
| pod-charlesreid1 | <https://git.charlesreid1.com/docker/pod-charlesreid1> |
|
||||
| pod-webhooks | <https://git.charlesreid1.com/docker/pod-webhooks> |
|
||||
| pod-bots | <https://git.charlesreid1.com/docker/pod-bots> |
|
||||
|
||||
## Playbooks
|
||||
|
||||
@ -32,8 +30,7 @@ and a provision playbook.
|
||||
| Playbook | Description |
|
||||
|------------------------|----------------------------------------------------------------------------------------------------------------------|
|
||||
| `podcharlesreid1.yml` | Playbook to install and run the charlesreid1.com docker pod (<https://git.charlesreid1.com/docker/pod-charlesreid1>) |
|
||||
| `podwebhooks.yml` | (TBA) Playbook to install and run the webhooks pod (<https://git.charlesreid1.com/docker/pod-webhooks>) |
|
||||
| `podbots.yml` | (TBA) Playbook to install and run the bot pod (<https://git.charlesreid1.com/docker/pod-bots>) |
|
||||
| `bots.yml` | Playbook to install and run the apollo, ginsberg, and milton bot flocks. See <https://bots.charlesreid1.com>. |
|
||||
| `base.yml` | Base playbook run by all of the pod playbooks above. |
|
||||
| `provision.yml` | Playbook to provision new Ubuntu machines with `/usr/bin/python`. |
|
||||
|
||||
@ -41,33 +38,33 @@ and a provision playbook.
|
||||
## Roles
|
||||
|
||||
|
||||
### Base Playbook Roles
|
||||
### Playbook Roles
|
||||
|
||||
The following roles carry out groups of tasks for setting up the base machine
|
||||
to run charlesreid1.com infrastructure.
|
||||
|
||||
**Base roles:**
|
||||
|
||||
| Role Name | Description |
|
||||
|-----------------------|-----------------------------------------------------------|
|
||||
| init-root | Prepare root user account |
|
||||
| init-nonroot | Prepare nonroot user account(s) |
|
||||
| dotfiles | Install and configure dotfiles for nonroot user |
|
||||
| install-stuff | Install stuff with aptitude |
|
||||
| letsencrypt | Install letsencrypt |
|
||||
| postfix | Install postfix mail server |
|
||||
| pyenv | Install pyenv for nonroot user |
|
||||
| goenv | Install goenv for nonroot user |
|
||||
| sshkeys | Set up ssh keys for all users |
|
||||
| vim | Set up vim for nonroot user |
|
||||
| dotfiles | Install and configure dotfiles for nonroot user |
|
||||
|
||||
**Machine-specific roles:**
|
||||
|
||||
### Pod-Specific Roles
|
||||
|
||||
The following roles are run by playbooks specific to the
|
||||
respective docker pod.
|
||||
|
||||
| Role Name | Description |
|
||||
|-----------------------|--------------------------------------------------------------|
|
||||
| pod-charlesreid1 | Role specific to the charlesreid1.com docker pod |
|
||||
| pod-webhooks | Role specific to \{hooks,pages\}.charlesreid1.com docker pod |
|
||||
| pod-bots | Role specific to bots docker pod |
|
||||
| Role Name | Description |
|
||||
|-----------------------|-------------------------------------------------------------------------|
|
||||
| bots | Install and run the apollo, ginsberg, and milton bot flocks. See <https://bots.charlesreid1.com>. |
|
||||
| pod-charlesreid1 | Install the charlesreid1.com pod <https://github.com/charlesreid1-docker/pod-charlesreid1>). |
|
||||
| uptime | Install the uptime bot (<https://github.com/charlesreid1-bots/uptime>). |
|
||||
|
||||
|
||||
## Getting Started with Playbooks
|
||||
|
20
Secrets.md
Normal file
20
Secrets.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Secrets
|
||||
|
||||
Two kinds of secrets:
|
||||
|
||||
- secret variables (in secrets vault)
|
||||
- secret files (encrypted and kept in `secrets/` directory)
|
||||
|
||||
## Secret Variables
|
||||
|
||||
Use `ansible-vault edit` command.
|
||||
|
||||
## Secret Files
|
||||
|
||||
Encrypt a file using `ansible-vault encrypt` command.
|
||||
|
||||
Standard procedure is to add .enc extension to filename.
|
||||
|
||||
```
|
||||
$ ansible-vault encrypt --vault-password-file .vault_secret hello.txt --output hello.txt.enc
|
||||
```
|
47
TODO
47
TODO
@ -1,46 +1,20 @@
|
||||
mediawiki skin:
|
||||
- we made it templatable already
|
||||
- actually template it
|
||||
- charlesreid1-config git repo
|
||||
|
||||
captain hook config:
|
||||
- need to have a template
|
||||
- requires us to set a secret
|
||||
- have been using "charles@charlesreid1.com"
|
||||
- md5
|
||||
charlesreid1 theme:
|
||||
- make links templatable
|
||||
|
||||
letsencrypt:
|
||||
- set up script to renew the stupid letsencrypt every month
|
||||
|
||||
captain hook canary setup:
|
||||
- install service script that checks for the canary file every 10 seconds
|
||||
- it should run a script in the captain hook install dir
|
||||
- if it finds the canary file, it should use a docker pod scripts dir script to update captain hook
|
||||
|
||||
|
||||
pod-webhooks:
|
||||
- need to install captain hook canary and captain hook pull host
|
||||
- debian/dotfiles/bluebear_scripts/captain_hook_canary.sh
|
||||
- debian/dotfiles/bluebear_scripts/captain_hook_pull_host.py
|
||||
- debian/dotfiles/service/captain-hook-canary.service
|
||||
|
||||
|
||||
|
||||
making domain swappable:
|
||||
- submodules of pod-charlesreid1 would need to be reviewed in detail...
|
||||
- need to template more files than we are currently templating
|
||||
- the jinja copy from, copy to approach works well
|
||||
- gitea
|
||||
- mediawiki
|
||||
- nginx
|
||||
- letsencrypt
|
||||
more letsencrypt:
|
||||
- the pod-charlesreid1 role defaults has a top_domain set to charlesreid1.com
|
||||
- it says, "check for letsencrypt certs to this domain (top level domain of entire pod)"
|
||||
- this does not match up with the nginx config files... which is how things are REALLY set
|
||||
- top domain is used by gitea...
|
||||
|
||||
|
||||
|
||||
subdomains/domains approach needs to be:
|
||||
- specify a list of top level domains
|
||||
- subdomains are fixed, but needs to be eg pages.${TOP_DOMAIN}
|
||||
|
||||
|
||||
|
||||
pod-charlesreid1 /www setup
|
||||
|
||||
https://git.charlesreid1.com/charlesreid1/charlesreid1.com
|
||||
@ -48,9 +22,6 @@ https://git.charlesreid1.com/charlesreid1/charlesreid1.com
|
||||
/www/charlesreid1.com/
|
||||
charlesreid1.com-src/ <-- clone of charlesreid1.com repo, src branch
|
||||
git/ <-- .git dir for charlesreid1.com repo gh-pages branch
|
||||
git.data/ <-- .git dir for charlesreid1-data
|
||||
htdocs/ <-- clone of charlesreid1.com repo gh-pages branch
|
||||
data/ <-- clone of charlesreid1-data
|
||||
|
||||
|
||||
|
||||
|
21
barebones.yml
Normal file
21
barebones.yml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
# barebones playbook
|
||||
|
||||
- name: Initial setup root
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: init-root
|
||||
tags: init-root
|
||||
become: yes
|
||||
|
||||
- name: Initial setup non-root
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: init-nonroot
|
||||
tags: init-nonroot
|
||||
|
||||
- name: Set up dotfiles
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: dotfiles
|
||||
tags: dotfiles
|
75
base.yml
75
base.yml
@ -1,10 +1,10 @@
|
||||
---
|
||||
# main playbook for
|
||||
# all charlesreid1 nodes
|
||||
# all nodes
|
||||
|
||||
|
||||
- name: Initial setup root
|
||||
hosts: servers
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: init-root
|
||||
tags: init-root
|
||||
@ -12,71 +12,84 @@
|
||||
|
||||
|
||||
- name: Install packages with aptitude
|
||||
hosts: servers
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: install-stuff
|
||||
tags: install-stuff
|
||||
become: yes
|
||||
|
||||
|
||||
- name: Install docker and docker-compose
|
||||
hosts: servers
|
||||
roles:
|
||||
- role: docker
|
||||
become: yes
|
||||
|
||||
|
||||
- name: Initial setup non-root
|
||||
hosts: servers
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: init-nonroot
|
||||
tags: init-nonroot
|
||||
|
||||
|
||||
- name: Install docker and docker-compose
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: docker
|
||||
become: yes
|
||||
|
||||
|
||||
- name: Set up SSH keys
|
||||
hosts: servers
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: sshkeys
|
||||
tags: sshkeys
|
||||
|
||||
|
||||
- name: Install firewall
|
||||
hosts: "{{ machine_name }}"
|
||||
vars:
|
||||
- firewall_allowed_tcp_ports:
|
||||
- "{{ ssh_port }}"
|
||||
- "80"
|
||||
- "443"
|
||||
- "8080" # cadvisor
|
||||
- "9100" # nodeexporter
|
||||
- "3100" # loki
|
||||
- "9113" # nginxexporter
|
||||
roles:
|
||||
- role: firewall
|
||||
become: yes
|
||||
|
||||
|
||||
- name: Set up dotfiles
|
||||
hosts: servers
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: dotfiles
|
||||
tags: dotfiles
|
||||
|
||||
|
||||
- name: Set up vim
|
||||
hosts: servers
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: vim
|
||||
tags: vim
|
||||
|
||||
|
||||
- name: Install pyenv
|
||||
hosts: servers
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: pyenv
|
||||
tags: pyenv
|
||||
become: yes
|
||||
|
||||
|
||||
- name: Install goenv
|
||||
hosts: servers
|
||||
roles:
|
||||
- role: goenv
|
||||
tags: goenv
|
||||
become: yes
|
||||
|
||||
|
||||
|
||||
#- name: Install AWS credentials and tools
|
||||
# hosts: servers
|
||||
# roles:
|
||||
# - role: aws
|
||||
# tags: aws
|
||||
# aws_secret_access_key: "{{ charlesreid1_aws_secret_access_key }}"
|
||||
# aws_access_key_id: "{{ charlesreid1_aws_access_key_id }}"
|
||||
#- name: Install goenv
|
||||
# hosts: servers
|
||||
# roles:
|
||||
# - role: goenv
|
||||
# tags: goenv
|
||||
# become: yes
|
||||
|
||||
|
||||
#- name: Install AWS credentials and tools
|
||||
# hosts: servers
|
||||
# roles:
|
||||
# - role: aws
|
||||
# tags: aws
|
||||
# aws_secret_access_key: "{{ charlesreid1_aws_secret_access_key }}"
|
||||
# aws_access_key_id: "{{ charlesreid1_aws_access_key_id }}"
|
||||
|
26
bots.md
Normal file
26
bots.md
Normal file
@ -0,0 +1,26 @@
|
||||
strategy for dealing with bot keys:
|
||||
|
||||
step 1: encrypt file with ansible-vault
|
||||
|
||||
```
|
||||
$ ansible-vault encrypt server.key
|
||||
```
|
||||
|
||||
step 2: refer to the encrypted file in the copy module
|
||||
|
||||
```
|
||||
---
|
||||
- hosts: all
|
||||
tasks:
|
||||
- name: Copy server private key
|
||||
copy:
|
||||
src: server.key
|
||||
dest: /etc/env/server.key
|
||||
decrypt: yes
|
||||
owner: root
|
||||
group: root
|
||||
mode: 400
|
||||
backup: no
|
||||
```
|
||||
|
||||
|
10
bots.yml
Normal file
10
bots.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
# Playbook for installing bot flocks
|
||||
|
||||
|
||||
- name: Install bot flock
|
||||
hosts: dorky
|
||||
become: yes
|
||||
roles:
|
||||
- role: bots
|
||||
|
11
dockprom.yml
Normal file
11
dockprom.yml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
# deploy dockprom pod to dev stage
|
||||
|
||||
- name: Install dockprom docker pod
|
||||
hosts: "{{ machine_name }}"
|
||||
vars:
|
||||
- install_client_service: "true"
|
||||
- dockprom_bind_ip: "192.168.30.40"
|
||||
roles:
|
||||
- role: pod-dockprom
|
||||
become: yes
|
@ -10,6 +10,7 @@ Table of Contents
|
||||
* [provision\.yml: Provision Your Remote Node](#provisionyml-provision-your-remote-node)
|
||||
* [base\.yml: the base plays](#baseyml-the-base-plays)
|
||||
* [podcharlesreid1\.yml: charlesreid1 docker pod play](#podcharlesreid1yml-charlesreid1-docker-pod-play)
|
||||
* [bots\.yml: bot play](#botsyml-charlesreid1-bots-play)
|
||||
* [List of Tags](#list-of-tags)
|
||||
|
||||
|
||||
@ -134,6 +135,34 @@ ANSIBLE_CONFIG="do.cfg" \
|
||||
```
|
||||
|
||||
|
||||
## bots.yml: charlesreid1 bots play
|
||||
|
||||
The bot playbook installs the following bot flocks:
|
||||
|
||||
- [apollo bot flock](https://github.com/charlesreid1-bots/apollo-space-junk)
|
||||
- [ginsberg bot flock](https://github.com/charlesreid1-bots/ginsberg-bot-flock)
|
||||
- [milton bot flock](https://github.com/charlesreid1-bots/milton-bot-flock)
|
||||
|
||||
It also installs the Twitter keys these bots require using the Ansible
|
||||
vault, which stores an encrypted zip file with keys for each bot flock.
|
||||
|
||||
```plain
|
||||
ANSIBLE_CONFIG="vagrant.cfg" \
|
||||
ansible-playbook \
|
||||
--vault-password-file=.vault_secret \
|
||||
bots.yml
|
||||
```
|
||||
|
||||
**Linode Example:**
|
||||
|
||||
```plain
|
||||
ANSIBLE_CONFIG="linode.cfg" \
|
||||
ansible-playbook \
|
||||
--vault-password-file=.vault_secret \
|
||||
bots.yml
|
||||
```
|
||||
|
||||
|
||||
## List of Tags
|
||||
|
||||
(Incomplete)
|
||||
|
@ -15,6 +15,7 @@ Table of Contents
|
||||
* [How to edit the vault file?](#how-to-edit-the-vault-file)
|
||||
* [How to use the vault file?](#how-to-use-the-vault-file)
|
||||
* [Adding new secret variables](#adding-new-secret-variables)
|
||||
* [Adding new encrypted files](#adding-new-encrypted-files)
|
||||
|
||||
|
||||
## What is Ansible Vault?
|
||||
@ -166,3 +167,14 @@ This is where you put the real API key:
|
||||
vault_api_key: "ABCXYZ123456"
|
||||
```
|
||||
|
||||
|
||||
## Adding new encrypted files
|
||||
|
||||
Encrypt a file using `ansible-vault encrypt` command.
|
||||
|
||||
Standard procedure is to add .enc extension to filename.
|
||||
|
||||
```
|
||||
$ ansible-vault encrypt --vault-password-file .vault_secret hello.txt --output hello.txt.enc
|
||||
```
|
||||
|
||||
|
25
firewall.yml
Normal file
25
firewall.yml
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
# Playbook for firewall role
|
||||
|
||||
|
||||
- name: Set up SSH keys
|
||||
hosts: "{{ machine_name }}"
|
||||
roles:
|
||||
- role: sshkeys
|
||||
tags: sshkeys
|
||||
|
||||
|
||||
- name: Install firewall
|
||||
hosts: "{{ machine_name }}"
|
||||
vars:
|
||||
- firewall_allowed_tcp_ports:
|
||||
- "{{ ssh_port }}"
|
||||
- "80"
|
||||
- "443"
|
||||
- "8080" # cadvisor
|
||||
- "9100" # nodeexporter
|
||||
- "3100" # loki
|
||||
- "9113" # nginxexporter
|
||||
roles:
|
||||
- role: firewall
|
||||
become: yes
|
@ -22,35 +22,66 @@ ssh_key_email: "charlesreid1@gmail.com"
|
||||
charlesreid1_admin_email: "charles@charlesreid1.com"
|
||||
|
||||
# nginx variables
|
||||
|
||||
charlesreid1_port_default: "80"
|
||||
charlesreid1_port_gitea: "80"
|
||||
|
||||
charlesreid1_port_ssl_default: "443"
|
||||
charlesreid1_port_ssl_gitea: "443"
|
||||
|
||||
# pyenv variables
|
||||
pyenv_root: "/home/{{ username }}/.pyenv"
|
||||
pyenv_versions:
|
||||
- 3.7.9
|
||||
# - miniconda3-4.3.30
|
||||
# - 3.7.5
|
||||
# - 3.8.0
|
||||
pyenv_global_version: 3.7.9
|
||||
pyenv_python: "{{ pyenv_root }}/versions/{{ pyenv_global_version }}/bin/python"
|
||||
pyenv_pip: "{{ pyenv_root }}/versions/{{ pyenv_global_version }}/bin/pip"
|
||||
|
||||
|
||||
|
||||
# ports
|
||||
ssh_port: 5778
|
||||
|
||||
|
||||
########################
|
||||
# vault variables
|
||||
|
||||
|
||||
####################
|
||||
# dockprom
|
||||
charlesreid1_dockprom_admin_user: "{{ vault_dockprom_admin_user }}"
|
||||
charlesreid1_dockprom_admin_pass: "{{ vault_dockprom_admin_pass }}"
|
||||
|
||||
|
||||
####################
|
||||
# base vault vars
|
||||
|
||||
# unix system password
|
||||
charlesreid1_system_password: "{{ vault_system_password }}"
|
||||
base_system_password: "{{ vault_system_password }}"
|
||||
|
||||
|
||||
####################
|
||||
# uptime vault vars
|
||||
|
||||
# uptime details
|
||||
charlesreid1_uptime_user: "{{ username }}"
|
||||
charlesreid1_uptime_gmail_email: "{{ vault_uptime_gmail_email }}"
|
||||
charlesreid1_uptime_gmail_password: "{{ vault_uptime_gmail_password }}"
|
||||
charlesreid1_uptime_recipient_name: "{{ vault_uptime_recipient_name }}"
|
||||
charlesreid1_uptime_recipient_email: "{{ vault_uptime_recipient_email }}"
|
||||
charlesreid1_uptime_slack_apikey: "{{ vault_uptime_slack_apikey }}"
|
||||
charlesreid1_uptime_slack_channel: "{{ vault_uptime_slack_channel }}"
|
||||
|
||||
|
||||
####################
|
||||
# charlesreid1 vault vars
|
||||
|
||||
# AWS credentials:
|
||||
charlesreid1_aws_secret_access_key: "{{ vault_aws_secret_access_key }}"
|
||||
charlesreid1_aws_access_key_id: "{{ vault_aws_access_key_id }}"
|
||||
|
||||
|
||||
# set the IP address of our two servers
|
||||
#
|
||||
# pod-charlesreid
|
||||
charlesreid1_nginx_charlesreid1_ip: "{{ vault_nginx_charlesreid1_ip }}"
|
||||
#
|
||||
# pod-webhooks
|
||||
charlesreid1_nginx_subdomains_ip: "{{ vault_nginx_subdomains_ip }}"
|
||||
|
||||
|
||||
# Secrets and stuff
|
||||
|
||||
# pod-charlesreid1 requires a mysql password
|
||||
@ -62,8 +93,3 @@ charlesreid1_gitea_internal_token: "{{ vault_gitea_internal_token }}"
|
||||
|
||||
# mediawiki secret key for web sessions
|
||||
charlesreid1_mediawiki_secretkey: "{{ vault_mediawiki_secretkey }}"
|
||||
|
||||
# pod-webhooks requires a secret to be sent
|
||||
# with the webhook.
|
||||
charlesreid1_captain_hook_secret: "{{ vault_captain_hook_secret }}"
|
||||
|
||||
|
@ -1,46 +1,59 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
66323230386436663663343339376232383737666330323161643535323434363962366336663061
|
||||
6264653564626462323934633730326535643935393233370a323031333835616137666634343934
|
||||
32613038323132376566353837373337393931633239373332653063333838333633373831653938
|
||||
6139316565646531650a663864383930383038373763363236653634373832613931643139313432
|
||||
38356133356635356637646132313631623834326331333362623932363363313030633533633361
|
||||
33666162613931636238646136366466633933336233326236636139613266613735633832383463
|
||||
64366435343138366136663433363332663633643963626633646361343566623461393437396632
|
||||
33353366336330383164646438656237363532366563333066323838633539663331613866346161
|
||||
39346166393064333230623235323432333235396637356432656132343833323336623633616235
|
||||
38393430613039333232353339356665373132366235333438383562393066313537646338323236
|
||||
34366431636435366438333236623330613565343033663839316562616330303365383233396334
|
||||
66333831643162653631643062616535353965393837336264613938383636633664653935383064
|
||||
66396536663065303438663932616435313061643930326533316530383234393230666332616233
|
||||
66333366316634313861396330303561616136316562613530303364643639353366363937356537
|
||||
38376266376237646662656232333532303532373832633630663530326361623131626631363035
|
||||
36313264626334373136323461623339363730653636393939373562356130656564613964373334
|
||||
31326131323465663861333063613132363838396630616236386166336164353262326335356138
|
||||
64636264633232623864383431616364303465316662353337333632346238633136633933643234
|
||||
37383731333133363139643835376563653462346138646663636537346331363864306536623139
|
||||
63626239643561383363313764363435376666666533323664386565376435383361306634633239
|
||||
34653637303338646634643965363235633635633736386435373334326461663464616637646236
|
||||
62303139623738646432356337626464346136396536356538643736303137626438633362356332
|
||||
33306564333131636530666534316136386534623962633438663639663235316164346136383262
|
||||
30363234396564663438373463653164656434656661356530616639663533386231396462656234
|
||||
32663133366130376135353664653036376161633063353237323033376662643265396235623339
|
||||
36633434613732346437303837393164626538316336616437303566353936623863313561666238
|
||||
30663263386663376263313139653737666135306237353737323862636565666566343034643133
|
||||
36653066316633343837623432393561336663646432363965393463613330313935663934623030
|
||||
66653066396664393765363536376336353962373466373163366331353835316561313533333536
|
||||
63346331633337343766393335313836366336656533653233636162636534363261356366336432
|
||||
66323035386430653230646539623765333134383136306634646136333235636635336337356465
|
||||
61626265613565346437656233306438333939323132396437643034636531303763373932393935
|
||||
63633731643436376630373662613461383333623162323534626131336438313961333431656636
|
||||
63383733633166646230663762373466303732616437636265646266626238636463313732316661
|
||||
39653734626463313065313064383631356565613463323465393836613962653438336666313066
|
||||
65316333623061396436366136643365653563376337653463613565336231623534633831656639
|
||||
65616462363738323935393334653162613562633239326634643533303565643764646236353936
|
||||
37353930383566373364376132383861393835613738386562393365316439373665393535356435
|
||||
39396564646138323865333063336563636163356637363065316433393733613262643232663564
|
||||
64366539653262386334363766346162373037623033626439316464616636376461643034633464
|
||||
62616130383630613864353432313432326464353866623132383963323438396266656566303331
|
||||
64613732393662386633656263333861663738313530303361313464316337346261336563363334
|
||||
65663336333735316134636262643037373134373461633466613233343135336130626430396334
|
||||
33366330326662313163636362633532333437616537363335393133363065626235373830356131
|
||||
64303639656534326130333234643338346436356533636465356437653366663764
|
||||
62626164613766613162653233616565393064366366303463653761626435663236366237663931
|
||||
3938316262353261666435313766306438656330653561330a303036313536363263633635636435
|
||||
33363266643233363838616239333061316432346362383063326630623532363862666331373137
|
||||
6161643632353730350a656335663536366264633634323263386461646161386233646639393862
|
||||
32663162613130343463646363653663363237303436623138633366316163323164623366616538
|
||||
31306336383434656536383339383535646461326539653934363436333363633963313239383938
|
||||
30666333373537653338316633643436313732346261656330643162343230636163343136353464
|
||||
33646237663338636134613832623338316463366338623662363665633561316565306664663533
|
||||
62336636626136613465346533316237626335656632373535383137353264306337633637653762
|
||||
34366561386462306464373263363537303465306533303935383130393161343030323337343932
|
||||
33323839326665643734643064353838643436626363643733363232386665323761303165383236
|
||||
33393533333361383566616335343336303730656432306632326134653239306334306438646437
|
||||
65323339303038656239333230323037343466393134353731643033643065333431623333663264
|
||||
61306132636637353734373064343965386233663031313836306639313533303130306663316666
|
||||
30626564373066333561633363383733313063346564336338653737346130313432653231353732
|
||||
64636661346434616536636638623265396330343639613139623965373131336363376333626162
|
||||
65386562613362613266336565303065663132336263636535623639383035343131336532393466
|
||||
66666563623863653566336464363738366566343462366263653434303364623237633763333864
|
||||
34313362643665613834303533653533326531396132613539363434363463303263643433363866
|
||||
35353331633436346238616231656166343030613935343332363132363135353063386563366438
|
||||
61653739373534313164373262326233613032353835616334396332643262616665326130386462
|
||||
37363734633964363937633336326361313561373066643766356462333562373565643138333065
|
||||
66613165393539663239396561393235653236646537656637356430323731643761613061393665
|
||||
32636262343861386264326666613230373966316561653637336465653831343531363439323433
|
||||
65343430303361663437666230383236656538326466636366373366326637633063383538643461
|
||||
64643431656535623961313164623764376130633839306632376237633734343635393164356363
|
||||
39636261666639626261313962386434626533313538393463623365643065633432386630386434
|
||||
34313164313366353862653838356431323764633133303962346663303836333361613333666463
|
||||
34633032393861386332383236366432396337353539616132336537326663303263613464346235
|
||||
37373163383164306233653265356136393364316637626361353432333436306634643462333530
|
||||
63623330666237636138633131646232663531326462303837393236656662666233316532373162
|
||||
62353366326238313131366234646532626565666563393139376536643936313736626166313466
|
||||
61383461383538386566356333396464373636626266373239623266356263323532646366343966
|
||||
39666566623964303834326330303437626431356261396663373031306164636131383338313661
|
||||
38373034663266663763656436666137336235646635326664326633616662383039386139616266
|
||||
61306630373838333234613566386431633534653961633234653364326437356233343965666465
|
||||
65326266656665633331356665363435343438613134343339393762373762643530376363343930
|
||||
35333735386331343530343239393864323838633364363338373734323434393736333837373363
|
||||
38383464303434316436343764373934643162616237333930383239353862366532316263303461
|
||||
66333031323563626461363134656636393734323531343163373736353965323865613963646332
|
||||
32653363336366643261323063323662326239346135316664393366623532333865343461666532
|
||||
34343761636135363035313338353934653533366165633361653738333836336630383538336264
|
||||
61633538623663313136363636393332616335626137326332613131363934373235306662356163
|
||||
65643334376634626665316136393236313437376233333963316134613861623035666132386136
|
||||
63363062653235663136383665356661306538373566313136336564356563326138656635353466
|
||||
31646333373334623931353037663863636366386530383435623139336630353261633339323961
|
||||
65646332623336616536343063643666646634326462366131613930653538613433373230326633
|
||||
38353733656561353938306235303231623438396366356235666131323366633061313361656533
|
||||
38646331336636303138623962646464363062313462366664653466326335393437333336366133
|
||||
37383462303635316661343935353762666633366334343430326562663434313239373235356235
|
||||
32303962653437366363363739646263663264376665353362383033383466336435303736313731
|
||||
35646361306535373532393038383030336634353737343534663461393830346464386138623139
|
||||
61623664626164386630623633363237643161656434343465633530653836373439376339313831
|
||||
39343739336461333535663264626230393737306137653864323734626639313133626132626436
|
||||
66616465386333626332663064396137666561663162383337333634303037366234633632623538
|
||||
36356464323333613861383432356263636438316133333531393331323262316438343633643333
|
||||
39363130376562373163663633363363306133643161313063303165643934633266613330616130
|
||||
6633313739623562656533376639346132333338373030303561
|
||||
|
@ -1,6 +1,6 @@
|
||||
[defaults]
|
||||
inventory = linodehosts
|
||||
remote_user = root
|
||||
remote_user = charles
|
||||
private_key_file = ~/.ssh/id_rsa
|
||||
host_key_checking = False
|
||||
vault_password_file = .vault_secret
|
||||
|
14
linodehosts
14
linodehosts
@ -1,5 +1,13 @@
|
||||
[servers:children]
|
||||
linodeservers
|
||||
bear
|
||||
dorky
|
||||
dracaena
|
||||
|
||||
[linodeservers]
|
||||
linode ansible_host=50.116.7.163 ansible_port=22 ansible_python_interpreter=/usr/bin/python3
|
||||
[bear]
|
||||
linode_bear ansible_host=300.300.300.300 ansible_port=22 ansible_python_interpreter=/usr/bin/python3
|
||||
|
||||
[dorky]
|
||||
linode_dorky ansible_host=400.400.400.400 ansible_port=22 ansible_python_interpreter=/usr/bin/python3
|
||||
|
||||
[dracaena]
|
||||
linode_dracaena ansible_host=500.500.500.500 ansible_port=22 ansible_python_interpreter=/usr/bin/python3
|
||||
|
8
local.cfg
Normal file
8
local.cfg
Normal file
@ -0,0 +1,8 @@
|
||||
[defaults]
|
||||
inventory = localhosts
|
||||
remote_user = charles
|
||||
private_key_file = ~/.ssh/id_rsa
|
||||
host_key_checking = False
|
||||
vault_password_file = .vault_secret
|
||||
log_path = ansible_linode.log
|
||||
command_warnings = raise
|
5
localhosts
Normal file
5
localhosts
Normal file
@ -0,0 +1,5 @@
|
||||
[servers:children]
|
||||
bespin
|
||||
|
||||
[bespin]
|
||||
localhost_bespin ansible_host=192.168.0.0 ansible_port=22 ansible_python_interpreter=/usr/bin/python3
|
7
memo
Normal file
7
memo
Normal file
@ -0,0 +1,7 @@
|
||||
changes:
|
||||
- base uses machine name
|
||||
- postfix is separate playbook
|
||||
- uptime is separate playbook
|
||||
- bots playbook
|
||||
- pod charlesreid1 playbook
|
||||
|
@ -4,24 +4,24 @@
|
||||
|
||||
|
||||
- name: Install SSL certificates for charlesreid1 docker pod
|
||||
hosts: servers
|
||||
hosts: bear
|
||||
become: yes
|
||||
roles:
|
||||
- role: letsencrypt
|
||||
tags: letsencrypt
|
||||
site_email: "charles@charlesreid1.com"
|
||||
domains:
|
||||
- "charlesreid1.red"
|
||||
- "www.charlesreid1.red"
|
||||
- "git.charlesreid1.red"
|
||||
- "charlesreid1.com"
|
||||
- "www.charlesreid1.com"
|
||||
- "git.charlesreid1.com"
|
||||
|
||||
|
||||
|
||||
- name: Install charlesreid1 docker pod
|
||||
hosts: servers
|
||||
hosts: bear
|
||||
become: yes
|
||||
roles:
|
||||
- role: pod-charlesreid1
|
||||
tags: pod-charlesreid1
|
||||
charlesreid1_server_name_default: "charlesreid1.red"
|
||||
charlesreid1_server_name_default: "charlesreid1.com"
|
||||
|
||||
|
15
postfix.yml
Normal file
15
postfix.yml
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
# Playbook for postfix server
|
||||
|
||||
|
||||
- name: Install postfix
|
||||
hosts: dorky
|
||||
roles:
|
||||
- postfix
|
||||
vars:
|
||||
postfix_raw_options:
|
||||
- |
|
||||
append_dot_mydomain = yes
|
||||
myorigin = /etc/mailname
|
||||
postfix_hostname: "charlesreid1.party"
|
||||
postfix_mailname: "charlesreid1.party"
|
@ -10,6 +10,8 @@
|
||||
gather_facts: no
|
||||
remote_user: root
|
||||
pre_tasks:
|
||||
- name: "Update aptitude"
|
||||
raw: sudo apt-get -y update
|
||||
- name: "Install python2"
|
||||
raw: sudo apt-get -y install python
|
||||
- name: Add the non-root user
|
||||
|
38
roles/bots/README.md
Normal file
38
roles/bots/README.md
Normal file
@ -0,0 +1,38 @@
|
||||
Role Name
|
||||
=========
|
||||
|
||||
A brief description of the role goes here.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
||||
|
||||
- hosts: servers
|
||||
roles:
|
||||
- { role: username.rolename, x: 42 }
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
BSD
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
|
12
roles/bots/defaults/main.yml
Normal file
12
roles/bots/defaults/main.yml
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
# variables for installing bots
|
||||
|
||||
apollo_user: "{{ nonroot_user }}"
|
||||
apollo_path: "/home/{{ apollo_user }}/apollo"
|
||||
|
||||
ginsberg_user: "{{ nonroot_user }}"
|
||||
ginsberg_path: "/home/{{ apollo_user }}/ginsberg"
|
||||
|
||||
milton_user: "{{ nonroot_user }}"
|
||||
milton_path: "/home/{{ milton_user }}/milton"
|
||||
|
183
roles/bots/tasks/apollo.yml
Normal file
183
roles/bots/tasks/apollo.yml
Normal file
@ -0,0 +1,183 @@
|
||||
---
|
||||
# apollo bot flock
|
||||
#
|
||||
# Process:
|
||||
# - clone repo
|
||||
# - install api keys
|
||||
# - install bot keys
|
||||
# - install startup service
|
||||
# - enable startup service
|
||||
# - start startup service
|
||||
|
||||
|
||||
# #####################################
|
||||
# CLONE APOLLO SPACE JUNK
|
||||
|
||||
|
||||
- name: Check if apollo repo is already cloned
|
||||
stat:
|
||||
path: "{{ apollo_path }}"
|
||||
register: apollo_clone_check
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- git
|
||||
|
||||
|
||||
- name: Clone apollo repo
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: "https://github.com/charlesreid1-bots/apollo-space-junk.git"
|
||||
dest: "{{ apollo_path }}"
|
||||
recursive: yes
|
||||
when:
|
||||
- "not apollo_clone_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- git
|
||||
|
||||
|
||||
- name: Pull apollo
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git pull"
|
||||
args:
|
||||
chdir: "{{ apollo_path }}"
|
||||
when:
|
||||
- "apollo_clone_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- git
|
||||
|
||||
|
||||
# #####################################
|
||||
# SET UP BOT KEYS
|
||||
|
||||
|
||||
- name: "Install API keys"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
copy:
|
||||
src: "../../../secrets/apikeys.json.enc"
|
||||
dest: "{{ apollo_path }}/bot/apikeys.json"
|
||||
decrypt: yes
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- keys
|
||||
|
||||
- name: "Install zipped Apollo Twitter keys"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
copy:
|
||||
src: "../../../secrets/apollo_keys.zip.enc"
|
||||
dest: "{{ apollo_path }}/bot/apollo_keys.zip"
|
||||
decrypt: yes
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- keys
|
||||
|
||||
- name: "Unzip Apollo Twitter keys"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "unzip -o {{ apollo_path }}/bot/apollo_keys.zip -d {{ apollo_path }}/bot"
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- keys
|
||||
|
||||
|
||||
# #####################################
|
||||
# SET UP VIRTUALENV
|
||||
#
|
||||
# Procedure:
|
||||
# - install virtualenv package
|
||||
# - create the virtual env dir
|
||||
# - source the activate script
|
||||
# - pip install requirements.txt
|
||||
|
||||
- name: Pip install virtualenv
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "/home/{{ username }}/.pyenv/shims/pip install virtualenv"
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
- name: Create apollo virtual environment
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ pyenv_python }} -m virtualenv -p python3.6 {{ apollo_path }}/vp"
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
- name: Pip install apollo requirements.txt into the uptime virtual environment
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ apollo_path }}/vp/bin/pip install -r {{ apollo_path }}/requirements.txt"
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
# #####################################
|
||||
# INSTALL STARTUP SERVICES
|
||||
#
|
||||
# Check if bot startup service is installed.
|
||||
# If not, install it.
|
||||
|
||||
- name: Check if apollo startup service is installed
|
||||
stat:
|
||||
path: /etc/systemd/system/apollo.service
|
||||
register: apollo_service_check
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Fetch the apollo startup service jinja template
|
||||
fetch:
|
||||
src: "{{ apollo_path }}/service/apollo.service.j2"
|
||||
dest: "/tmp/apollo.service.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Install the apollo startup service file
|
||||
become: yes
|
||||
template:
|
||||
src: "/tmp/apollo.service.j2"
|
||||
dest: "/etc/systemd/system/apollo.service"
|
||||
mode: 0774
|
||||
when:
|
||||
- "not apollo_service_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Enable apollo startup service
|
||||
become: yes
|
||||
command: "systemctl enable apollo"
|
||||
when:
|
||||
- "apollo_service_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- apollo
|
||||
- bot-services
|
177
roles/bots/tasks/ginsberg.yml
Normal file
177
roles/bots/tasks/ginsberg.yml
Normal file
@ -0,0 +1,177 @@
|
||||
---
|
||||
# ginsberg bot flock
|
||||
#
|
||||
# Process:
|
||||
# - clone repo
|
||||
# - install api keys
|
||||
# - install bot keys
|
||||
# - install startup service
|
||||
# - enable startup service
|
||||
# - start startup service
|
||||
|
||||
|
||||
# #####################################
|
||||
# CLONE GINSBERG BOT FLOCK
|
||||
|
||||
|
||||
- name: Check if ginsberg repo is already cloned
|
||||
stat:
|
||||
path: "{{ ginsberg_path }}"
|
||||
register: ginsberg_clone_check
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- git
|
||||
|
||||
|
||||
- name: Clone ginsberg repo
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: "https://github.com/charlesreid1-bots/ginsberg-bot-flock.git"
|
||||
dest: "{{ ginsberg_path }}"
|
||||
recursive: yes
|
||||
when:
|
||||
- "not ginsberg_clone_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- git
|
||||
|
||||
|
||||
- name: Pull ginsberg
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git pull"
|
||||
args:
|
||||
chdir: "{{ ginsberg_path }}"
|
||||
when:
|
||||
- "ginsberg_clone_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- git
|
||||
|
||||
|
||||
# #####################################
|
||||
# SET UP BOT KEYS
|
||||
|
||||
|
||||
- name: "Install API keys"
|
||||
copy:
|
||||
src: "../../../secrets/apikeys.json.enc"
|
||||
dest: "{{ ginsberg_path }}/bot/apikeys.json"
|
||||
decrypt: yes
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- keys
|
||||
|
||||
- name: "Install zipped ginsberg Twitter keys"
|
||||
copy:
|
||||
src: "../../../secrets/ginsberg_keys.zip.enc"
|
||||
dest: "{{ ginsberg_path }}/bot/ginsberg_keys.zip"
|
||||
decrypt: yes
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- keys
|
||||
|
||||
- name: "Unzip ginsberg Twitter keys"
|
||||
command: "unzip -o {{ ginsberg_path }}/bot/ginsberg_keys.zip -d {{ ginsberg_path }}/bot"
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- keys
|
||||
|
||||
|
||||
# #####################################
|
||||
# SET UP VIRTUALENV
|
||||
#
|
||||
# Procedure:
|
||||
# - install virtualenv package
|
||||
# - create the virtual env dir
|
||||
# - source the activate script
|
||||
# - pip install requirements.txt
|
||||
|
||||
- name: Pip install virtualenv
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "/home/{{ username }}/.pyenv/shims/pip install virtualenv"
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
- name: Create ginsberg virtual environment
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ pyenv_python }} -m virtualenv -p python3.6 {{ ginsberg_path }}/vp"
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
- name: Pip install ginsberg requirements.txt into the uptime virtual environment
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ ginsberg_path }}/vp/bin/pip install -r {{ ginsberg_path }}/requirements.txt"
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
# #####################################
|
||||
# INSTALL STARTUP SERVICES
|
||||
#
|
||||
# Check if bot startup service is installed.
|
||||
# If not, install it.
|
||||
|
||||
- name: Check if ginsberg startup service is installed
|
||||
stat:
|
||||
path: /etc/systemd/system/ginsberg.service
|
||||
register: ginsberg_service_check
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Fetch the ginsberg startup service jinja template
|
||||
fetch:
|
||||
src: "{{ ginsberg_path }}/service/ginsberg.service.j2"
|
||||
dest: "/tmp/ginsberg.service.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Install the ginsberg startup service file
|
||||
become: yes
|
||||
template:
|
||||
src: "/tmp/ginsberg.service.j2"
|
||||
dest: "/etc/systemd/system/ginsberg.service"
|
||||
mode: 0774
|
||||
when:
|
||||
- "not ginsberg_service_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Enable ginsberg startup service
|
||||
become: yes
|
||||
command: "systemctl enable ginsberg"
|
||||
when:
|
||||
- "ginsberg_service_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- ginsberg
|
||||
- bot-services
|
7
roles/bots/tasks/main.yml
Normal file
7
roles/bots/tasks/main.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
# tasks file for installing bots
|
||||
|
||||
- include: apollo.yml
|
||||
- include: ginsberg.yml
|
||||
- include: milton.yml
|
||||
|
178
roles/bots/tasks/milton.yml
Normal file
178
roles/bots/tasks/milton.yml
Normal file
@ -0,0 +1,178 @@
|
||||
---
|
||||
# milton bot flock
|
||||
#
|
||||
# Process:
|
||||
# - clone repo
|
||||
# - install api keys
|
||||
# - install bot keys
|
||||
# - install startup service
|
||||
# - enable startup service
|
||||
# - start startup service
|
||||
|
||||
|
||||
# #####################################
|
||||
# CLONE MILTON BOT FLOCK
|
||||
|
||||
|
||||
- name: Check if milton repo is already cloned
|
||||
stat:
|
||||
path: "{{ milton_path }}"
|
||||
register: milton_clone_check
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- git
|
||||
|
||||
|
||||
- name: Clone milton repo
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: "https://github.com/charlesreid1-bots/milton-bot-flock.git"
|
||||
dest: "{{ milton_path }}"
|
||||
recursive: yes
|
||||
when:
|
||||
- "not milton_clone_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- git
|
||||
|
||||
|
||||
- name: Pull milton
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git pull"
|
||||
args:
|
||||
chdir: "{{ milton_path }}"
|
||||
when:
|
||||
- "milton_clone_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- git
|
||||
|
||||
|
||||
# #####################################
|
||||
# SET UP BOT KEYS
|
||||
|
||||
|
||||
- name: "Install API keys"
|
||||
copy:
|
||||
src: "../../../secrets/apikeys.json.enc"
|
||||
dest: "{{ milton_path }}/bot/apikeys.json"
|
||||
decrypt: yes
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- keys
|
||||
|
||||
- name: "Install zipped milton Twitter keys"
|
||||
copy:
|
||||
src: "../../../secrets/milton_keys.zip.enc"
|
||||
dest: "{{ milton_path }}/bot/milton_keys.zip"
|
||||
decrypt: yes
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- keys
|
||||
|
||||
- name: "Unzip milton Twitter keys"
|
||||
command: "unzip -o {{ milton_path }}/bot/milton_keys.zip -d {{ milton_path }}/bot"
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- keys
|
||||
|
||||
|
||||
# #####################################
|
||||
# SET UP VIRTUALENV
|
||||
#
|
||||
# Procedure:
|
||||
# - install virtualenv package
|
||||
# - create the virtual env dir
|
||||
# - source the activate script
|
||||
# - pip install requirements.txt
|
||||
|
||||
- name: Pip install virtualenv
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "/home/{{ username }}/.pyenv/shims/pip install virtualenv"
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
- name: Create milton virtual environment
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ pyenv_python }} -m virtualenv -p python3.6 {{ milton_path }}/vp"
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
- name: Pip install milton requirements.txt into the uptime virtual environment
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ milton_path }}/vp/bin/pip install -r {{ milton_path }}/requirements.txt"
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- bot-virtualenv
|
||||
|
||||
|
||||
# #####################################
|
||||
# INSTALL STARTUP SERVICES
|
||||
#
|
||||
# Check if bot startup service is installed.
|
||||
# If not, install it.
|
||||
|
||||
- name: Check if milton startup service is installed
|
||||
stat:
|
||||
path: /etc/systemd/system/milton.service
|
||||
register: milton_service_check
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Fetch the milton startup service jinja template
|
||||
fetch:
|
||||
src: "{{ milton_path }}/service/milton.service.j2"
|
||||
dest: "/tmp/milton.service.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Install the milton startup service file
|
||||
become: yes
|
||||
template:
|
||||
src: "/tmp/milton.service.j2"
|
||||
dest: "/etc/systemd/system/milton.service"
|
||||
mode: 0774
|
||||
when:
|
||||
- "not milton_service_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- bot-services
|
||||
|
||||
|
||||
- name: Enable milton startup service
|
||||
become: yes
|
||||
command: "systemctl enable milton"
|
||||
when:
|
||||
- "milton_service_check.stat.exists"
|
||||
tags:
|
||||
- bots
|
||||
- milton
|
||||
- bot-services
|
||||
#
|
3
roles/firewall/.gitignore
vendored
Normal file
3
roles/firewall/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.retry
|
||||
*/__pycache__
|
||||
*.pyc
|
20
roles/firewall/LICENSE
Normal file
20
roles/firewall/LICENSE
Normal file
@ -0,0 +1,20 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Jeff Geerling
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
4
roles/firewall/README.md
Normal file
4
roles/firewall/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
# Firewall Ansible Role
|
||||
|
||||
Source: <https://github.com/geerlingguy/ansible-role-firewall>
|
||||
|
22
roles/firewall/defaults/main.yml
Normal file
22
roles/firewall/defaults/main.yml
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
firewall_state: started
|
||||
firewall_enabled_at_boot: true
|
||||
|
||||
firewall_flush_rules_and_chains: true
|
||||
|
||||
firewall_allowed_tcp_ports:
|
||||
- "22"
|
||||
- "80"
|
||||
- "443"
|
||||
|
||||
firewall_allowed_udp_ports: []
|
||||
firewall_forwarded_tcp_ports: []
|
||||
firewall_forwarded_udp_ports: []
|
||||
firewall_additional_rules: []
|
||||
firewall_enable_ipv6: true
|
||||
firewall_ip6_additional_rules: []
|
||||
firewall_log_dropped_packets: true
|
||||
|
||||
# Set to true to ensure other firewall management software is disabled.
|
||||
firewall_disable_firewalld: true
|
||||
firewall_disable_ufw: true
|
3
roles/firewall/handlers/main.yml
Normal file
3
roles/firewall/handlers/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
- name: restart firewall
|
||||
service: name=firewall state=restarted
|
52
roles/firewall/tasks/main.yml
Normal file
52
roles/firewall/tasks/main.yml
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
- name: Ensure iptables is present.
|
||||
package: name=iptables state=present
|
||||
|
||||
- name: Flush iptables the first time playbook runs.
|
||||
command: >
|
||||
iptables -F
|
||||
creates=/etc/firewall.bash
|
||||
|
||||
- name: Copy firewall script into place.
|
||||
template:
|
||||
src: firewall.bash.j2
|
||||
dest: /etc/firewall.bash
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0744
|
||||
notify: restart firewall
|
||||
|
||||
- name: Copy firewall init script into place.
|
||||
template:
|
||||
src: firewall.init.j2
|
||||
dest: /etc/init.d/firewall
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0755
|
||||
when: "ansible_service_mgr != 'systemd'"
|
||||
|
||||
- name: Copy firewall systemd unit file into place (for systemd systems).
|
||||
template:
|
||||
src: firewall.unit.j2
|
||||
dest: /etc/systemd/system/firewall.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
when: "ansible_service_mgr == 'systemd'"
|
||||
|
||||
- name: Configure the firewall service.
|
||||
service:
|
||||
name: firewall
|
||||
state: "restarted"
|
||||
#state: "{{ firewall_state }}"
|
||||
enabled: "{{ firewall_enabled_at_boot }}"
|
||||
|
||||
- name: Stop the docker service.
|
||||
service:
|
||||
name: docker
|
||||
state: stopped
|
||||
|
||||
- name: Start the docker service.
|
||||
service:
|
||||
name: docker
|
||||
state: started
|
138
roles/firewall/templates/firewall.bash.j2
Executable file
138
roles/firewall/templates/firewall.bash.j2
Executable file
@ -0,0 +1,138 @@
|
||||
#!/bin/bash
|
||||
# iptables firewall.
|
||||
#
|
||||
# This file should be located at /etc/firewall.bash, and is meant to work with
|
||||
# the `geerlingguy.firewall` Ansible role.
|
||||
#
|
||||
# Common port reference:
|
||||
# 22: SSH
|
||||
# 25: SMTP
|
||||
# 80: HTTP
|
||||
# 123: NTP
|
||||
# 443: HTTPS
|
||||
# 2222: SSH alternate
|
||||
# 8080: HTTP alternate
|
||||
#
|
||||
# @author Jeff Geerling
|
||||
|
||||
# No spoofing.
|
||||
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
|
||||
then
|
||||
for filter in /proc/sys/net/ipv4/conf/*/rp_filter
|
||||
do
|
||||
echo 1 > $filter
|
||||
done
|
||||
fi
|
||||
|
||||
# Set the default rules.
|
||||
iptables -P INPUT ACCEPT
|
||||
iptables -P FORWARD ACCEPT
|
||||
iptables -P OUTPUT ACCEPT
|
||||
|
||||
{% if firewall_flush_rules_and_chains %}
|
||||
# Remove all rules and chains.
|
||||
iptables -t nat -F
|
||||
iptables -t mangle -F
|
||||
iptables -F
|
||||
iptables -X
|
||||
{% endif %}
|
||||
|
||||
# Accept traffic from loopback interface (localhost).
|
||||
iptables -A INPUT -i lo -j ACCEPT
|
||||
|
||||
# Forwarded ports.
|
||||
{# Add a rule for each forwarded port #}
|
||||
{% for forwarded_port in firewall_forwarded_tcp_ports %}
|
||||
iptables -t nat -I PREROUTING -p tcp --dport {{ forwarded_port.src }} -j REDIRECT --to-port {{ forwarded_port.dest }}
|
||||
iptables -t nat -I OUTPUT -p tcp -o lo --dport {{ forwarded_port.src }} -j REDIRECT --to-port {{ forwarded_port.dest }}
|
||||
{% endfor %}
|
||||
{% for forwarded_port in firewall_forwarded_udp_ports %}
|
||||
iptables -t nat -I PREROUTING -p udp --dport {{ forwarded_port.src }} -j REDIRECT --to-port {{ forwarded_port.dest }}
|
||||
iptables -t nat -I OUTPUT -p udp -o lo --dport {{ forwarded_port.src }} -j REDIRECT --to-port {{ forwarded_port.dest }}
|
||||
{% endfor %}
|
||||
|
||||
# Open ports.
|
||||
{# Add a rule for each open port #}
|
||||
{% for port in firewall_allowed_tcp_ports %}
|
||||
iptables -A INPUT -p tcp -m tcp --dport {{ port }} -j ACCEPT
|
||||
{% endfor %}
|
||||
{% for port in firewall_allowed_udp_ports %}
|
||||
iptables -A INPUT -p udp -m udp --dport {{ port }} -j ACCEPT
|
||||
{% endfor %}
|
||||
|
||||
# Accept icmp ping requests.
|
||||
iptables -A INPUT -p icmp -j ACCEPT
|
||||
|
||||
# Allow NTP traffic for time synchronization.
|
||||
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
|
||||
iptables -A INPUT -p udp --sport 123 -j ACCEPT
|
||||
|
||||
# Additional custom rules.
|
||||
{% for rule in firewall_additional_rules %}
|
||||
{{ rule }}
|
||||
{% endfor %}
|
||||
|
||||
# Allow established connections:
|
||||
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
|
||||
# Log EVERYTHING (ONLY for Debug).
|
||||
# iptables -A INPUT -j LOG
|
||||
|
||||
{% if firewall_log_dropped_packets %}
|
||||
# Log other incoming requests (all of which are dropped) at 15/minute max.
|
||||
iptables -A INPUT -m limit --limit 15/minute -j LOG --log-level 7 --log-prefix "Dropped by firewall: "
|
||||
{% endif %}
|
||||
|
||||
# Drop all other traffic.
|
||||
iptables -A INPUT -j DROP
|
||||
|
||||
{% if firewall_enable_ipv6 %}
|
||||
# Configure IPv6 if ip6tables is present.
|
||||
if [ -x "$(which ip6tables 2>/dev/null)" ]; then
|
||||
|
||||
{% if firewall_flush_rules_and_chains %}
|
||||
# Remove all rules and chains.
|
||||
ip6tables -F
|
||||
ip6tables -X
|
||||
{% endif %}
|
||||
|
||||
# Accept traffic from loopback interface (localhost).
|
||||
ip6tables -A INPUT -i lo -j ACCEPT
|
||||
|
||||
# Open ports.
|
||||
{# Add a rule for each open port #}
|
||||
{% for port in firewall_allowed_tcp_ports %}
|
||||
ip6tables -A INPUT -p tcp -m tcp --dport {{ port }} -j ACCEPT
|
||||
{% endfor %}
|
||||
{% for port in firewall_allowed_udp_ports %}
|
||||
ip6tables -A INPUT -p udp -m udp --dport {{ port }} -j ACCEPT
|
||||
{% endfor %}
|
||||
|
||||
# Accept icmp ping requests.
|
||||
ip6tables -A INPUT -p icmpv6 -j ACCEPT
|
||||
|
||||
# Allow NTP traffic for time synchronization.
|
||||
ip6tables -A OUTPUT -p udp --dport 123 -j ACCEPT
|
||||
ip6tables -A INPUT -p udp --sport 123 -j ACCEPT
|
||||
|
||||
# Additional custom rules.
|
||||
{% for rule in firewall_ip6_additional_rules %}
|
||||
{{ rule }}
|
||||
{% endfor %}
|
||||
|
||||
# Allow established connections:
|
||||
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
|
||||
# Log EVERYTHING (ONLY for Debug).
|
||||
# ip6tables -A INPUT -j LOG
|
||||
|
||||
{% if firewall_log_dropped_packets %}
|
||||
# Log other incoming requests (all of which are dropped) at 15/minute max.
|
||||
ip6tables -A INPUT -m limit --limit 15/minute -j LOG --log-level 7 --log-prefix "Dropped by firewall: "
|
||||
{% endif %}
|
||||
|
||||
# Drop all other traffic.
|
||||
ip6tables -A INPUT -j DROP
|
||||
|
||||
fi
|
||||
{% endif %}
|
52
roles/firewall/templates/firewall.init.j2
Normal file
52
roles/firewall/templates/firewall.init.j2
Normal file
@ -0,0 +1,52 @@
|
||||
#! /bin/sh
|
||||
# /etc/init.d/firewall
|
||||
#
|
||||
# Firewall init script, to be used with /etc/firewall.bash by Jeff Geerling.
|
||||
#
|
||||
# @author Jeff Geerling
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: firewall
|
||||
# Required-Start: $remote_fs $syslog
|
||||
# Required-Stop: $remote_fs $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Start firewall at boot time.
|
||||
# Description: Enable the firewall.
|
||||
### END INIT INFO
|
||||
|
||||
# Carry out specific functions when asked to by the system
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Starting firewall."
|
||||
/etc/firewall.bash
|
||||
;;
|
||||
stop)
|
||||
echo "Stopping firewall."
|
||||
iptables -F
|
||||
if [ -x "$(which ip6tables 2>/dev/null)" ]; then
|
||||
ip6tables -F
|
||||
fi
|
||||
;;
|
||||
restart)
|
||||
echo "Restarting firewall."
|
||||
/etc/firewall.bash
|
||||
;;
|
||||
status)
|
||||
echo -e "`iptables -L -n`"
|
||||
EXIT=4 # program or service status is unknown
|
||||
NUMBER_OF_RULES=$(iptables-save | grep '^\-' | wc -l)
|
||||
if [ 0 -eq $NUMBER_OF_RULES ]; then
|
||||
EXIT=3 # program is not running
|
||||
else
|
||||
EXIT=0 # program is running or service is OK
|
||||
fi
|
||||
exit $EXIT
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/firewall {start|stop|status|restart}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
12
roles/firewall/templates/firewall.unit.j2
Normal file
12
roles/firewall/templates/firewall.unit.j2
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Firewall
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/etc/firewall.bash
|
||||
ExecStop=/sbin/iptables -F
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -4,6 +4,9 @@
|
||||
# Install any system packages required by goenv
|
||||
- include: packages.yml
|
||||
|
||||
# Configure vim-go
|
||||
- include: vim.yml
|
||||
|
||||
# Install profile environment variables
|
||||
- include: envvars.yml
|
||||
|
||||
|
12
roles/goenv/tasks/vim.yml
Normal file
12
roles/goenv/tasks/vim.yml
Normal file
@ -0,0 +1,12 @@
|
||||
#############################
|
||||
# install vim-go
|
||||
|
||||
|
||||
- name: Clone vim-go to ~/.vim/bundle
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: "https://github.com/fatih/vim-go.git"
|
||||
dest: "/home/{{ username }}/.vim/bundle/vim-go"
|
||||
|
||||
|
@ -2,3 +2,4 @@
|
||||
# variables for init-nonroot
|
||||
|
||||
username: "{{ nonroot_user }}"
|
||||
system_password: "{{ base_system_password }}"
|
||||
|
@ -1,14 +1,30 @@
|
||||
---
|
||||
# tasks file for init-charles
|
||||
# tasks file for init-nonroot
|
||||
|
||||
###################
|
||||
# Make the user
|
||||
|
||||
- name: "Add the user {{ username }}"
|
||||
become: yes
|
||||
user:
|
||||
name: "{{ username }}"
|
||||
password: "{{ charlesreid1_system_password }}"
|
||||
password: "{{ system_password | password_hash('sha512') }}"
|
||||
shell: /bin/bash
|
||||
groups: wheel
|
||||
append: yes
|
||||
state: present
|
||||
createhome: yes
|
||||
|
||||
|
||||
###################
|
||||
# Make temp dir
|
||||
|
||||
- name: Make ~/tmp dir
|
||||
become: yes
|
||||
file:
|
||||
path: "/home/{{ username }}/temp"
|
||||
state: directory
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
mode: 0700
|
||||
|
||||
|
@ -8,11 +8,20 @@
|
||||
- name: Set machine name with hostname command
|
||||
become: yes
|
||||
command: "hostname {{ machine_name }}"
|
||||
tags:
|
||||
- machine-name
|
||||
|
||||
|
||||
- name: Create new /etc/hostname
|
||||
become: yes
|
||||
command: "echo {{ machine_name }} > /etc/hostname"
|
||||
copy:
|
||||
dest: /etc/hostname
|
||||
content: "{{ machine_name }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rw,g=r,o=r
|
||||
tags:
|
||||
- machine-name
|
||||
|
||||
|
||||
- name: Set hostname entry to 127.0.0.1 in /etc/hosts
|
||||
@ -22,6 +31,8 @@
|
||||
regexp: "^127.0.0.1"
|
||||
line: "127.0.0.1 {{ machine_name }}"
|
||||
create: yes
|
||||
tags:
|
||||
- machine-name
|
||||
|
||||
|
||||
############
|
||||
@ -52,8 +63,6 @@
|
||||
state: present
|
||||
|
||||
|
||||
|
||||
|
||||
############
|
||||
# System
|
||||
|
||||
@ -71,4 +80,3 @@
|
||||
path: /temp
|
||||
state: directory
|
||||
mode: 0777
|
||||
|
||||
|
@ -17,6 +17,7 @@
|
||||
- build-essential
|
||||
- curl
|
||||
- wget
|
||||
- unzip
|
||||
- graphviz
|
||||
- openssh-server
|
||||
- ncdu
|
||||
|
45
roles/pod-charlesreid1/tasks/certs.yml
Normal file
45
roles/pod-charlesreid1/tasks/certs.yml
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
# #####################################
|
||||
# CHECK SSL CERTIFICATES
|
||||
#
|
||||
# LetsEncrypt role will install certs as needed,
|
||||
# but should probably check certs anyway.
|
||||
|
||||
|
||||
- name: Check if LetsEncrypt cert for default server name is present
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-certs
|
||||
- letsencrypt
|
||||
stat:
|
||||
path: "/etc/letsencrypt/live/{{ server_name_default }}"
|
||||
register: register_letsencrypt_livecert_default
|
||||
|
||||
|
||||
- name: Check if LetsEncrypt cert for gitea server name is present
|
||||
tags:
|
||||
- letsencrypt
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-certs
|
||||
stat:
|
||||
path: "/etc/letsencrypt/live/git.{{ server_name_default }}"
|
||||
register: register_letsencrypt_livecert_gitea
|
||||
|
||||
|
||||
# If top level and subdomain certs are present, start/restart the
|
||||
# pod-charlesreid1 service.
|
||||
|
||||
- name: Enable pod-charlesreid1 service
|
||||
become: yes
|
||||
service:
|
||||
name: pod-charlesreid1
|
||||
enabled: yes
|
||||
state: restarted
|
||||
when:
|
||||
- "pod_register_docker_compose.stat.executable"
|
||||
- "register_letsencrypt_livecert_default.stat.exists"
|
||||
- "register_letsencrypt_livecert_gitea.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-certs
|
||||
- pod-charlesreid1-services
|
30
roles/pod-charlesreid1/tasks/docker_checks.yml
Normal file
30
roles/pod-charlesreid1/tasks/docker_checks.yml
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
# #####################################
|
||||
# DOCKER/DOCKER COMPOSE
|
||||
|
||||
# The docker role, in the base playbook,
|
||||
# will install docker-compose, but we want
|
||||
# to double check that the executable exists
|
||||
|
||||
- name: Check that docker compose executable is available
|
||||
stat:
|
||||
path: "/usr/local/bin/docker-compose"
|
||||
register: pod_register_docker_compose
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
|
||||
|
||||
# Also make sure the docker daemon is running
|
||||
|
||||
- name: Enable docker service
|
||||
become: yes
|
||||
service:
|
||||
name: docker
|
||||
enabled: yes
|
||||
state: restarted
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
- pod-charlesreid1-services
|
||||
|
44
roles/pod-charlesreid1/tasks/gitea_prep.yml
Normal file
44
roles/pod-charlesreid1/tasks/gitea_prep.yml
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
# #####################################
|
||||
# GITEA PREP
|
||||
#
|
||||
# We have to create an app.ini file,
|
||||
# use a jinja template in the pod-charlesreid1
|
||||
# repository
|
||||
|
||||
- name: Fetch the app.ini jinja template
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-gitea/custom/conf/app.ini.j2"
|
||||
dest: "/tmp/app.ini.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-gitea
|
||||
|
||||
|
||||
|
||||
|
||||
- name: Install the app.ini file
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/app.ini.j2"
|
||||
dest: "{{ pod_install_dir }}/d-gitea/custom/conf/app.ini"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
mode: 0640
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-gitea
|
||||
|
||||
|
||||
- name: Fix ownership of all custom dirs for gitea
|
||||
become: yes
|
||||
command: "chown -R {{ username }}:{{ username }} {{pod_install_dir }}/d-gitea/custom"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-gitea
|
||||
|
||||
|
||||
|
@ -1,9 +1,5 @@
|
||||
---
|
||||
###########################
|
||||
# Set up charlesreid1.com docker pod
|
||||
#
|
||||
# git.charlesreid1.com/docker/pod-charlesreid1
|
||||
# git.charlesreid1.com/docker/d-nginx-charlesreid1
|
||||
# tasks file for pod-charlesreid1
|
||||
#
|
||||
# Tasks:
|
||||
# ------
|
||||
@ -21,611 +17,36 @@
|
||||
# (port mapping in Dockerfile)
|
||||
# (letsencrypt cert check)
|
||||
# enable service
|
||||
#
|
||||
###########################
|
||||
|
||||
# clone pod contents
|
||||
- include: pod_clone.yml
|
||||
|
||||
# #####################################
|
||||
# CLONE POD-CHARLESREID1
|
||||
# /www setup
|
||||
- include: www_setup.yml
|
||||
|
||||
# docker and docker compose checks
|
||||
- include: docker_checks.yml
|
||||
|
||||
# Check if we already cloned it
|
||||
- name: Check if pod-charlesreid1 repo is already cloned
|
||||
stat:
|
||||
path: "{{ pod_install_dir }}"
|
||||
register: pod_charlesreid1_clone_check
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
# nginx
|
||||
- include: nginx_prep.yml
|
||||
|
||||
# mediawiki
|
||||
- include: mw_prep.yml
|
||||
|
||||
# Clone it
|
||||
- name: Clone pod-charlesreid1
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: 'https://github.com/charlesreid1-docker/pod-charlesreid1.git'
|
||||
dest: "{{ pod_install_dir }}"
|
||||
recursive: yes
|
||||
when:
|
||||
- "not pod_charlesreid1_clone_check.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
# gitea
|
||||
- include: gitea_prep.yml
|
||||
|
||||
# construct pod
|
||||
- include: pod_construct.yml
|
||||
|
||||
# Pull it
|
||||
- name: Pull pod-charlesreid1
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git pull"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}"
|
||||
when:
|
||||
- "pod_charlesreid1_clone_check.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
# install pod service
|
||||
- include: pod_services.yml
|
||||
|
||||
# certs
|
||||
- include: certs.yml
|
||||
|
||||
# Init submodules
|
||||
- name: Initialize pod-charlesreid1 submodules
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git submodule update --init"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}"
|
||||
when:
|
||||
- "pod_charlesreid1_clone_check.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
|
||||
|
||||
# Pull submodules
|
||||
- name: Pull pod-charlesreid1 submodules
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git submodule update --remote"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}"
|
||||
when:
|
||||
- "pod_charlesreid1_clone_check.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# BUILD DOCKER-COMPOSE FILE FROM TEMPLATE
|
||||
#
|
||||
# Note: Don't use sed to replace the MySQL password placeholder.
|
||||
# Use the fetch module to copy the template from the remote machine
|
||||
# (i.e., the one in the git repo) to the local directory.
|
||||
# Then use the template module to use the template.
|
||||
|
||||
- name: Fetch the docker-compose template from the remote machine
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/docker-compose.yml.j2"
|
||||
dest: "/tmp/pod-charlesreid1-docker-compose.yml.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
|
||||
|
||||
- name: Install the docker-compose file
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/pod-charlesreid1-docker-compose.yml.j2"
|
||||
dest: "{{ pod_install_dir }}/docker-compose.yml"
|
||||
mode: 0640
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
|
||||
|
||||
# #####################################
|
||||
# SET UP /WWW DIRECTORY
|
||||
#
|
||||
#
|
||||
# Create /www directory
|
||||
# for main domain content
|
||||
- name: Create the /www directory
|
||||
become: yes
|
||||
file:
|
||||
path: "/www"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
# Template scripts to populate /www
|
||||
# with content is done in the
|
||||
# rules below...
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# MAIN DOMAIN PAGE SETUP (ALL)
|
||||
#
|
||||
# /www/<domain>/
|
||||
# git/ <-- .git dir for charlesreid1.com repo gh-pages branch
|
||||
# htdocs/ <-- clone of charlesreid1.com repo gh-pages branch
|
||||
|
||||
# -------------
|
||||
# Install and run the clone www script
|
||||
|
||||
- name: "Fetch the charlesreid1.com clone www script template"
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/scripts/git_clone_www.py.j2"
|
||||
dest: "/tmp/git_clone_www.py.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
- name: "Install the charlesreid1.com clone www script"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/git_clone_www.py.j2"
|
||||
dest: "{{ pod_install_dir }}/scripts/git_clone_www.py"
|
||||
mode: 0755
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
- name: "Run the charlesreid1.com clone www script to set up {{ server_name_default }}"
|
||||
command: "python {{ pod_install_dir }}/scripts/git_clone_www.py"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
|
||||
# ------------------
|
||||
# Install and run the pull www script
|
||||
|
||||
- name: "Fetch the charlesreid1.com pull www script template"
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/scripts/git_pull_www.py.j2"
|
||||
dest: "/tmp/git_pull_www.py.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
- name: "Install the charlesreid1.com pull www script"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/git_pull_www.py.j2"
|
||||
dest: "{{ pod_install_dir }}/scripts/git_pull_www.py"
|
||||
mode: 0755
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
- name: "Run the charlesreid1.com pull www script to update {{ server_name_default }}"
|
||||
command: "python {{ pod_install_dir }}/scripts/git_pull_www.py"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# DOCKER/DOCKER COMPOSE
|
||||
|
||||
# The docker role, in the base playbook,
|
||||
# will install docker-compose, but we want
|
||||
# to double check that the executable exists
|
||||
|
||||
- name: Check that docker compose executable is available
|
||||
stat:
|
||||
path: "/usr/local/bin/docker-compose"
|
||||
register: pod_register_docker_compose
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
|
||||
|
||||
# Also make sure the docker daemon is running
|
||||
|
||||
- name: Enable docker service
|
||||
become: yes
|
||||
service:
|
||||
name: docker
|
||||
enabled: yes
|
||||
state: restarted
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
- pod-charlesreid1-services
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# NGIX CONFIG PREP
|
||||
#
|
||||
# prepare the config files for the
|
||||
# charlesreid1.com nginx server:
|
||||
# - copy templates from remote machine
|
||||
# - clean conf.d directory
|
||||
# - copy rendered templates to remote machine
|
||||
|
||||
|
||||
- name: Clean d-nginx-charlesreid1 conf.d directory
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "python {{ pod_install_dir }}/d-nginx-charlesreid1/scripts/clean_config.py"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
# Install the d-nginx-charlesreid1 configuration templates
|
||||
#
|
||||
# -------------
|
||||
# HTTP
|
||||
|
||||
- name: Fetch d-nginx-charlesreid1 http configuration templates from remote machine
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d_templates/http.DOMAIN.conf.j2"
|
||||
dest: "/tmp/http.DOMAIN.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
- name: Install the d-nginx-charlesreid1 http configuration templates
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/http.DOMAIN.conf.j2"
|
||||
dest: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d/http.{{ server_name_default }}.conf"
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
# -------------
|
||||
# HTTPS
|
||||
|
||||
- name: Fetch d-nginx-charlesreid1 https configuration templates from remote machine
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d_templates/https.DOMAIN.conf.j2"
|
||||
dest: "/tmp/https.DOMAIN.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
- name: Install the d-nginx-charlesreid1 https configuration templates
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/https.DOMAIN.conf.j2"
|
||||
dest: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d/https.{{ server_name_default }}.conf"
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
# -------------
|
||||
# HTTPS subdomains
|
||||
|
||||
|
||||
- name: Fetch d-nginx-charlesreid1 https subdomains configuration templates from remote machine
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d_templates/https.DOMAIN.subdomains.conf.j2"
|
||||
dest: "/tmp/https.DOMAIN.subdomains.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
- name: Install the d-nginx-charlesreid1 https subdomains configuration templates
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/https.DOMAIN.subdomains.conf.j2"
|
||||
dest: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d/https.{{ server_name_default }}.subdomains.conf"
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
# #####################################
|
||||
# MEDIAWIKI PREP
|
||||
#
|
||||
# We have to build the extensions dir for the MediaWiki container
|
||||
# /pod-charlesreid1/d-mediawiki/charlesreid1-config/mediawiki/build_extensions_dir.sh
|
||||
#
|
||||
# Then we have to use the LocalSettings.php and
|
||||
# Apache config file templates to configure
|
||||
# the mediawiki container to run correctly.
|
||||
|
||||
- name: Check if extensions dir already exists
|
||||
stat:
|
||||
path: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/extensions"
|
||||
register: extensions_dir_exists
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Make mediawiki extensions dir build script executable
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
file:
|
||||
path: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/build_extensions_dir.sh"
|
||||
mode: "u+x"
|
||||
when:
|
||||
- "not extensions_dir_exists.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Build the mediawiki extensions dir
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/build_extensions_dir.sh"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki"
|
||||
when:
|
||||
- "not extensions_dir_exists.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
# Deal with MediaWiki configuration templates:
|
||||
# - LocalSettings.php
|
||||
# - Apache config file
|
||||
|
||||
- name: Fetch the LocalSettings.php jinja template
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/LocalSettings.php.j2"
|
||||
dest: "/tmp/LocalSettings.php.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Install the LocalSettings.php file
|
||||
become: yes
|
||||
template:
|
||||
src: "/tmp/LocalSettings.php.j2"
|
||||
dest: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/LocalSettings.php"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
mode: 0640
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Fetch the Apache config jinja template
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/apache/charlesreid1.wiki.conf.j2"
|
||||
dest: "/tmp/charlesreid1.wiki.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Install the Apache config file
|
||||
become: yes
|
||||
template:
|
||||
src: "/tmp/charlesreid1.wiki.conf.j2"
|
||||
dest: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/apache/charlesreid1.wiki.conf"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
mode: 0640
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# GITEA PREP
|
||||
#
|
||||
# We have to create an app.ini file,
|
||||
# use a jinja template in the pod-charlesreid1
|
||||
# repository
|
||||
|
||||
- name: Fetch the app.ini jinja template
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-gitea/custom/conf/app.ini.j2"
|
||||
dest: "/tmp/app.ini.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-gitea
|
||||
|
||||
|
||||
|
||||
|
||||
- name: Install the app.ini file
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/app.ini.j2"
|
||||
dest: "{{ pod_install_dir }}/d-gitea/custom/conf/app.ini"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
mode: 0640
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-gitea
|
||||
|
||||
|
||||
- name: Fix ownership of all custom dirs for gitea
|
||||
become: yes
|
||||
command: "chown -R {{ username }}:{{ username }} {{pod_install_dir }}/d-gitea/custom"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-gitea
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# CONSTRUCT THE POD
|
||||
#
|
||||
# This task is very time-consuming.
|
||||
|
||||
- name: Build pod-charlesreid1 from scratch
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "/usr/local/bin/docker-compose build --no-cache"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}"
|
||||
when:
|
||||
- "pod_register_docker_compose.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# INSTALL STARTUP SERVICE
|
||||
#
|
||||
# Check if the charlesreid1 docker pod service
|
||||
# is installed. If not, install it.
|
||||
|
||||
- name: Check if pod-charlesreid1 service is installed
|
||||
stat:
|
||||
path: /etc/systemd/system/pod-charlesreid1.service
|
||||
register: pod_charlesreid1_service_check
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-services
|
||||
|
||||
|
||||
- name: Install pod-charlesreid1 service
|
||||
become: yes
|
||||
template:
|
||||
src: pod-charlesreid1.service.j2
|
||||
dest: /etc/systemd/system/pod-charlesreid1.service
|
||||
mode: 0774
|
||||
when:
|
||||
- "not pod_charlesreid1_service_check.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-services
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# CHECK SSL CERTIFICATES
|
||||
#
|
||||
# LetsEncrypt role will install certs as needed,
|
||||
# but should probably check certs anyway.
|
||||
|
||||
|
||||
- name: Check if LetsEncrypt cert for default server name is present
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-certs
|
||||
- letsencrypt
|
||||
stat:
|
||||
path: "/etc/letsencrypt/live/{{ server_name_default }}"
|
||||
register: register_letsencrypt_livecert_default
|
||||
|
||||
|
||||
- name: Check if LetsEncrypt cert for gitea server name is present
|
||||
tags:
|
||||
- letsencrypt
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-certs
|
||||
stat:
|
||||
path: "/etc/letsencrypt/live/git.{{ server_name_default }}"
|
||||
register: register_letsencrypt_livecert_gitea
|
||||
|
||||
|
||||
# If top level and subdomain certs are present, start/restart the
|
||||
# pod-charlesreid1 service.
|
||||
|
||||
- name: Enable pod-charlesreid1 service
|
||||
become: yes
|
||||
service:
|
||||
name: pod-charlesreid1
|
||||
enabled: yes
|
||||
state: restarted
|
||||
when:
|
||||
- "pod_register_docker_compose.stat.executable"
|
||||
- "register_letsencrypt_livecert_default.stat.exists"
|
||||
- "register_letsencrypt_livecert_gitea.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-certs
|
||||
- pod-charlesreid1-services
|
||||
|
||||
|
||||
# See the pod-charlesreid1 documentation
|
||||
# pages for what to do from here.
|
||||
#
|
||||
# Specifically, restore:
|
||||
# - mediawiki database backups
|
||||
# - mediawiki files backups
|
||||
# - gitea dump zip file
|
||||
# - gitea avatars zip file
|
||||
#
|
||||
# Restore scripts are located in the
|
||||
# pod-charlesreid1 repository:
|
||||
# - database restore script: utils-mysql
|
||||
# - mediawiki image restore script: utils-mw
|
||||
# - gitea database and avatar: utils-gitea
|
||||
|
||||
- name: Wait for 10 seconds
|
||||
command: "sleep 15"
|
||||
|
||||
- name: Run fix_skins.sh script
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "bash {{ pod_install_dir }}/d-mediawiki/fix_skins.sh"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}/d-mediawiki"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
- name: Run fix_LocalSettings.sh script
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "bash {{ pod_install_dir }}/d-mediawiki/fix_LocalSettings.sh"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}/d-mediawiki"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
# mediawiki fixes
|
||||
- include: mw_fixes.yml
|
||||
|
||||
# enable pod service
|
||||
- include: pod_enable.yml
|
||||
|
29
roles/pod-charlesreid1/tasks/mw_fixes.yml
Normal file
29
roles/pod-charlesreid1/tasks/mw_fixes.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
# #####################################
|
||||
# MEDIAWIKI FIXES
|
||||
#
|
||||
# Install and set up the Mediawiki skin,
|
||||
# LocalSettings.php file, etc.
|
||||
|
||||
- name: Wait for 10 seconds
|
||||
command: "sleep 15"
|
||||
|
||||
- name: Run fix_skins.sh script
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "bash {{ pod_install_dir }}/d-mediawiki/fix_skins.sh"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}/d-mediawiki"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
- name: Run fix_LocalSettings.sh script
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "bash {{ pod_install_dir }}/d-mediawiki/fix_LocalSettings.sh"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}/d-mediawiki"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
99
roles/pod-charlesreid1/tasks/mw_prep.yml
Normal file
99
roles/pod-charlesreid1/tasks/mw_prep.yml
Normal file
@ -0,0 +1,99 @@
|
||||
---
|
||||
# #####################################
|
||||
# MEDIAWIKI PREP
|
||||
#
|
||||
# We have to build the extensions dir for the MediaWiki container
|
||||
# /pod-charlesreid1/d-mediawiki/charlesreid1-config/mediawiki/build_extensions_dir.sh
|
||||
#
|
||||
# Then we have to use the LocalSettings.php and
|
||||
# Apache config file templates to configure
|
||||
# the mediawiki container to run correctly.
|
||||
|
||||
- name: Check if extensions dir already exists
|
||||
stat:
|
||||
path: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/extensions"
|
||||
register: extensions_dir_exists
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Make mediawiki extensions dir build script executable
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
file:
|
||||
path: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/build_extensions_dir.sh"
|
||||
mode: "u+x"
|
||||
when:
|
||||
- "not extensions_dir_exists.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Build the mediawiki extensions dir
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/build_extensions_dir.sh"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki"
|
||||
when:
|
||||
- "not extensions_dir_exists.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
# Deal with MediaWiki configuration templates:
|
||||
# - LocalSettings.php
|
||||
# - Apache config file
|
||||
|
||||
- name: Fetch the LocalSettings.php jinja template
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/LocalSettings.php.j2"
|
||||
dest: "/tmp/LocalSettings.php.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Install the LocalSettings.php file
|
||||
become: yes
|
||||
template:
|
||||
src: "/tmp/LocalSettings.php.j2"
|
||||
dest: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/mediawiki/LocalSettings.php"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
mode: 0640
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Fetch the Apache config jinja template
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/apache/charlesreid1.wiki.conf.j2"
|
||||
dest: "/tmp/charlesreid1.wiki.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
- name: Install the Apache config file
|
||||
become: yes
|
||||
template:
|
||||
src: "/tmp/charlesreid1.wiki.conf.j2"
|
||||
dest: "{{ pod_install_dir }}/d-mediawiki/charlesreid1-config/apache/charlesreid1.wiki.conf"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
mode: 0640
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-mw
|
||||
|
||||
|
||||
|
100
roles/pod-charlesreid1/tasks/nginx_prep.yml
Normal file
100
roles/pod-charlesreid1/tasks/nginx_prep.yml
Normal file
@ -0,0 +1,100 @@
|
||||
---
|
||||
# #####################################
|
||||
# NGIX CONFIG PREP
|
||||
#
|
||||
# prepare the config files for the
|
||||
# charlesreid1.com nginx server:
|
||||
# - copy templates from remote machine
|
||||
# - clean conf.d directory
|
||||
# - copy rendered templates to remote machine
|
||||
|
||||
|
||||
- name: Clean d-nginx-charlesreid1 conf.d directory
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "python {{ pod_install_dir }}/d-nginx-charlesreid1/scripts/clean_config.py"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
# Install the d-nginx-charlesreid1 configuration templates
|
||||
#
|
||||
# -------------
|
||||
# HTTP
|
||||
|
||||
- name: Fetch d-nginx-charlesreid1 http configuration templates from remote machine
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d_templates/http.DOMAIN.conf.j2"
|
||||
dest: "/tmp/http.DOMAIN.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
- name: Install the d-nginx-charlesreid1 http configuration templates
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/http.DOMAIN.conf.j2"
|
||||
dest: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d/http.{{ server_name_default }}.conf"
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
# -------------
|
||||
# HTTPS
|
||||
|
||||
- name: Fetch d-nginx-charlesreid1 https configuration templates from remote machine
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d_templates/https.DOMAIN.conf.j2"
|
||||
dest: "/tmp/https.DOMAIN.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
- name: Install the d-nginx-charlesreid1 https configuration templates
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/https.DOMAIN.conf.j2"
|
||||
dest: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d/https.{{ server_name_default }}.conf"
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
# -------------
|
||||
# HTTPS subdomains
|
||||
|
||||
|
||||
- name: Fetch d-nginx-charlesreid1 https subdomains configuration templates from remote machine
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d_templates/https.DOMAIN.subdomains.conf.j2"
|
||||
dest: "/tmp/https.DOMAIN.subdomains.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
||||
|
||||
- name: Install the d-nginx-charlesreid1 https subdomains configuration templates
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/https.DOMAIN.subdomains.conf.j2"
|
||||
dest: "{{ pod_install_dir }}/d-nginx-charlesreid1/conf.d/https.{{ server_name_default }}.subdomains.conf"
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-nginx
|
||||
|
105
roles/pod-charlesreid1/tasks/pod_clone.yml
Normal file
105
roles/pod-charlesreid1/tasks/pod_clone.yml
Normal file
@ -0,0 +1,105 @@
|
||||
---
|
||||
# #####################################
|
||||
# CLONE POD-CHARLESREID1
|
||||
|
||||
|
||||
# Check if we already cloned it
|
||||
- name: Check if pod-charlesreid1 repo is already cloned
|
||||
stat:
|
||||
path: "{{ pod_install_dir }}"
|
||||
register: pod_charlesreid1_clone_check
|
||||
tags:
|
||||
- git
|
||||
- pod-charlesreid1
|
||||
|
||||
|
||||
# Clone it
|
||||
- name: Clone pod-charlesreid1
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: 'https://github.com/charlesreid1-docker/pod-charlesreid1.git'
|
||||
dest: "{{ pod_install_dir }}"
|
||||
recursive: yes
|
||||
when:
|
||||
- "not pod_charlesreid1_clone_check.stat.exists"
|
||||
tags:
|
||||
- git
|
||||
- pod-charlesreid1
|
||||
|
||||
|
||||
# Pull it
|
||||
- name: Pull pod-charlesreid1
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git pull"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}"
|
||||
when:
|
||||
- "pod_charlesreid1_clone_check.stat.exists"
|
||||
tags:
|
||||
- git
|
||||
- pod-charlesreid1
|
||||
|
||||
|
||||
# Init submodules
|
||||
- name: Initialize pod-charlesreid1 submodules
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git submodule update --init"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}"
|
||||
when:
|
||||
- "pod_charlesreid1_clone_check.stat.exists"
|
||||
tags:
|
||||
- git
|
||||
- pod-charlesreid1
|
||||
|
||||
|
||||
# Pull submodules
|
||||
- name: Pull pod-charlesreid1 submodules
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git submodule update --remote"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}"
|
||||
when:
|
||||
- "pod_charlesreid1_clone_check.stat.exists"
|
||||
tags:
|
||||
- git
|
||||
- pod-charlesreid1
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# BUILD DOCKER-COMPOSE FILE FROM TEMPLATE
|
||||
#
|
||||
# Note: Don't use sed to replace the MySQL password placeholder.
|
||||
# Use the fetch module to copy the template from the remote machine
|
||||
# (i.e., the one in the git repo) to the local directory.
|
||||
# Then use the template module to use the template.
|
||||
|
||||
- name: Fetch the docker-compose template from the remote machine
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/docker-compose.yml.j2"
|
||||
dest: "/tmp/pod-charlesreid1-docker-compose.yml.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
|
||||
|
||||
- name: Install the docker-compose file
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/pod-charlesreid1-docker-compose.yml.j2"
|
||||
dest: "{{ pod_install_dir }}/docker-compose.yml"
|
||||
mode: 0640
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
|
||||
|
18
roles/pod-charlesreid1/tasks/pod_construct.yml
Normal file
18
roles/pod-charlesreid1/tasks/pod_construct.yml
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
# #####################################
|
||||
# CONSTRUCT THE POD
|
||||
#
|
||||
# This task is very time-consuming.
|
||||
|
||||
- name: Build pod-charlesreid1 from scratch
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "/usr/local/bin/docker-compose build --no-cache"
|
||||
args:
|
||||
chdir: "{{ pod_install_dir }}"
|
||||
when:
|
||||
- "pod_register_docker_compose.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-docker
|
||||
|
59
roles/pod-charlesreid1/tasks/pod_services.yml
Normal file
59
roles/pod-charlesreid1/tasks/pod_services.yml
Normal file
@ -0,0 +1,59 @@
|
||||
---
|
||||
# Services related to pod-charlesreid
|
||||
|
||||
#######################################
|
||||
# DISABLE STARTUP SERVICES
|
||||
#
|
||||
# Disable annoying services like nginx.
|
||||
|
||||
- name: Disable nginx service (annoying)
|
||||
become: yes
|
||||
command: "systemctl disable nginx"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-services
|
||||
|
||||
|
||||
- name: Stop nginx service
|
||||
become: yes
|
||||
command: "systemctl stop nginx"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-services
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# INSTALL STARTUP SERVICES
|
||||
#
|
||||
# Check if the charlesreid1 docker pod service
|
||||
# is installed. If not, install it.
|
||||
|
||||
- name: Check if pod-charlesreid1 service is installed
|
||||
stat:
|
||||
path: /etc/systemd/system/pod-charlesreid1.service
|
||||
register: pod_charlesreid1_service_check
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-services
|
||||
|
||||
|
||||
- name: Install pod-charlesreid1 service
|
||||
become: yes
|
||||
template:
|
||||
src: pod-charlesreid1.service.j2
|
||||
dest: /etc/systemd/system/pod-charlesreid1.service
|
||||
mode: 0774
|
||||
when:
|
||||
- "not pod_charlesreid1_service_check.stat.exists"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-services
|
||||
|
||||
|
||||
- name: Enable pod-charlesreid1 service
|
||||
become: yes
|
||||
command: "systemctl enable pod-charlesreid1"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-services
|
101
roles/pod-charlesreid1/tasks/www_setup.yml
Normal file
101
roles/pod-charlesreid1/tasks/www_setup.yml
Normal file
@ -0,0 +1,101 @@
|
||||
---
|
||||
# #####################################
|
||||
# SET UP /WWW DIRECTORY
|
||||
#
|
||||
#
|
||||
# Create /www directory
|
||||
# for main domain content
|
||||
- name: Create the /www directory
|
||||
become: yes
|
||||
file:
|
||||
path: "/www"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
# Template scripts to populate /www
|
||||
# with content is done in the
|
||||
# rules below...
|
||||
|
||||
|
||||
|
||||
# #####################################
|
||||
# MAIN DOMAIN PAGE SETUP (ALL)
|
||||
#
|
||||
# /www/<domain>/
|
||||
# git/ <-- .git dir for charlesreid1.com repo gh-pages branch
|
||||
# htdocs/ <-- clone of charlesreid1.com repo gh-pages branch
|
||||
|
||||
# -------------
|
||||
# Install and run the clone www script
|
||||
|
||||
- name: "Fetch the charlesreid1.com clone www script template"
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/scripts/git_clone_www.py.j2"
|
||||
dest: "/tmp/git_clone_www.py.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
- name: "Install the charlesreid1.com clone www script"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/git_clone_www.py.j2"
|
||||
dest: "{{ pod_install_dir }}/scripts/git_clone_www.py"
|
||||
mode: 0755
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
- name: "Run the charlesreid1.com clone www script to set up {{ server_name_default }}"
|
||||
command: "{{ pyenv_python }} {{ pod_install_dir }}/scripts/git_clone_www.py"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
|
||||
# ------------------
|
||||
# Install and run the pull www script
|
||||
|
||||
- name: "Fetch the charlesreid1.com pull www script template"
|
||||
fetch:
|
||||
src: "{{ pod_install_dir }}/scripts/git_pull_www.py.j2"
|
||||
dest: "/tmp/git_pull_www.py.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
- name: "Install the charlesreid1.com pull www script"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/git_pull_www.py.j2"
|
||||
dest: "{{ pod_install_dir }}/scripts/git_pull_www.py"
|
||||
mode: 0755
|
||||
force: yes
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
- name: "Run the charlesreid1.com pull www script to update {{ server_name_default }}"
|
||||
command: "{{ pyenv_python }} {{ pod_install_dir }}/scripts/git_pull_www.py"
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
tags:
|
||||
- pod-charlesreid1
|
||||
- pod-charlesreid1-content
|
||||
|
||||
|
||||
|
@ -5,6 +5,8 @@ After=docker.service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
StandardError=null
|
||||
StandardOutput=null
|
||||
ExecStart=/usr/local/bin/docker-compose -f {{ pod_install_dir }}/docker-compose.yml up
|
||||
ExecStop=/usr/local/bin/docker-compose -f {{ pod_install_dir }}/docker-compose.yml stop
|
||||
|
||||
|
5
roles/pod-dockprom/README.md
Normal file
5
roles/pod-dockprom/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
pod-dockprom ansible role
|
||||
=============================
|
||||
|
||||
This ansible role installs pod-dockprom, a pod for monitoring instances via a dashboard.
|
||||
|
20
roles/pod-dockprom/defaults/main.yml
Normal file
20
roles/pod-dockprom/defaults/main.yml
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
# defaults file for pod-golly
|
||||
|
||||
username: "{{ nonroot_user }}"
|
||||
|
||||
dockprom_install_dir: "/home/{{ username }}/pod-dockprom"
|
||||
|
||||
dockprom_branch_name: "main"
|
||||
|
||||
env_file: "environment"
|
||||
|
||||
# Boolean to determine whether the
|
||||
# pod-dockprom service installed
|
||||
# runs the master server pod,
|
||||
# or the (monitored) client pod.
|
||||
install_client_service: "true"
|
||||
|
||||
dockprom_bind_ip: "127.0.0.1"
|
||||
dockprom_admin_user: "{{ default_dockprom_admin_user }}"
|
||||
dockprom_admin_pass: "{{ default_dockprom_admin_pass }}"
|
76
roles/pod-dockprom/tasks/clone_pod.yml
Normal file
76
roles/pod-dockprom/tasks/clone_pod.yml
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
# #####################################
|
||||
# CLONE GOLLY-API
|
||||
|
||||
|
||||
# Check if we already cloned it
|
||||
- name: Check if pod-dockprom is already cloned
|
||||
stat:
|
||||
path: "{{ dockprom_install_dir }}"
|
||||
register: dockprom_clone_check
|
||||
tags:
|
||||
- git
|
||||
- pod-dockprom
|
||||
|
||||
|
||||
# Clone it
|
||||
- name: Clone pod-dockprom
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: "https://git.charlesreid1.com/docker/pod-dockprom.git"
|
||||
dest: "{{ dockprom_install_dir }}"
|
||||
version: "{{ dockprom_branch_name }}"
|
||||
when:
|
||||
- "not dockprom_clone_check.stat.exists"
|
||||
tags:
|
||||
- git
|
||||
- pod-dockprom
|
||||
|
||||
|
||||
# Fetch
|
||||
- name: Fetch from pod-dockprom remote
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git fetch --all"
|
||||
args:
|
||||
chdir: "{{ dockprom_install_dir }}"
|
||||
when:
|
||||
- "dockprom_clone_check.stat.exists"
|
||||
tags:
|
||||
- git
|
||||
- pod-dockprom
|
||||
|
||||
|
||||
# Git reset
|
||||
- name: Reset hard to head
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git reset --hard HEAD"
|
||||
args:
|
||||
chdir: "{{ dockprom_install_dir }}"
|
||||
tags:
|
||||
- git
|
||||
- pod-dockprom
|
||||
|
||||
# Clean it
|
||||
- name: Clean the repo
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git clean -f -d"
|
||||
args:
|
||||
chdir: "{{ dockprom_install_dir }}"
|
||||
tags:
|
||||
- git
|
||||
- pod-dockprom
|
||||
|
||||
# Git check out
|
||||
- name: Check out the correct pod-dockprom branch
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git checkout -B {{ dockprom_branch_name }} --track origin/{{ dockprom_branch_name }}"
|
||||
args:
|
||||
chdir: "{{ dockprom_install_dir }}"
|
||||
tags:
|
||||
- git
|
||||
- pod-dockprom
|
24
roles/pod-dockprom/tasks/docker_checks.yml
Normal file
24
roles/pod-dockprom/tasks/docker_checks.yml
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
# #####################################
|
||||
# DOCKER/DOCKER COMPOSE
|
||||
|
||||
# The docker role, in the base playbook,
|
||||
# will install docker-compose, but we want
|
||||
# to double check that the executable exists
|
||||
- name: Check that docker compose executable is available
|
||||
stat:
|
||||
path: "/usr/local/bin/docker-compose"
|
||||
register: dockprom_register_docker_compose
|
||||
tags:
|
||||
- pod-dockprom
|
||||
|
||||
|
||||
# Also make sure the docker daemon is running
|
||||
- name: Enable docker service
|
||||
become: yes
|
||||
service:
|
||||
name: docker
|
||||
enabled: yes
|
||||
state: restarted
|
||||
tags:
|
||||
- pod-dockprom
|
92
roles/pod-dockprom/tasks/dockprom_construct.yml
Normal file
92
roles/pod-dockprom/tasks/dockprom_construct.yml
Normal file
@ -0,0 +1,92 @@
|
||||
---
|
||||
# pod-dockprom construct the pod
|
||||
#
|
||||
# steps:
|
||||
# - fetch docker-compose template from remote to local
|
||||
# - install the docker-compose file from local to remote, applying variables
|
||||
|
||||
# ---------------------
|
||||
# client pod
|
||||
|
||||
- name: Fetch pod-dockprom client compose template from remote machine
|
||||
fetch:
|
||||
src: "{{ dockprom_install_dir }}/docker-compose.exporters.yml.j2"
|
||||
dest: "/tmp/pod-dockprom-docker-compose.exporters.yml.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
when:
|
||||
- "dockprom_register_docker_compose.stat.exists"
|
||||
- install_client_service | lower == "true"
|
||||
tags:
|
||||
- pod-dockprom
|
||||
|
||||
- name: Install the pod-dockprom client compose file onto the remote machine
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/pod-dockprom-docker-compose.exporters.yml.j2"
|
||||
dest: "{{ dockprom_install_dir }}/docker-compose.exporters.yml"
|
||||
mode: 0640
|
||||
force: yes
|
||||
when:
|
||||
- "dockprom_register_docker_compose.stat.exists"
|
||||
- install_client_service | lower == "true"
|
||||
tags:
|
||||
- pod-dockprom
|
||||
|
||||
- name: Build pod-dockprom client pod from scratch
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "/usr/local/bin/docker-compose -f {{ dockprom_install_dir }}/docker-compose.exporters.yml build --no-cache"
|
||||
args:
|
||||
chdir: "{{ dockprom_install_dir }}"
|
||||
when:
|
||||
- "dockprom_register_docker_compose.stat.exists"
|
||||
- install_client_service | lower == "true"
|
||||
tags:
|
||||
- pod-dockprom
|
||||
|
||||
|
||||
# None of this is tested... we're not worrying about it right now.
|
||||
|
||||
|
||||
### # ------------------
|
||||
### # master pod
|
||||
###
|
||||
### - name: Fetch pod-dockprom master compose template from remote machine
|
||||
### fetch:
|
||||
### src: "{{ dockprom_install_dir }}/docker-compose.yml.j2"
|
||||
### dest: "/tmp/pod-dockprom-docker-compose.yml.j2"
|
||||
### flat: yes
|
||||
### fail_on_missing: yes
|
||||
### when:
|
||||
### - "dockprom_register_docker_compose.stat.exists"
|
||||
### - install_master_service | lower == "true"
|
||||
### tags:
|
||||
### - pod-dockprom
|
||||
###
|
||||
### - name: Install the pod-dockprom master compose file onto the remote machine
|
||||
### become: yes
|
||||
### become_user: "{{ username }}"
|
||||
### template:
|
||||
### src: "/tmp/pod-dockprom-docker-compose.exporters.yml.j2"
|
||||
### dest: "{{ dockprom_install_dir }}/docker-compose.exporters.yml"
|
||||
### mode: 0640
|
||||
### force: yes
|
||||
### when:
|
||||
### - "dockprom_register_docker_compose.stat.exists"
|
||||
### - install_master_service | lower == "true"
|
||||
### tags:
|
||||
### - pod-dockprom
|
||||
###
|
||||
### - name: Build pod-dockprom master pod from scratch
|
||||
### become: yes
|
||||
### become_user: "{{ username }}"
|
||||
### command: "/usr/local/bin/docker-compose -f {{ dockprom_install_dir }}/docker-compose.yml build --no-cache"
|
||||
### args:
|
||||
### chdir: "{{ dockprom_install_dir }}"
|
||||
### when:
|
||||
### - "dockprom_register_docker_compose.stat.exists"
|
||||
### - install_master_service | lower == "true"
|
||||
### tags:
|
||||
### - pod-dockprom
|
27
roles/pod-dockprom/tasks/dockprom_enable.yml
Normal file
27
roles/pod-dockprom/tasks/dockprom_enable.yml
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
# If top level and subdomain certs are present,
|
||||
# start the golly-api-pod service.
|
||||
|
||||
- name: Enable pod-dockprom client service
|
||||
become: yes
|
||||
service:
|
||||
name: pod-dockprom-client
|
||||
enabled: yes
|
||||
state: restarted
|
||||
when:
|
||||
- "dockprom_register_docker_compose.stat.executable"
|
||||
- install_client_service | lower == "true"
|
||||
tags:
|
||||
- golly-api
|
||||
|
||||
### - name: Enable pod-dockprom master service
|
||||
### become: yes
|
||||
### service:
|
||||
### name: pod-dockprom-client
|
||||
### enabled: yes
|
||||
### state: restarted
|
||||
### when:
|
||||
### - "dockprom_register_docker_compose.stat.executable"
|
||||
### - install_master_service | lower == "true"
|
||||
### tags:
|
||||
### - golly-api
|
26
roles/pod-dockprom/tasks/dockprom_services.yml
Normal file
26
roles/pod-dockprom/tasks/dockprom_services.yml
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
# pod-dockprom startup services
|
||||
|
||||
|
||||
- name: Install pod-dockprom client service
|
||||
become: yes
|
||||
template:
|
||||
src: pod-dockprom-client.service.j2
|
||||
dest: /etc/systemd/system/pod-dockprom-client.service
|
||||
mode: 0774
|
||||
when:
|
||||
- install_client_service | lower == "true"
|
||||
tags:
|
||||
- pod-dockprom
|
||||
|
||||
|
||||
- name: Install pod-dockprom master service
|
||||
become: yes
|
||||
template:
|
||||
src: pod-dockprom-master.service.j2
|
||||
dest: /etc/systemd/system/pod-dockprom-master.service
|
||||
mode: 0774
|
||||
when:
|
||||
- install_client_service | lower != "true"
|
||||
tags:
|
||||
- pod-dockprom
|
24
roles/pod-dockprom/tasks/main.yml
Normal file
24
roles/pod-dockprom/tasks/main.yml
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
# tasks file for pod-dockprom
|
||||
#
|
||||
# clone pod contents
|
||||
# render the docker-compose jinja template
|
||||
# check docker and docker-compose are present
|
||||
# construct the pod (docker-compose build)
|
||||
# install service
|
||||
# enable service
|
||||
|
||||
# clone/clean checkout out pod contents
|
||||
- include: clone_pod.yml
|
||||
|
||||
# docker and docker compose checks
|
||||
- include: docker_checks.yml
|
||||
|
||||
# render docker-compose templates and construct pod
|
||||
- include: dockprom_construct.yml
|
||||
|
||||
# install pod service
|
||||
- include: dockprom_services.yml
|
||||
|
||||
# enable pod service
|
||||
- include: dockprom_enable.yml
|
15
roles/pod-dockprom/templates/pod-dockprom-client.service.j2
Normal file
15
roles/pod-dockprom/templates/pod-dockprom-client.service.j2
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Golly API docker pod service
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
StandardError=null
|
||||
StandardOutput=null
|
||||
ExecStartPre=/usr/local/bin/docker-compose -f {{ dockprom_install_dir }}/docker-compose.exporters.yml build
|
||||
ExecStart=/usr/local/bin/docker-compose -f {{ dockprom_install_dir }}/docker-compose.exporters.yml up
|
||||
ExecStop=/usr/local/bin/docker-compose -f {{ dockprom_install_dir }}/docker-compose.exporters.yml stop
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
15
roles/pod-dockprom/templates/pod-dockprom-master.service.j2
Normal file
15
roles/pod-dockprom/templates/pod-dockprom-master.service.j2
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Golly API docker pod service
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
StandardError=null
|
||||
StandardOutput=null
|
||||
ExecStartPre=/usr/local/bin/docker-compose -f {{ dockprom_install_dir }}/docker-compose.yml build
|
||||
ExecStart=/usr/local/bin/docker-compose -f {{ dockprom_install_dir }}/docker-compose.yml up
|
||||
ExecStop=/usr/local/bin/docker-compose -f {{ dockprom_install_dir }}/docker-compose.yml stop
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
1
roles/postfix
Submodule
1
roles/postfix
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit d0529a70c1e43711882207ee50f2c2d6578759c3
|
@ -1,7 +1,8 @@
|
||||
---
|
||||
# defaults file for pyenv
|
||||
|
||||
pyenv_root: "/home/{{ nonroot_user }}/.pyenv"
|
||||
username: "{{ nonroot_user }}"
|
||||
pyenv_root: "/home/{{ username }}/.pyenv"
|
||||
|
||||
pyenv_versions:
|
||||
- miniconda3-4.3.30
|
||||
|
@ -3,14 +3,14 @@
|
||||
|
||||
- name: Install pyenv
|
||||
become: yes
|
||||
become_user: "{{ nonroot_user }}"
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: https://github.com/pyenv/pyenv.git
|
||||
dest: "{{ pyenv_root }}"
|
||||
|
||||
- name: Install pyenv plugins
|
||||
become: yes
|
||||
become_user: "{{ nonroot_user }}"
|
||||
become_user: "{{ username }}"
|
||||
become_flags: logon_type=interactive logon_flags=with_profile
|
||||
git:
|
||||
repo: "https://github.com/pyenv/{{ item }}.git"
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
- name: Install python versions
|
||||
become: yes
|
||||
become_user: "{{ nonroot_user }}"
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ pyenv_root }}/bin/pyenv install -s {{ item }}"
|
||||
args:
|
||||
creates: "{{ pyenv_root }}/versions/{{ item }}"
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
- name: Set global python version
|
||||
become: yes
|
||||
become_user: "{{ nonroot_user }}"
|
||||
become_user: "{{ username }}"
|
||||
lineinfile:
|
||||
path: "{{ pyenv_root }}/version"
|
||||
regexp: "^{{ pyenv_global_version }}"
|
||||
|
@ -7,3 +7,4 @@ username: "{{ nonroot_user }}"
|
||||
# link it with this email.
|
||||
ssh_key_email: ""
|
||||
|
||||
ssh_port: 22
|
||||
|
2
roles/sshkeys/files/config
Normal file
2
roles/sshkeys/files/config
Normal file
@ -0,0 +1,2 @@
|
||||
Host *
|
||||
StrictHostKeyChecking accept-new
|
6
roles/sshkeys/handlers/main.yml
Normal file
6
roles/sshkeys/handlers/main.yml
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
---
|
||||
- name: restart ssh
|
||||
service:
|
||||
name: "ssh"
|
||||
state: "restarted"
|
@ -12,6 +12,7 @@
|
||||
path: /root/.ssh
|
||||
state: directory
|
||||
tags:
|
||||
- ssh
|
||||
- root-ssh
|
||||
|
||||
- name: Check if a root user SSH key already exists
|
||||
@ -20,6 +21,7 @@
|
||||
path: "/root/.ssh/id_rsa"
|
||||
register: root_key_check
|
||||
tags:
|
||||
- ssh
|
||||
- root-ssh
|
||||
|
||||
- name: "Generate SSH keys for root user ({{ ssh_key_email }})"
|
||||
@ -28,6 +30,7 @@
|
||||
when:
|
||||
- "not root_key_check.stat.exists"
|
||||
tags:
|
||||
- ssh
|
||||
- root-ssh
|
||||
|
||||
- name: Set permissions on root .ssh directory
|
||||
@ -40,22 +43,7 @@
|
||||
when:
|
||||
- "not root_key_check.stat.exists"
|
||||
tags:
|
||||
- root-ssh
|
||||
|
||||
|
||||
|
||||
###############################
|
||||
# root: copy authorized keys
|
||||
|
||||
|
||||
- name: Copy (overwrite) the authorized keys file into the root .ssh directory
|
||||
become: yes
|
||||
copy:
|
||||
src: authorized_keys
|
||||
dest: /root/.ssh/authorized_keys
|
||||
mode: 0600
|
||||
force: yes
|
||||
tags:
|
||||
- ssh
|
||||
- root-ssh
|
||||
|
||||
|
||||
@ -72,6 +60,7 @@
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
tags:
|
||||
- ssh
|
||||
- nonroot-ssh
|
||||
|
||||
- name: Check if a nonroot user SSH key already exists
|
||||
@ -81,6 +70,7 @@
|
||||
path: "/home/{{ username }}/.ssh/id_rsa"
|
||||
register: nonroot_key_check
|
||||
tags:
|
||||
- ssh
|
||||
- nonroot-ssh
|
||||
|
||||
- name: "Generate SSH keys for nonroot user {{ username }} ({{ ssh_key_email }})"
|
||||
@ -90,6 +80,7 @@
|
||||
when:
|
||||
- "not nonroot_key_check.stat.exists"
|
||||
tags:
|
||||
- ssh
|
||||
- nonroot-ssh
|
||||
|
||||
- name: Set permissions on nonroot .ssh directory
|
||||
@ -103,6 +94,7 @@
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
tags:
|
||||
- ssh
|
||||
- nonroot-ssh
|
||||
|
||||
|
||||
@ -121,15 +113,74 @@
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
tags:
|
||||
- ssh
|
||||
- nonroot-ssh
|
||||
|
||||
|
||||
|
||||
|
||||
##################################
|
||||
# nonroot: automatically accept new keys
|
||||
# nonroot: copy ssh configuration
|
||||
|
||||
- name: Automatically accept new SSH keys
|
||||
- name: Copy the ssh configuration to the nonroot user .ssh directory
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "echo 'StrictHostKeyChecking=accept-new' > ~/.ssh/config"
|
||||
copy:
|
||||
src: config
|
||||
dest: "/home/{{ username }}/.ssh/config"
|
||||
mode: 0600
|
||||
force: yes
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
tags:
|
||||
- ssh
|
||||
- nonroot-ssh
|
||||
|
||||
|
||||
|
||||
##################################
|
||||
# system ssh configuration
|
||||
|
||||
- name: Ensure SSH daemon is running.
|
||||
service:
|
||||
name: "ssh"
|
||||
state: "started"
|
||||
|
||||
- name: Update SSH configuration to be more secure.
|
||||
lineinfile:
|
||||
dest: "/etc/ssh/sshd_config"
|
||||
regexp: "{{ item.regexp }}"
|
||||
line: "{{ item.line }}"
|
||||
state: present
|
||||
validate: 'sshd -T -f %s'
|
||||
mode: 0644
|
||||
with_items:
|
||||
- regexp: "^PasswordAuthentication"
|
||||
line: "PasswordAuthentication no"
|
||||
- regexp: "^PermitRootLogin"
|
||||
line: "PermitRootLogin no"
|
||||
- regexp: "^Port"
|
||||
line: "Port {{ ssh_port }}"
|
||||
- regexp: "^UseDNS"
|
||||
line: "UseDNS no"
|
||||
- regexp: "^PermitEmptyPasswords"
|
||||
line: "PermitEmptyPasswords no"
|
||||
- regexp: "^ChallengeResponseAuthentication"
|
||||
line: "ChallengeResponseAuthentication no"
|
||||
- regexp: "^GSSAPIAuthentication"
|
||||
line: "GSSAPIAuthentication no"
|
||||
- regexp: "^X11Forwarding"
|
||||
line: "X11Forwarding no"
|
||||
notify: restart ssh
|
||||
tags:
|
||||
- ssh
|
||||
- root-ssh
|
||||
|
||||
|
||||
##
|
||||
## - name: Automatically accept new SSH keys
|
||||
## become: yes
|
||||
## become_user: "{{ username }}"
|
||||
## command: "echo 'StrictHostKeyChecking=accept-new' > ~/.ssh/config"
|
||||
## tags:
|
||||
## - nonroot-ssh
|
||||
|
38
roles/uptime/README.md
Normal file
38
roles/uptime/README.md
Normal file
@ -0,0 +1,38 @@
|
||||
Role Name
|
||||
=========
|
||||
|
||||
**uptime** - installs <https://github.com/charlesreid1-bots/uptime>
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
||||
|
||||
- hosts: servers
|
||||
roles:
|
||||
- { role: username.rolename, x: 42 }
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
BSD
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
|
15
roles/uptime/defaults/main.yml
Normal file
15
roles/uptime/defaults/main.yml
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
# defaults file for uptime
|
||||
|
||||
username: "{{ nonroot_user }"
|
||||
|
||||
# uptime details
|
||||
uptime_user: "{{ charlesreid1_uptime_user }}"
|
||||
uptime_path: "/home/{{ username }}/uptime"
|
||||
uptime_gmail_email: "{{ charlesreid1_uptime_gmail_email }}"
|
||||
uptime_gmail_password: "{{ charlesreid1_uptime_gmail_password }}"
|
||||
uptime_recipient_name: "{{ charlesreid1_uptime_recipient_name }}"
|
||||
uptime_recipient_email: "{{ charlesreid1_uptime_recipient_email }}"
|
||||
uptime_slack_apikey: "{{ charlesreid1_uptime_slack_apikey }}"
|
||||
uptime_slack_channel: "{{ charlesreid1_uptime_slack_channel }}"
|
||||
|
11
roles/uptime/tasks/main.yml
Normal file
11
roles/uptime/tasks/main.yml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
# tasks file for installing uptime and associated service
|
||||
|
||||
- include: uptime_clone.yml
|
||||
|
||||
- include: uptime_config.yml
|
||||
|
||||
- include: uptime_virtualenv.yml
|
||||
|
||||
- include: uptime_service.yml
|
||||
|
41
roles/uptime/tasks/uptime_clone.yml
Normal file
41
roles/uptime/tasks/uptime_clone.yml
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
# Clone the uptime repo/script/package
|
||||
|
||||
|
||||
# Check if we already cloned the repo
|
||||
- name: Check if charlesreid1-bots/uptime repo is already cloned
|
||||
stat:
|
||||
path: "{{ uptime_path }}"
|
||||
register: uptime_clone_check
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-clone
|
||||
|
||||
|
||||
# Clone it
|
||||
- name: Clone charlesreid1-bots/uptime
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: 'https://github.com/charlesreid1-bots/uptime'
|
||||
dest: "{{ uptime_path }}"
|
||||
recursive: yes
|
||||
when:
|
||||
- "not uptime_clone_check.stat.exists"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-clone
|
||||
|
||||
|
||||
# Pull it
|
||||
- name: Pull charlesreid1-bots/uptime
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "git pull"
|
||||
args:
|
||||
chdir: "{{ uptime_path }}"
|
||||
when:
|
||||
- "uptime_clone_check.stat.exists"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-clone
|
42
roles/uptime/tasks/uptime_config.yml
Normal file
42
roles/uptime/tasks/uptime_config.yml
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
# Configuration file from template
|
||||
|
||||
|
||||
# Building from templates requires two steps:
|
||||
# First, use fetch module to copy template from remote machine to local machine.
|
||||
# Second, use template module to use the template.
|
||||
|
||||
- name: Fetch the uptime config template from the remote machine
|
||||
fetch:
|
||||
src: "{{ uptime_path }}/uptime.conf.j2"
|
||||
dest: "/tmp/uptime.conf.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-config
|
||||
|
||||
|
||||
- name: Make uptime config directory
|
||||
file:
|
||||
path: "/home/{{ username }}/.config/uptime"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: "{{ username }}"
|
||||
group: "{{ username }}"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-config
|
||||
|
||||
|
||||
- name: Install the uptime config file
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
template:
|
||||
src: "/tmp/uptime.conf.j2"
|
||||
dest: "/home/{{ username }}/.config/uptime/uptime.conf"
|
||||
mode: 0600
|
||||
force: yes
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-config
|
53
roles/uptime/tasks/uptime_service.yml
Normal file
53
roles/uptime/tasks/uptime_service.yml
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
# Install the uptime startup service
|
||||
|
||||
# Check if the uptime service is installed already.
|
||||
# If not, install it.
|
||||
#
|
||||
# The strategy we use is a little convoluted, but has two steps:
|
||||
# step 1: fetch the template file from remote machine to local machine
|
||||
# step 2: apply the template from local machine and copy it to remote machine
|
||||
|
||||
- name: Check if uptime service is installed
|
||||
stat:
|
||||
path: /etc/systemd/system/uptime.service
|
||||
register: uptime_service_check
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-service
|
||||
|
||||
|
||||
- name: Fetch uptime service template
|
||||
become: yes
|
||||
fetch:
|
||||
src: "{{ uptime_path }}/service/uptime.service.j2"
|
||||
dest: "/tmp/uptime.service.j2"
|
||||
flat: yes
|
||||
fail_on_missing: yes
|
||||
when:
|
||||
- "uptime_clone_check.stat.exists"
|
||||
- "not uptime_service_check.stat.exists"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-service
|
||||
|
||||
|
||||
- name: Install the uptime service template
|
||||
become: yes
|
||||
template:
|
||||
src: "/tmp/uptime.service.j2"
|
||||
dest: "/etc/systemd/system/uptime.service"
|
||||
mode: 0664
|
||||
when:
|
||||
- "not uptime_service_check.stat.exists"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-service
|
||||
|
||||
|
||||
- name: Enable uptime service
|
||||
become: yes
|
||||
command: "systemctl enable uptime"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-service
|
34
roles/uptime/tasks/uptime_virtualenv.yml
Normal file
34
roles/uptime/tasks/uptime_virtualenv.yml
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
# Set up a virtual environment to run uptime as a service
|
||||
|
||||
# Procedure:
|
||||
# - install virtualenv package
|
||||
# - create the virtual env dir
|
||||
# - source the activate script
|
||||
# - pip install requirements.txt
|
||||
|
||||
- name: Pip install virtualenv
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "/home/{{ username }}/.pyenv/shims/pip install virtualenv"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-virtualenv
|
||||
|
||||
|
||||
- name: Create an uptime virtual environment
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ pyenv_python }} -m virtualenv -p python3.6 {{ uptime_path }}/vp"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-virtualenv
|
||||
|
||||
|
||||
- name: Pip install uptime requirements.txt into the uptime virtual environment
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
command: "{{ uptime_path }}/vp/bin/pip install -r {{ uptime_path }}/requirements.txt"
|
||||
tags:
|
||||
- uptime
|
||||
- uptime-virtualenv
|
@ -82,27 +82,3 @@
|
||||
mode: 0755
|
||||
|
||||
|
||||
#############################
|
||||
# install vim-go
|
||||
|
||||
|
||||
- name: Clone vim-go to ~/.vim/bundle
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
git:
|
||||
repo: "https://github.com/fatih/vim-go.git"
|
||||
dest: "/home/{{ username }}/.vim/bundle/vim-go"
|
||||
|
||||
|
||||
############################
|
||||
# install solarized color scheme
|
||||
|
||||
- name: Download solarized color scheme to ~/.vim/colors
|
||||
become: yes
|
||||
become_user: "{{ username }}"
|
||||
get_url:
|
||||
url: "https://raw.githubusercontent.com/altercation/vim-colors-solarized/master/colors/solarized.vim"
|
||||
dest: "/home/{{ username }}/.vim/colors/solarized.vim"
|
||||
mode: 0755
|
||||
|
||||
|
||||
|
12
secrets/apikeys.json.enc
Normal file
12
secrets/apikeys.json.enc
Normal file
@ -0,0 +1,12 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
61633431646330396235626130643138646339373466343131636138323837343132366535316364
|
||||
6232343234383762623531346536313837333166373331620a653239306639316539663064663937
|
||||
37623866323462366664666363313961613939666131336134376163356234376231346331653063
|
||||
6661323433383735340a356366303662666361393234623238306463316132336138383161633233
|
||||
64653466396366333863396332343135396266313031666231656665393832393830613265393635
|
||||
30373061336339383338616535363636616139363232653962303262666465643431653338376633
|
||||
34373138353362616466613537313739663862646666656264343466633336396636636239366435
|
||||
33313864633232616131616463386133313231313936333531343866643733393432323062323265
|
||||
66383138636438316562306130303336356330366331663330653936303465643932326231326436
|
||||
33653536656338323462303365326134646561663735643033333432396337633962626331333265
|
||||
313739313466393730353831653032376663
|
165
secrets/apollo_keys.zip.enc
Normal file
165
secrets/apollo_keys.zip.enc
Normal file
@ -0,0 +1,165 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
37316537623930656666393032313566326466366432383166363436613863343764613339613439
|
||||
3365636333303737373361663733663937616133313032610a623836323036396663383965373034
|
||||
62316532396339643431313161356238316636383835383338363633363936313237353632356133
|
||||
3636663137363431660a656132353635656230373935323136643336363135356235623038303338
|
||||
39323338353532386661393739356231626465303339373566393765336235653262316133376534
|
||||
32383237353735323134666164356137643837353332643138343039353237326563323961643536
|
||||
65636535663734333066366137363936386239613661656434396439623834656635363763313466
|
||||
64393739653464336133613638326338356537353562336462616538633861643138613433363438
|
||||
37376661353162333163623563333766396362653531383536643164633966613636363035373438
|
||||
38373762366261613130613263386364663630376262306462323432396636343634616438373234
|
||||
61633436666630396339336461633866653333663966346361383138336437383630616130636634
|
||||
37393934666632316562386334666362376339326266623665326265376331353931613664353935
|
||||
64363463633063326264313162373130666161383032653965316166313033313532353061303536
|
||||
38343465646263353437323237336361386261393664333866363764353038353264613261363264
|
||||
65313434326261326361666135633434333466613565303837373135373561663133306565636138
|
||||
36383561666364343037313533636534376263333665646432356334663531663432366666323538
|
||||
32396163613563386236373037346437313835336336656636373139663134336132313662313831
|
||||
62643761616435636135316530343231616239386564303061616164323438316139346237646265
|
||||
30313033343631323735313366666335653836653931653161636165653662376539623332393933
|
||||
61383462373666303133643664393661623262353465323461613464396634623261323833636135
|
||||
32646132633530316337626162663661633539663466376633383336633864666664316263363930
|
||||
39366136653738386665353137343530633061663131656363343032656636386632346433333561
|
||||
66616336373734366131333233656130383536636534623634666334613735353465373431326531
|
||||
33306634616438316637666233306536393334366461326630643664373733376235653961346331
|
||||
65636366333636303237653061303866366666663731666633343938393333313735323038643138
|
||||
30383664663634383462356264343437623332313139323339313434313563323938363463623833
|
||||
62393132646665363963323362623438666461366131393164323935636164646337636438313462
|
||||
38666362653339663630653635643331303038323032393862383863363065353364346338626165
|
||||
39323365393536663662313761393831613832653335343035323935383761633464313237383237
|
||||
31653235633936656335616435663939656332663430386661326366646534613365326530303833
|
||||
38303862343165303334383264313637386631313238663834323136646238666139633430613362
|
||||
33396264653333373564643532383734623437303738393464383233303136373939633961616466
|
||||
32663761616438393965336334366636326666363235666234623834623534646635333332356664
|
||||
38643066326562363464636130346662383463376537353636663632356335333464376533616438
|
||||
63383930643637666438363639643961646561653066633334353637633361326634303230356539
|
||||
66373531396437363632646238666631616562653962316634633833323862323738323037643933
|
||||
61656663366364623066373462326661363163306364666637383130393839313966613533653235
|
||||
66646432623132383966353065626337653563623339333463303863336463643365333962663338
|
||||
66373162313366393561666661616230333261376265653436653261633265616364353765333236
|
||||
63643030363839333535623265393534666465613165366238306263613436383730633765373533
|
||||
36373231346162626437613230313030633436323136646130626364623737373839363038373539
|
||||
37383538323066346161643935393037373837353331323162616236396264303266373932653832
|
||||
38633033326664343534303464323861383863656663646537636165663938303133353438636537
|
||||
63616166303932313039316366333236623536626632626339316435346264303634383231333362
|
||||
64633638613335623430623639353035373037613666626565303234626261303261643565626430
|
||||
63373738306532653830376262383136386632383439666265343233346433353032313766616164
|
||||
30633966353130636333313864376365643866353036353133636664363861346462386665646564
|
||||
66346130633137323333643430363435323834383466333461353334316431366239623434636238
|
||||
34373663376363393933363466393936363362326535356137666431626632653966346339653531
|
||||
35353439376165393238613039356531623334326338363633333634313233663662616230653861
|
||||
37376530616262353338316364336333666237313536626339383165316435383738626531353235
|
||||
39356164666335313932356333363839663564666666366162633836303137623336636330386238
|
||||
32386239303661313436623364303666393337326235366130643433623135653137346135616332
|
||||
65636531623031333361373839643437356131353662323832363036613466663334663364343761
|
||||
64346132396463636637396166336232396566313936383338333966326562353037373837613536
|
||||
38626662613334616538313662303038396362616532346336363630633334366462373664623261
|
||||
64363964323139386132623431646163353537336237633334373338323966363361323231333734
|
||||
38323063666263656634613634303834653866313266396633303163306130653835383737366133
|
||||
30376562316237396231336462383837373932623835616165636331336234613239663231663463
|
||||
30303764386130356663666130356165613162666166363532303163343965663133313636356161
|
||||
31313435663634633163373431653065626463356166393634626139646566356664646162383033
|
||||
61303366636633326539663866316565646538306630643264316366616262363439346638333630
|
||||
34653839383766663932636163643834373631633138353837353665623830356331323233633161
|
||||
64643239613336633933353833616234626564666435396332303964346462653639656235396361
|
||||
36643064623062383739636539383130646335376266643434656434303538643838363430353366
|
||||
61383066346361616336616632376562343537336661373162383434343066326366316632666466
|
||||
35393939303536653166636234303761316138626538613762653663636161373261633438366563
|
||||
36623638323565363562336235313638643838646139363466333064656632663364336662353662
|
||||
61326665363764626133373466626465363164663461666532313665636232646230383734636630
|
||||
34373864376434373839313265306433643664343231363237333261616634393838393230346434
|
||||
33343438343437646664383032393766393331363631336136393630353338636264323438653432
|
||||
30646561333561663537633433313938373035656564356265386430633031303738303761333639
|
||||
31303162313034313832643932333939366132356566313532383061663234316535303138356661
|
||||
34656239643264313632346465663034383064646235386331386235613162326339353432613366
|
||||
30336133613232393433376432633764316436613035306237356234336239663535353265363434
|
||||
32613439623737303365613932373134343162643830653731306230363735323962636239333563
|
||||
66363265333530393136373166646438373762313439303062663437396464643039626661373937
|
||||
61383633303636373065323830633434396164626334373137636266313264353736646131663538
|
||||
32373263666233326266373837333531383131623133336235633965666638626161363431376565
|
||||
63386632623332346639633330393833323333336137633164313932643036303063636430633364
|
||||
66353662623062353164383466386261333739653839323338306638626637356461333263316161
|
||||
36623539343930303037323561383935326265366639313437383663353337393233313830646636
|
||||
30356639326537623332613766356566343864623134373734623239343136373435653435333336
|
||||
61363062656136323563386161323462613333366135633339343965666565373639656330313136
|
||||
61616432386564353735393231666531373239313634386666343362316236663866316665353066
|
||||
32633362356630376335303963343965653736616132396338306534303230346562656163323664
|
||||
38326635366133636162653930306435326534323063316634653432316637376361646662613834
|
||||
37383263323831363630613666636335306632623738303835376332666262303063623333323262
|
||||
38343666666232653465343032366165373439393133626133626361646633363762326537313364
|
||||
37663237623138346333333537356230326537643462346337373862653936653264646465383462
|
||||
33373037386330656338353432643737366231653037623337376362616563303832316631613064
|
||||
64323264636335373561396538313763653763663135623637396432613534396130356561633566
|
||||
35623034616262346533386362376436306463353261303033323561386663663334303836373365
|
||||
33363935656135343333363464363430323661333562613434393931616363656439396461363561
|
||||
37663035393665336136626164373436343566643566643963646437343761326631396664383233
|
||||
39623532613062336430333238323532663138376664313363646562616462363830623134323433
|
||||
66656435376465343965326438623730363338663463353432333734616334356439633966646538
|
||||
31616337386165323465363561386137353030396231313665623166643065303831313735613032
|
||||
31393938656430653761663333626237623635646333343664633035376134636438616563366332
|
||||
39323534623963633532323239623134666135323861373935343533313437303661393932393735
|
||||
61363463356562663733323430356265633364376463383362373339363433306431363732613031
|
||||
38336531333863363765646534636565366564633531663866666462366166653830343461313733
|
||||
39613261643939376331373630303632333339363036323336663766333264396138623334336263
|
||||
63656264333462646438376436353265656139313233323363376339626462393664356162356534
|
||||
65386635333165383233616233363562323663346161646630326532396235373830316439373461
|
||||
65626630356537303733373465343233633963333734353634346564386465393339623836303663
|
||||
37646436643937656235313938383536643734633930316464343236663762303435636332336334
|
||||
38623332656237333431633037653231663366663333393039356138663930353164313261326335
|
||||
65353933316130393934333364636264393433623536303737626234346131356336653130633065
|
||||
61653938386665623938653966616237383035653039366666343336363036313232343235303364
|
||||
31303937643130393133643061343038653333643162363065313531643037653931616362343065
|
||||
31386265316262396133643263386363303666666431666531376134663564376233343038316665
|
||||
31633234306661326435383337313163326530643130656364613438373337393266353938626164
|
||||
34636566633038656464346532626362336134356436363731616666626666396338643734666537
|
||||
36306466333662313035643664353638623736666136336166396462376561303561316662653462
|
||||
33656262363264326433373439326137613435343239636138666534616632393063366435366263
|
||||
35646439353266363262316662326165323462656264623164636562373739393038643362623661
|
||||
31333933643839636335383261353830373831383131396661656231663565396531616635633139
|
||||
36623838376239353161343635616532336331333539366134646131356535633233623334663031
|
||||
33366366643335326166346238633263343536616166363239303239346666373438333062353164
|
||||
37316331666434333161636339383639383532313630643962373838613936633863393530386635
|
||||
34316637353630373465346235613534363966333339616436353433396333653666356534336133
|
||||
39393366303339363539663466646162326432383161366530613438363231643662643336386231
|
||||
63666465343530313661623434306634306362393736393738353462343135653062393538313762
|
||||
34656532613134363639323761333963306661336631343438393937373337636563333331316331
|
||||
39333735636130653535343431306335643362383630636262623737366339396466353464383037
|
||||
66666231653931623637356532373361626566346137656562393233643637643630663932386135
|
||||
35616434326663356536323834333565393866663732616331313562393930656366306633356138
|
||||
36616266636630643833356230383539363664366433353839346666666538303962313366356666
|
||||
34383133643936646564653436306134303364333838636538633666613232323364363133316563
|
||||
33643439396362636631383931373438646463653839363637363633646561306530366137383532
|
||||
37313563643136336166343666663361336635663836303665613237623934636433343431343265
|
||||
32313439656166656464373864316263376137353932396137623036633439623032346637353632
|
||||
63633332626334303465316333396236333965386163343139366137343865303463363265306535
|
||||
33383936336231613661393439373964386563376466623538323135613565333037663933336261
|
||||
61636430323232663036643336653532636639336139356164306366326639636362643430613837
|
||||
36396165643464663732633135613931373134613038613564653864336638323462636639366432
|
||||
33393362326138636331643537656333353330623566306162376433346336383934306137646139
|
||||
64623265643963653730303736323464393036663062396463353937343432346133396262343033
|
||||
34313737393131383961623665663562643064356238346361323937323165376330313263353361
|
||||
64616633353337343836653262653465316430336433656532316662643233363762353335636538
|
||||
65663162373661393661336639366366343937376163303266333135393830343038373166633834
|
||||
34643639633832323564346634633664306532613737623665373561313937306130633638656438
|
||||
35303336336666303935666133613362353335396135363336366330373832613065643266333632
|
||||
37393038663636373837376539353931633539346165666331356230663834613431316336383962
|
||||
34323965363763363536363037396139616161666536356436353163356335306437653633343061
|
||||
30666166633531386533393533393564363434383531373261616666636164353262613466356336
|
||||
38343132623033633862313435313532646230633661313765653837353864353737616239373135
|
||||
34366162303935313363656430646536383638376138653365336166333730633734656666643164
|
||||
33663361356562616531326334313630623930366238643632366261616231613439383938346331
|
||||
39393363623136616661363138353732656238666136633766626535313830646239313535363164
|
||||
33363732313333643333343037343265643333313430383034373032376662626365373561616537
|
||||
62343864303536353335666533343730313836356130396132313235353164626538636564366533
|
||||
33653765656434333761396331353964383133313238393064376331313531386661626166633132
|
||||
66363266633231313861636534303739666361626333386637666162396531336235623966396631
|
||||
37653139303332353064613938623430623564323633336437363438666135333865376335343731
|
||||
36373036333065643566303364396139663330643132613065313630346136643832623939386466
|
||||
61313264643863643830353263323633366561633735306666633862343661643732636239653962
|
||||
33353066363730363963303762663066613335346133376632303436626434663938326232633366
|
||||
35356139326233623930303833613033376261303836396339363036336532363137633862616632
|
||||
38656331353161663866353064333266663438333830636266363262356137653035306362316562
|
||||
30303738386632386438616139343337363065323061623831626136313035623864343632376236
|
||||
39316631366130333334666530656336663666656465343937383435313839303036646336386639
|
||||
39383465613633653465
|
438
secrets/ginsberg_keys.zip.enc
Normal file
438
secrets/ginsberg_keys.zip.enc
Normal file
@ -0,0 +1,438 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
33623462626665343863353932613633666230323662626536613136356530653234646662333162
|
||||
3538393165613533366163376565656432626163653835390a666533643961366236663164333165
|
||||
61393737346233623030616137313761313566616264323130643932643935343939323439333835
|
||||
3562383135656232630a386632373739626631653135363936383732653464306635623463303337
|
||||
61313436363236653830663330623033636163616265373565373334633130656566383639346432
|
||||
31616561356631363936643562666237613335353166363063343737613264396534656631383936
|
||||
37656531636334636333383931633465343139616632323962333439643634626665636132346166
|
||||
64626565373462366437303562646636326564373332343931353436646565663632613366306639
|
||||
61356233363135613761613130373862386536356434336631323331346563383931383561343966
|
||||
66366431633966663065613864616161326166303638386466326237306531346563326332313530
|
||||
34383638313962343563313534663930383266613062663933393537386630616164316663326238
|
||||
32363131663364646631323262393339636436316461356632643065323931363833346339616166
|
||||
37663234646332626638666564366630333865636134656633316136356364653536386636616330
|
||||
34346132336563386230323435323533643065626663643564626263663466396534386266303235
|
||||
34383734666336343063653661666364363834396239656531393536376164336161636639613565
|
||||
35346266623265303235626466373936346136333439303630663139633566353161666536323065
|
||||
32316165663965376231636364326562373261393530306532336332316165393731643839383934
|
||||
36356562613339356366643231376237333563623661646133366563373932643930383432333431
|
||||
39393163613439373231656632353166326532643033386531616231656465336336666664343330
|
||||
33356165383063383263326334623434383533623133383562663765643462613530306439346430
|
||||
36366266366365613234326336386431636263313533336434636661666631633766666261343665
|
||||
37346261656562353636366662646239323963313066363865633839366461303138353039343131
|
||||
36663837303535633265343636626564613632643636613439633065383636396265376133393963
|
||||
63333666383237386436653861316464393336636438633664346166616165346363383161663437
|
||||
34383634623335663534346534376437326330353131393035393630653864313164316430313035
|
||||
34636538373539346538383461383662666138663937656366333966326338393866346335323832
|
||||
37303537383939386139643136633362386433363965343939613634393235653561313233353636
|
||||
36653839383932396533333736306236333465333363323139653463626561333665393831643437
|
||||
61623832343663633366663030316337313237663631633565636333643435346335303835643264
|
||||
66326263663239366434333565323239393836613231623535303034643832626364346166326634
|
||||
31303534333839643237343966343632313763396365393962396262333139346664383365646636
|
||||
65353561616433373833333062333231636434643830623264303566613136313233376661313665
|
||||
64623764663635373661623435376430353931346131303435313737666533343331313434653837
|
||||
30646162343733613163373731323135383366346339643335623431396238383962643863316363
|
||||
30636438383266396630636536656233343536636166363633376537346538666234333036326630
|
||||
33653633643862323439323061663730656264653339316161396635323761393533346663656635
|
||||
64646663383865393331623536626330326161333664386562383139323561653234346661323736
|
||||
32376435636163323332386261626132363361343436303138316531623564623438346538643933
|
||||
32343936616432613364383136383231393231663738326132323564626261303335316630373533
|
||||
35373165633130636238623232663864316234643965316638313437306365323035303539356336
|
||||
63636436643031393034633933623338316635373130383031643036663830346239656334616537
|
||||
63313433653231633637626262336161643334373533633734623239646233653634326337316134
|
||||
36303533653163323836656338653838623361616465396463343865643262353063363230396162
|
||||
37306163326463376338313335303564666631656463303532646266613764376338626436613932
|
||||
64633830383130643433653066633262306433393866316232623535396661623633613037636465
|
||||
31393165353438386163393061366531333031306130613736306332313235393263303630353037
|
||||
65666166626534343039326162373262373737623231316638386639353866303462343537323032
|
||||
35376132656432316564646635353037353435663837386266363266663739383130356261336139
|
||||
31356261393538653466643965303134643030663539366263633031343864366366363630386138
|
||||
65363132623935323739333830376135303865646666313464313633653930336666613833663033
|
||||
66313861623063326230616665306364353931633838646433303166643661613062376636653933
|
||||
66393665313737306536643063633034316137306661386331306138353936393134366136316338
|
||||
36353935383439326634383134343831343537376263316563636134353436663961303032346139
|
||||
63316531623139373334653534633130626165346237386566353636353138643636663735623862
|
||||
32313830316333353962616535613763636531353836323462636532633164316334303466366337
|
||||
32646261323165666131633566663634343664346536356336663266396633636133626334333730
|
||||
63373637303739663466643666353133373634623932363332646231613735343633643035386239
|
||||
34633637666661323133396135306337306461343435633631353733636166303731656436613234
|
||||
35373831663136306366303734323131353432376230363733303635616234396165636532333533
|
||||
31376538336561386135653533373763613436363665303335656636616238376235356135316135
|
||||
36383734326463346535333138333036343533663564373262653232656562653562373939653338
|
||||
37366562343665626432373661613861383662326130633336353130613466653837346662643736
|
||||
37316538326631303632326430643836336262346231383536393661336433616465356338663035
|
||||
38353434393661323933363032613531626266376562616336346330346636623734613032323366
|
||||
38623634313630626530306433616134313163306664386166323134343961363336653739626361
|
||||
34623839363938326230613263323966333130343037613761306633633663373065613662383836
|
||||
31363332353130636566346132373637363061313465333131626361376237323539333439396536
|
||||
36666232643233356163663262623535636337383764333134336464323135393932623534633461
|
||||
65366435373330333963633239663531333738653337303232626430393265373133356632326538
|
||||
65323438306463616439366130343261323134343166613231386532643534626635363331376438
|
||||
38373736333363326537346566393732343335306166623334613233356335306333666662613062
|
||||
66323265346135613935333563346636323434336464326535346235396463313962326438626436
|
||||
31616565666462366535326632303532666266373865666131353034646432363638313135646262
|
||||
63373039353138646665313636333432353238396564616662366139333235313338336331316137
|
||||
61326533626538323035653063623832363633363835613563666463643936666166353563396434
|
||||
39666361633335373562366638373464313730386635393463663035656233363133663435653534
|
||||
37636232386633336438343132623032313665306432353437326237663031396636336663386664
|
||||
39393039323232373132346332323761353461323330666130663837656137636237653239323634
|
||||
63613032626161636638666563346636616633393863643364666139353235653166303365653836
|
||||
36306565333335636466323132633232333864656464376363376133383533343130656134313839
|
||||
36623836333161653162313662626137316461343635363366396639656162666435353033356566
|
||||
62656130363931626232613332313638643539396261363264363234643738326463396137336363
|
||||
65316430333334353261343332376537663936653436623635653639306161393832383634663636
|
||||
39363931303030376638353039376538303134386339666662643561656565363938646462663931
|
||||
33356331316264623864386561643131373831626666376537633161653062393061353534393263
|
||||
36633935663830393132303338376662353664623439346539393839396639383237356337653365
|
||||
36343139323030363962396437326636393532323039663538343136326230653264366233393532
|
||||
35363866613463303264653464666331316639623436366234623032343632623530613932353135
|
||||
30616537356264653430373365373539663365373439363764633465613964653933336431343665
|
||||
32646265616661363861373461623664396637396333393431333834303636613335303037626138
|
||||
66303236633433326466393934666236626331363865326535646134313962316563663039336531
|
||||
62383732653730343835646439313032323762653436336632643730383239666631623962303761
|
||||
34393736613862323633353531346666313763323032643631303630346137316134313064643235
|
||||
64373237366131666463306335616432366230393335646263663865323339383836316362353463
|
||||
39643533626137306339366532343166383963643731623436333163306236383930653132613538
|
||||
37663266353439316535353132613032626464306633326430303363383563346130306436643162
|
||||
62376166623264333838653635633263356332313138343630643738333830623539376232323361
|
||||
65313066663661396663356362386231623161656466376133656531623831616136343563363662
|
||||
35333334333935653736613762346333326532303433636638663938643161623264303338623639
|
||||
35626132333965646431353735376662346537643233363264656537616661666135643437623334
|
||||
65613030656237306362363265306665303065373734623839333232633436313165633939613835
|
||||
63356335333564353830326233656462653132623739306336366533666139633636366637613335
|
||||
62646336663934663330306534663232663239376464313164366261303338333965663264646531
|
||||
34336261636564326530646134343736643731313134373163383063353637376261363337663435
|
||||
34333838643464386232633762643666333463623134333434623465386537616634623464393462
|
||||
62623763363062663363393030306433343466366433366561656537303832363765633937643338
|
||||
36336130356636656166303833356232333537373163663338656430383530336135646263656133
|
||||
38653366643665653862633163643461636633353435333538303538633536636430363465616334
|
||||
34663733613361323066373165396662373462366537383433666564326366396139373437333439
|
||||
39646531306435623161663530643663613865616637316435323361626565636237323266366563
|
||||
63633337333365626262656633623766313861353236313365363934346133393433633661633335
|
||||
39326365653936383738653865333363333763623366376366316362306433383364663765626630
|
||||
36343335616236336363393762363966373464323263323631366430666230623764363534303436
|
||||
34623063336234653030643437623931663965313334366361333761346362626234383566656661
|
||||
39646563666537643331336531653566626131666439653739636561386330336338653539623962
|
||||
63303738383738356564393665393834303765636334303932353132623537366564346562633336
|
||||
63633937353063326363393163616631393837313039346162326631383863376130313436663936
|
||||
33323936333563323961383234646534623430393166323365643135313231373534643230633966
|
||||
64386239663437363936643431616466363130353761313937626434383962343937343062383238
|
||||
33626538386637313530383338323738343462656233393637656365303665346130356131383430
|
||||
62666466393862386237393866656235303862633032343666323731313939643661633565623566
|
||||
62613134616536373634356563366434646532656138366537633733636362386239393261393337
|
||||
37353862383461616138383239313138646563316534626330646266613030373463383934393438
|
||||
31656334353666323132323761303866333963623431613239386261333165653564303435366638
|
||||
35363366343564623934666338383639663637396437343431376439333337363432653235636230
|
||||
32386531373365613763386431306364363033366237343635363131363062336538666464363039
|
||||
39326330306138313936653763656134666536316633626133643164323434393066323133363537
|
||||
63343636323732383664366634666130303536343763623437396135653432336634333135343762
|
||||
35313033613734643639636133393637343362313336316266313437643061363432363662666665
|
||||
30386134326434643530343636613435363866656138343238666436616333383237646536636330
|
||||
33393436363762633665613461366135356237613937353061623030343362653163623233656361
|
||||
62666331363139363130306534636332313730336237666336376564333230323430336666323932
|
||||
64356138303638373638376539653837663962363739656437353337663639666266373432623764
|
||||
61316635633939643239303235373363383735326431313164386232313538633065613837333633
|
||||
35366133353565333137366338623738333962633761623036316139316536666263306533636561
|
||||
33353565326635643561303665323230323539353961666339393836393639326632306333653433
|
||||
33323535353661373736306438633835386138326532383563363632656630626463303463653837
|
||||
66363137353265656466623339633336623632356265383432343063343838343562646433336538
|
||||
30306138623561363238393639396130613034636137393733653939613337393437366138363566
|
||||
65616633333262306134663362353363346239333763653062343839323531326432373462313764
|
||||
36636261386530396238306635366631376430346332653565623539663635346638326234376137
|
||||
32396162336664353437643764396530356131323939363138303334643030373134666462663061
|
||||
35386132333266623136376462373039663234303862336662393736653732383462303735393635
|
||||
30653636663432616363633662613365643434313864376530613439653434646133653234313238
|
||||
38363038353731616139306465623830313633626634636264653132656664326233646631316230
|
||||
66383532316364383939623637336265306636363262303030353839366630323539376563643561
|
||||
63663130343631323362376238343265613464636634333461316231343536383937323233373064
|
||||
31383363653264383132313833373231393530663562626565393461393138653565356162616563
|
||||
37636266663435323262376530346239343238633264363763613935383566363862393134396338
|
||||
30656430653038396338313337353061316263323065626430323966363535323136303531393138
|
||||
65313935343430353838373761396132303831376132643861303539626331363763303335653838
|
||||
35613532626238636631623935653464633831383530346532623439323935313663393931333866
|
||||
62343761383732393463346463656630376164626664663262323163386530613830383734636365
|
||||
38356434313837313837613062376438653235376162366561323830636564343538663233316637
|
||||
63623731343061666261626361306634373936386131396334333465303639393663313334333130
|
||||
36396635383064383863353737363431373638376333366135373738666263613039643062386365
|
||||
36636430393464623664666136373432383466346639376437666332633230393434643562393535
|
||||
34393166666461633838383734656664643438623731346161363534616336616435313432643334
|
||||
64336633643736643234663433396135363263653136383133633538306634356339633133633732
|
||||
35326430633963306336643163626434656562636434393234373234386366383335376535303663
|
||||
37373938373439316332316531616464393032653964306237343034323738353964613466663664
|
||||
32346563313563643138366533616437363864656163633935633834656562353833333664356538
|
||||
62643536633765346139313233643531366265393565373363656230303732306434396634393132
|
||||
37303933393039373666626266646531616234666234646432653961396637336263323163386131
|
||||
39313730653266353064373334636163306632323062633935356537653161333865303966353038
|
||||
63303063363961336631323063313437313838316363356632663238663130633936373739663231
|
||||
61333637353235613832333332326239343632373037333636333766363632323739373933643166
|
||||
37636239636335343561366666313633336432646137613636393530376364313031313761373033
|
||||
62333037663764353566306533353638376133313634373631376130656434323035363131346234
|
||||
64313561313935366338353231666532326631666434373163623566636364376339306634626461
|
||||
38333937386465373037613939326138663733366665386232346631386566393432303034373863
|
||||
33616337373535633666333030363635653030366135316333393734613038653062333539396238
|
||||
38326364636464616432323532393964306139383333336333316638326561393833643632333833
|
||||
31343165363566333362666261333132623338376235623532306235346130303865363561346365
|
||||
61656336383534356666613661373738666430383965643163373238396266323537336462623965
|
||||
32663838343434633933633863366136373233333839646332313939633938363533653731336662
|
||||
64303535666361613530393037323031393837623633653864636633383465366334643834666636
|
||||
64383166666434333562643337333431323965306266613037383166656232313236373838366633
|
||||
62623566643032386661666530636135316639363563383334356662636235653033303762303463
|
||||
64626464303366383336333932303463626164363035373032646366336362363634646539353265
|
||||
31323662396439303737396363306334383864653338323261326234306334303330616238353030
|
||||
61393430313431653239666431636536653761323636303965653538636464343662633163326537
|
||||
64373936333765333162366437666262396465663032393739383861336231623863633932383738
|
||||
33373432316662363835303961303036306135653665623836623639396562386139323631333831
|
||||
30653166316535333039326130663864336361303631326662323936353063353532373233386263
|
||||
36353566616239653962333438313730616264656136623938393865346437643764326666366337
|
||||
32663430393330663431396338346464323331613161323461616338366163646665643839333464
|
||||
33383865623239383335336263333730333035393337376236303666396334663431613236333531
|
||||
62633862323838383566646238316666366430333063646337393264653064353939333732643833
|
||||
65383737633331363064613866663462396365343432623165353635383238643734333634323461
|
||||
62346265376366323436346166353464333862323438313065386432343833643663646566613962
|
||||
34626162333962613832633733396266306138663165353830623137376430393166313266386434
|
||||
65303438343538336238646132393635656439346131356165393131396362353637386239633838
|
||||
38333233306337633738386433653634666434633861366563646234343533653735386333346234
|
||||
63353264326638346263343462656565356432633333393463663136653332323337626234393739
|
||||
61376637643932313535663865653037636333333831356165363530383032333830306235666137
|
||||
30663563363162303636613533623465313564356130323836376631356431636638373130356435
|
||||
66336630373562393631336332346532623236333539646163323064643563343231383433336233
|
||||
62323862616438373434313065396131313437636362303131316338396533613933363130313133
|
||||
39363635383330663133663737386130333863653435323232346330323162656639313462323435
|
||||
63373361626131323864343363336161386136343366323132333963636162633539653032386534
|
||||
38663863643631316238366264396331613265343862613564633963373235653136376430623462
|
||||
65353734383433386530363932333630616538323139323165323533626562633932663138366134
|
||||
65333536386237366361663836653738633837653533333830313463373735316334643231376663
|
||||
31306366636438376532346464643064316437373664396434313532303731356230326630353461
|
||||
38343834376534313062386333616434333438623863353033336463326532386164373937616233
|
||||
34376534333232633337653436326464356665323039373666623832633164373030326366316439
|
||||
39376135366230363536663066333637383335393934303431363433396232623838643037313437
|
||||
33663130353432366332346339643439343766373737346365343262636235633661623836663730
|
||||
66383261386438333635326663346533303466663465663132326631623361386438663637316362
|
||||
63653634336437616339626533666639626338313561393761313030643234326631633230633230
|
||||
63643662376263623261313639343538636563633830303861363334316261343134633163363939
|
||||
62626466353161643030613962313061346563653830306636643631313934303136356563393138
|
||||
38316136653438373636333336363938353865643233633932663064393236343766326462376534
|
||||
63653062386561333461363863633836333537353733366631353866356466366233353663353363
|
||||
30643533336534353461303737346538346237613939326336613439383133666431623534666665
|
||||
39663231326532646336636333333035646564353133666365396366616665646465313965383137
|
||||
32666135383335633732333561333535323639646461626462356238303130303535663432373537
|
||||
36653036663765613439326531303264376665336565383765616635333738623362613461363635
|
||||
33303864653031323339623439313832343263643930323462623538343431616439646138633131
|
||||
38633532313136653531326236303234396236306266626266393564373266633931393866666266
|
||||
64353137383730323237363532643362643537383731373735626238626364393430646362646564
|
||||
31323739623963333366626130393966616232656137656537646264626638316334336666613936
|
||||
31613031313331633465316137663364313638343665636664323565333062326630393530353764
|
||||
33646564316361643965306336613033653534313536313236383132633038616666663363616362
|
||||
63393233306135393938323161336630356635646430666163653961323830373535326265353963
|
||||
38653733326434303933343031363636376262633137313863666538316665363661383764303263
|
||||
32646136646462623266343365373230646234326436643634343764313030626237333237613434
|
||||
30396536646463323038343232643432353330333131393730303636383661343536323965646338
|
||||
64373836333234393731623132316537666237323561363162326561646664303264383438383332
|
||||
32383364346630626636303632646162633839353463386362663463613764303164386331316562
|
||||
33376436613761613336366138316239346266653263643262623863386135616332363635386534
|
||||
35363535363834313166366538336661386536323366666335376135333834623634646234613137
|
||||
37623561643932653964623065353038396562646433353337663937643631313539343363383263
|
||||
35346466386636323563623162396134363134633963656238646236356633653731626365636235
|
||||
37306636613038376236633632306163326566653861356632663166363566346235303565353563
|
||||
63353937353130616630336339666662393064663337313734363563316535343635643662663339
|
||||
62633736303264623465306161303531316465656334343639333132363465313632633833376536
|
||||
38353566633065613737323438316133363133343236663765363436666232636535393635303635
|
||||
33613037346563613961383138373562386430376335623036326561353333373233666531653461
|
||||
33363966653066323730376364623261363863393162343339366233653866366438336363646438
|
||||
62323962313333646161303630646537346539343566653864333865363138333361313536386233
|
||||
32356362623363353533643239346638616633633330626539656563356136393063343363613263
|
||||
36636630383230366363633965356466326565653766623737303765343239383830666132313238
|
||||
36653237393862343162303834353036623661346463363036363532383866326330323837356561
|
||||
37626439363936643832623932306339633261393233616639616465393132623466316161356330
|
||||
61623464323038353534386132383334643761616161346630643031616565346362353233653234
|
||||
36373738633932383039323335373535393066616461613438666263613363333533396631353963
|
||||
35373663383937643463656531623135353130626133363437633963313338323361626166363632
|
||||
34326338306139363632383534653865313163303235343530323263353435353232363162616532
|
||||
66663639653636343065633035343666376434363739353363336264366665643964386666346536
|
||||
36303933383236306139636263313034656538373036353964316362333439346337323034373061
|
||||
38626263326363353237303162643065616262386536623336323266303737643166653464303865
|
||||
39353535643730333661633737653564353033666139653163626132303664646335643432363432
|
||||
34323430396466366362633431336266313733613030633431386134376161313464376163343265
|
||||
39623463313633396233653237333237643364653038386134373937623863393963303365663738
|
||||
31373236643764666663623432363338633264303365663635653339313162613034373361623937
|
||||
36613964333330353964313532383062626139303365376534613337396333663532383037373963
|
||||
65623763376262623966396130653033623462353732643963313864643337626334376166643033
|
||||
31663764323765316331393933306231653132303833373131353134303032306532623162303936
|
||||
38643136333562346137346237656164363863343136666438363331626134336230393334313465
|
||||
64343066643834326566353339643061343762386335326261316536336565356132656138633461
|
||||
30613234613332306462613233386138313938313633313337396234336230393462346133396333
|
||||
30633966613861303663393938386139633038393438646563363637666166383465653831396431
|
||||
32336134336366626661666432646164333835303238373036303530613064663430653336633834
|
||||
34343631376136633864366165336339383662643234663133656362323134373966313738636461
|
||||
61373163326163616131373037653938373964306137653463326130326538633039376339653961
|
||||
61383735363338646465663863373339303334373565306233336438373937313831343563383833
|
||||
39323365653235613661636637663632356339623630306361393338626332633037313931336137
|
||||
36323633356661303737323335376530663933323632353635343035393634613930653530383135
|
||||
35333639663462336565373536303464336265633263363639643162323438383165383065386132
|
||||
64613936646534343933663064346336313037643331363564306630363934373730326565303664
|
||||
34353566373235623635333966303065386137633836626261336264316134346665326461613039
|
||||
63313961656238366466643532656165353932633637623538303466656535613266653566343533
|
||||
61356264373362333833653066383536333438663332643035363935633030393364343132633934
|
||||
66333134363565653965366664326234366434323034663535343432663438666234356333653863
|
||||
31313135346436633634303330333338643337333065393764373435363462626138376636613265
|
||||
38373535653239306165393233323431346133616164366163373534633034343538636435613531
|
||||
33653064363264623638613461343666636664313734353535663862613433646538356236373166
|
||||
37353132343163656436666637353338636135646236366563313264636139653763646132373936
|
||||
64343132353930616231363665303363633663373166323236313664386166386266633261343762
|
||||
33643064616134663439633330666235323163643666356461643531643935343661353136653930
|
||||
38393232386535636534316331366238363134623837363235653261646438646133373030356665
|
||||
30656530376631376563306362396439373338353230346533616262343561313331396436613164
|
||||
36613532353833613836616234316561613537316665653139353830663036323634333630343361
|
||||
66623130343365373665306233353261343939386435373136333733306138333732333539346336
|
||||
33363264366231373933323336363534363863613164663462353566386532383837613334386465
|
||||
32396639303934613231313866626138376330666265303533393232663034306439306436373633
|
||||
64363932383566666164386631343263373633353437373836313834616362643630386264393863
|
||||
38383632383763343331653561616230613366313965346631343539616638626233366366343863
|
||||
34353635346165393365326135366530646538336638666466363362663030616636373766643963
|
||||
66303230376539323439326436663964386137383338376363383937383933383932383737376433
|
||||
33656361613932626466383365633031666461343663313039333430356232653838653030646432
|
||||
64376263363533316330666433363330333164383735353631306532636634303532326563396537
|
||||
61636162646635383464383638333564613336343739616138653465396465386335316632353231
|
||||
61663066306435663338343766343761306635626465636536306133326235343536613938366136
|
||||
33616233363561636130393564353234333565643638386334303538306634653230373762633037
|
||||
35356537666539643337313835633861323231366463663964306536373638303030343238306562
|
||||
34393231343535383033643837383032393331306631626235373539616663393764616464343235
|
||||
32333062363766333737303136616438393930343266626462386530346332363664353062373466
|
||||
30323264663933313933363333653332353531653636306563646233346264653261376566383632
|
||||
61363834643062626265613933633835373035663362313131323731366331373231636631333331
|
||||
30626439656334626361643566326530663035333738333533653236323535383334363535353738
|
||||
32306531343731326531623338343936303039653634373736613930613739656135623633346130
|
||||
36633065613032396136376364396635643131393739663239316463316365656462666233363238
|
||||
31396433636265613363326234663364343430613665313361663639363838353731633063353661
|
||||
64623665373536653835303836656137313032326238623334613831323232336639653537393535
|
||||
64323565626330643031376137323966663438626137323533373762656538353462366434663336
|
||||
61653539396136343734333432313239623833396331353039646666643432666130613865653562
|
||||
33616432633965393039333766656430646633353161646365303434356539316261653034623663
|
||||
37326338386563663666333238633537636361636361656165366562346137343462376164613561
|
||||
61653937336536653030356561646362313733616561363161373239613030336435653839366366
|
||||
33656263633965636362633336633765353739626166623766336532316636353465323563373131
|
||||
36623235643362623432336164663332626630393835393435643138396466346664646134346365
|
||||
32316362323038393561393636383838623234303331316462343935613638316431343963653637
|
||||
63656435663965646364333634646136356236383433306261363164316162353639333066376535
|
||||
30623035343164663335633036613036393630393235623133363864366637396538343561386238
|
||||
61313662613132393161623239313631643737663363303363633364366239613930653261336131
|
||||
66306263333561383862623130306232636462323538646364636236326565623739623430346665
|
||||
30373766313366663964326632303431626462616664313335353338353034646235613833343632
|
||||
37656437636566623166336466633264376534353862363763656535366665633134633638343665
|
||||
63643237343566323630393531393364333833313263366137643339646431383832336439366233
|
||||
35643863383934393565626363393535306432613963646433633139316339643931643637396637
|
||||
32376564646430373963613637383861636663656666393363663532633163653733333535313433
|
||||
32636338653366666330396234393564616266303961323033346533613365393266636132393832
|
||||
35326535376634613562653732373365323638313066663561393966333830663237336338336166
|
||||
35363164626664333830646162393731663639313931313461326337643330353362633733383661
|
||||
66343965306362386363393964653538366662613439343438656332323837353031336332633238
|
||||
61613739373436346531333138656561316663626663663165353164343962313039373464633966
|
||||
33373664396637633432396163346136316361306564626364623465356431366430373539643433
|
||||
31393232316637376163383335323735303036666431383566633062363033656430643733646337
|
||||
65383766396665663331663439646663663262306435616363363837303764313837653837623433
|
||||
37373532333335303039643336623432373162386462356261656435613962653661626636623461
|
||||
31653165376631623065373030313635333734653832616364383434623461343937363735336431
|
||||
33306333653461383032633132643133323831336534336133343763646234346537653965613365
|
||||
30353264336238383934643338313131633037643532663764613339393831323030366461373763
|
||||
34666166616238343662353636356564366332313737346331386330373431363462613334383133
|
||||
30386634323266643131306564653235636561646532616435646537323732656362623364623439
|
||||
32313465363264643638393734616139633134383238643239613739343661383665343063363932
|
||||
62313138356364383739313365386638623631653130303762336164613863356162653366343762
|
||||
37633330386662616261313430353764303563366334303139326261366565393532643637653466
|
||||
32333562633635373037633438623463613766636337336232653931393266633335316131663431
|
||||
35356665313762386537386261333633383138643965366365666634616535326365653538383765
|
||||
38336162653632656638633830343232336631623932306431653936666263336236643536643734
|
||||
61366539666332623662333062633065613666636664306463653864626436313865306532373965
|
||||
66303835653633613463653236653766613030303031643435373065333561353465363734666663
|
||||
32373638373031303430663466346338366438626334636565353334643235646463613933316533
|
||||
66646365663761303033616533383837336435653563613862626339323765333234653665316538
|
||||
62353737626638356233336663366266376635333933326137623234386235643135323138613030
|
||||
62633562616665346431373436666332363632663735303634353563396631643735666330613334
|
||||
33613761623165313936303034383239303262313038333037363632306666626664653636353161
|
||||
31613362333934326530366331616337323835653531383964633536663733656633333838633463
|
||||
66336136633630356232356536383066613433353761313937653538646537326134346632656433
|
||||
35393064663265616431363165333331643661656136356530323931653533626139343433333565
|
||||
39363730653031663238363933343765376131306265626133633530313437303064343430313264
|
||||
30386532313132663264356636313433643732343238326339646263656136626564303439386230
|
||||
31356436373161643364626538323437643666646237313334353139643038666533366235333936
|
||||
30613362653864636432396434663935326164303736343866656439636539636264646631396634
|
||||
38633439313839666136653436353463356164613038386633613139663037376534343562633034
|
||||
64313738623466383930646631636565663661666334376238653930333636376639313534393633
|
||||
39633632653330653136633462663635366634376161306338643162363639623863373530666331
|
||||
37663634316332306133316362323661633732323866636661653930613430623466303631376338
|
||||
39666165613738353136383535313837633630623964653537346165613931666535616166383865
|
||||
39353866646632363434653635313266613033653834633562313739343236613839333839386134
|
||||
32633239616537393565376266313139366232323637303634313435666231376462303461646631
|
||||
35306435326631356539366265623865616130663635333630313765306565643736343037623837
|
||||
32323966653935303838613631373665663366386363336233643662666639663162313962303639
|
||||
34323064663838383831306330326636643735373364643737666332386539336237343862313365
|
||||
64386631353839353436656136353361356433666638383364663639343464303866396265363331
|
||||
62326334346561366234313834303337373365363436353565646463633633356232366664623734
|
||||
33356634356333653265336134386334393039636435643838316563623038366231336664646630
|
||||
31303136373435663234396131303461396665633535396566383935373638373161666437613935
|
||||
37643632663130323165313363366439613566313664613261623237653530373363663337383562
|
||||
38356331366266343335323365393439653537363832623835636531356138653065383563366363
|
||||
62346666383834383438643635343262303563616466333963616539303339613238353135303539
|
||||
30616231663039656432323635626137316639333536613930636439383062616538383434333363
|
||||
35356638316363346434383233643031653332363439306531643964353438623739343333343366
|
||||
61343164323765346335343766386565313739363836663136623330353066346565333635613266
|
||||
35356231386334373432326636656633376331666366356134343533373030656633316334363933
|
||||
34313465323533616666356633663035373536323430656630366264396464636331623337333034
|
||||
32646632633761323965363431306536633636326535663834653930633937363538656563656363
|
||||
65353338323961623738616434326261626466663830376361393431343863633638363561363332
|
||||
33356631636130316231333634643238366136666439306263636331366330656262623339643633
|
||||
30356564633330393238353262383430366238343035303764343165326364336335323966626666
|
||||
33356132313035343037643830333130393731333132356330333237343430633633633938613534
|
||||
34303236663739623539636337623832643166323432376662326330643662626664613336666136
|
||||
36303161353266313036626164333266383965386133623863356437303264666237363961376231
|
||||
61386530376333373561326537373937396466613838396562646234373764373239313139643739
|
||||
39373263333664613438663062333466643965383165643930646338313737313863366131653466
|
||||
36303231363465323262633664303264393166636562356636633139313039633062653739613536
|
||||
34623837643537623632346137653164666139363962643036373837333635366162663838383733
|
||||
34313661613434653535643463613363333066613831656137653333316132313261316335633966
|
||||
33346639643465316133383538373439356663356630626161363763303166306231333037666435
|
||||
37623161313431643034356134333238393332363061623130636137303233343030396236353662
|
||||
38343565343832653762643039636533396536373162336239653930316639303331633534383037
|
||||
38326663616632366530386563643063343961333431336130363138333738623563643732373530
|
||||
65656462666231316530643663316562303533366161356665316231663934376338663435623164
|
||||
31353233333465626438383436636535343338643563376434343339353266623432386532356532
|
||||
37313831623939303138343664373437623364343430323935373466633735616335396235613339
|
||||
38303930656433623664313533653235363466353032653333646134666635353031326666636537
|
||||
39613731333332353866653466313864613332353464666531373261376561623162313432346363
|
||||
32356365373733316432303033643238306464306435346330333434383139303438613533383263
|
||||
65393866363631343939303465323965633236353432376665326635376638636263613861343166
|
||||
38616332643063316130353431646461346430363639613831666535343037316536346133366234
|
||||
32363333373164366639656638626138343332663030396230646635303233626166626539363830
|
||||
64303432303365633232383235613337626533363965643733366436623638323035616462353963
|
||||
34323836323731666332373036613564386435363439613231383436383435313861373665396433
|
||||
34336438346137646638303639643538306264356433303938616639623935663364353735346161
|
||||
31353331306633373766393865396538383666616631303236663335333135326164303230643838
|
||||
38663162306534303333626331386334396361393762343965353865313065353162353162303461
|
||||
63663138613361613832323464303239633563313534363835613264353962393163363532633530
|
||||
37646131356131643830343436666261383037663631363738613761303164356330363662363962
|
||||
66626365623563636266393636666536363963396339643765633936383566663164333862663632
|
||||
33353561323338353338643234663233663662373939303134393066363735636631353230303834
|
||||
39666231333132663864396130366337343337333134636661363462636166613765326263393930
|
||||
37303530353431356639376361313335306436396637346138303863336231323634633132386234
|
||||
39643136393661333435646432373732383766663964656363343737343962303838363133636439
|
||||
31363431333362316362333663313663303535623331393834643963653936353863663462306263
|
||||
34356139623836303762366530653430376661323037333238633332626463653834363066346566
|
||||
36666530396431643633303631633261636334323430383335316330626535303533323732393861
|
||||
63666363353363333566346436326261633566613830643839623933653561623732633633393464
|
||||
66396264343863383064353264393435343238383530376364636637623238633431326435626430
|
||||
32333864646161306561373932373632383436613661613461353535623336376161646464323335
|
||||
39656465656436326338353731633333383365363430393830363237616665323434373935643031
|
||||
33336561393331643366646132386166353037333135643734623062376132643836663533626531
|
||||
39326364393038343133326138316232666465373934613334643665613361663566623734396565
|
||||
36373662633732383736613038346531333463366263633539326436356238343735386337333033
|
||||
66623438303831373639393536373362353336626534376136393536336236383363643762336532
|
||||
64353462306336383833376131616563636564323234356237623962373263646162653330616434
|
||||
38633439616230656134666634666438363835386662323139306261313531343432333633396666
|
||||
63396539663133336132326235666331333235306566386230363838616564363836376535373866
|
||||
33323065393331313865333539633165313039376366313333663062653337653735386638633137
|
||||
31363837373332353661386565393261363336663337613935613462396465356535616264626331
|
||||
34633732633032326132313330323932646635663631653961353265353461343235313562616438
|
||||
64373461646337656162326137613466313765653366326232626535306232316361396436646339
|
||||
64626666343535323361303664616335626661623334643031376264366664373438633566343837
|
||||
38336138613131396134643461396131613032303436383562346638366430366536
|
280
secrets/milton_keys.zip.enc
Normal file
280
secrets/milton_keys.zip.enc
Normal file
@ -0,0 +1,280 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
65316335653738346634306233313332316533303163623238646162343439303337306132396164
|
||||
3038383636303665343864306261346335326330313137310a663461616565303264333361646130
|
||||
34336165663963363532633030663364383733333030653339383261376433636362653230633130
|
||||
3035666639646139300a386536316364363932656237346564633937336637616139613661616532
|
||||
32353731663631346235623235303362383862373331333961636661383766646338343266363661
|
||||
65643230363035363361663537646331393435363139306365626534633838663635396361376265
|
||||
33343131616239653163353332633936366438343331343137386439653835333434643036623237
|
||||
36626138646563313930663330623963336464616161626566333934316437363931323536646235
|
||||
64646132613430366639653566383562383139653639363537373161626337623335363363653437
|
||||
32356366643463386161343262653764663938386434386338303930303063613362306165613535
|
||||
30353365383364623234333766326536643933343961333565633564383438363938336332336632
|
||||
34636136333632373366353133343064363936663531303932326531396633366335336666373039
|
||||
64623034316633356432316134623432313838613037313564666330353739626361356662323661
|
||||
39363831663830613735303735313933336361333334623461303264663538386430653365313136
|
||||
38646138343834313765326661353163613635346238303333376365386239656161383634633663
|
||||
33303236623366363566333535396134306664653331353661323464323537323339306237666437
|
||||
61383266303563663065316137623832636162343533303565643338306135363439386663663966
|
||||
37656434346365366132343830383663623533393065343339326164353738666564653634653534
|
||||
38336139303636643333333362633564306431303932393938383865363831383661623732316361
|
||||
61333266346135616537316135376633613266386331303337666563663333326638633633336332
|
||||
65656264643262633637616664613461623461303865333838323536313465373163623235336236
|
||||
32653133643866313765353033393639663233656531356236396438646233376364373136666131
|
||||
31363031303166616431333039323531653435393434303866383563616161643231313039346464
|
||||
61633336326266393835313763653538336635393937386164336161613934303430373833336438
|
||||
63386635666261653566376237623737353161623238653738353735353638373230383764313336
|
||||
64343237323731623161326135323839363836313566306261353431616166393333666365653430
|
||||
62373531643537623037306366306530396437353465346432396363646161353333623038386238
|
||||
61346238336233343762613933613464383139633733323034613431653663373136653737383133
|
||||
61666531616166306361656563356139653134643333666164323734613130306565376365366438
|
||||
62323563643661633336323638306432333637366336303935393566613238303562666630303637
|
||||
65633337376364326565623266633835346437646437386638326237626265626434303036393532
|
||||
61303333366230623362373237633538623063363636623965383466613633313063353431643735
|
||||
66663538313439653434373734373836653536376532623633656638623663303331356134303933
|
||||
31373864383366623338643937333034383734333561396163303530353638316461653761303262
|
||||
35336630656535306536666635643738373830316336333836636666373538663465636164333566
|
||||
35633036343730623237613463643232303633663965653831343064646163616630643166663932
|
||||
62613836616462343133663535363930346363616131333438313864613337313239623031303262
|
||||
31323161643030306564386664633932303764363938393865653634626163663261396638373661
|
||||
32663136363539343866646236653365636266666431653161633064366530636131633439333366
|
||||
30343832366535303032623534303261646634616361396263633530656437343464316535343731
|
||||
38343461643338353235383033633262653239623263616535613765376333616564656431336335
|
||||
30313366393632346266316634333038623436653533636264386531386661346261396330353766
|
||||
62363233356261656139333136646366626235366231666263333733386465343736386261306233
|
||||
62636362313237353965613535306531306636346235313663643139353262663936623866383763
|
||||
31376434346436663961363766626565313431353631646166613830323830646234396530323939
|
||||
61616436393165646232376361373434393833643538336231316638636663386232333263396437
|
||||
38646436383531336264373830366437346166356465333766313439386134363862636239623339
|
||||
33363564373265336230616136663464386634366362313731373366633836646434366438623461
|
||||
35303662373664343638316264663737396663383331376366323031373531323833613238616536
|
||||
38366131353365663837313864376436376233363037323062393165323438366163386662363431
|
||||
64326361373838303639643838616165333037303633306333363838396462613033306335353466
|
||||
63613966653162373834343462303730623765633233616565356631303930623865653233396663
|
||||
66626130646263323031666233626234666132376262373864646566613339626631376536643765
|
||||
62663237366330313530333633303734656662373233653662646134653066623266613662346165
|
||||
30623934383037663766323133303064643835396564663063376361633832666163343563303430
|
||||
62633762366235616538333564666236646437313561386365393737346262663936373735353138
|
||||
65343038373765346534653463633763636665653634633630316462303435393036346462366436
|
||||
34313261393639643162616465666332326630326439333637383935646432383230303563626234
|
||||
62326164383138306439306333383436353465353433646664623830356533363963383437653234
|
||||
65663836633362356330323137333461663563313333373330306263613966376631353362396662
|
||||
66336163343765366563613332343531326631646265663630306235353531653638383763386533
|
||||
39313439306436663733643930636239353933643066353734363534313439633234333666346566
|
||||
65336539363335303563633462343931633131333938363032333033643865633834363934313063
|
||||
33643930646235326631333735383065383462356165313037643232366463376436333638643339
|
||||
61623232303261323039373665613237373231323431356130663538636238393739306539396661
|
||||
63333133313136393430356634346437636431373964623862313138366530306166663965336636
|
||||
61623131653839386633396438333334326138373834313366343734323339326331363036386565
|
||||
32346239316635633164383334303763643931623933653266623633666261346531626336643630
|
||||
36303131386139646263616130336131353330383963633734373531343635313232646636633336
|
||||
30383031316337323034356537623033613530333061373266663365356663366439613934646232
|
||||
63653136306665313330613630393462613166636364393666343262393164653930666432323066
|
||||
34366465313866643665626539393534633762633963336439626332356438343638643166633561
|
||||
66323732376236303062336566353734306563363866363664326234663265616565646130643261
|
||||
34613863623835346533643966643431613964336231343761383034376339303033396634393133
|
||||
36613865383664396330376265636533613433376464306436643663373234316361343062613036
|
||||
30376564376265616662326666323035623533616139343434373165346538663135353865333238
|
||||
65656534313035653538313431393061353335666335346334376137326566613739333365343834
|
||||
35623465343766656564353439373662636461346333656633666530363137306130363962666564
|
||||
32353534616462336263363732323737373032613237656438326661303633326432383965326535
|
||||
66346562633130383864306237353332646131643438373330326638313633643466303666633865
|
||||
66313664653735393061313535373264656235323231626233653134643036383337336539343939
|
||||
36613135353166326432393564383934353333366335646436653730353235336539383861313632
|
||||
37303131316438353564353963383133343438333963313934643538616538306265363563393838
|
||||
32303561383666393930383335656635613230386665373764623363316436663530376333616666
|
||||
36613865303232303637343039346635663238376531336564613065303463646663396465633830
|
||||
32363862646531353135623062356566663234343161643965346161623235383862663536323131
|
||||
64373535636563313063353962656537323432346333643037313434353133303830373664373565
|
||||
31626232343335393739303562313365656538616436373535623561616135316265666231323332
|
||||
38363636656336336630666537396238663239303763326139646235386565656266623662343231
|
||||
33396362306131373739313831353035646536653930363061373433323732653964323063306638
|
||||
63393162363561313336636266353965656336393635653266393037393837623939613332653533
|
||||
33303136653235336638633539353437663536313963393531383466373462383466633039363633
|
||||
30333434303833366331323530323032333634323266616564653963623730333337653836356534
|
||||
39303737653363366433313735353233313134623661363631633131306563656333333564343638
|
||||
61316534393531373037333234323466626634383736646537323137343366666164626563326339
|
||||
38343031656231306635653137646235616535396635626432366462626538383365663538626564
|
||||
65303063663830633930383933643730663632643434656461343236613939303935303361636566
|
||||
35313164333231343566386139656337393330643761346565313339653435633339646261323337
|
||||
31383962393738663134653930633838363931353435393961383437613136303661343333313936
|
||||
61633532633137376636623638663862643364643562353963303138366266336364623365653237
|
||||
34336437633964616638626139633763396334333463326463633965623037383662303339633433
|
||||
30353163393030653865303130323639393465316334373438653262666161363464383835643761
|
||||
34393532633835363238376337386232653666623966313732623033316232636564346634663233
|
||||
33636139363833666634343265356533356661356234616261363434393961656530333562343234
|
||||
36393861393132366638326333353439363035396530646261346630656434303733666161396536
|
||||
36633366336161383735643162353464616364343466613035633531616333326437616533386436
|
||||
63653666353037363138366331666662313566613164336635656430633266363931303936343562
|
||||
64373333636538663962363634623630646461623064623833653134343933633936366366653566
|
||||
62326661383134643836336538336465663634356137316262333630323666373266393438316265
|
||||
62356362386435396535666233663561663632663035333466626263663837656531306139663437
|
||||
61313434323132663139323338623337383863333465326263643665636531306261336564333861
|
||||
61666236393634613035323532373265313364643834316633383766313237663332616533666531
|
||||
32376538346433313339363963393935393862623936383564616166633465663461663631643638
|
||||
61646631373534373534396530326535353831316134666264313735373564383534613462303637
|
||||
64636134616339663039386134336436353363626163323761376666636561643039313137353564
|
||||
36623962343166396531316333336532343561623633613862303839653066626439353738653236
|
||||
65373464343464376161666335316362613861383038353837343430663938653161616231393261
|
||||
30643663616563363834366336366232336535633161376432616332653561303332383230653530
|
||||
64613735386663333630333030343232396232363536363661323737313364613166326132333335
|
||||
37656533616665343538356161626632633263303631396562363065336138383434373939363062
|
||||
36616535643066316339626337353761326562653837366130366362303234663066646166633262
|
||||
65613131306135626130663134303634356363313337653234656561616464363365653139363866
|
||||
39313631396339656261353938383234353035306233326166373439343631366637383136613762
|
||||
30383831306236336331613864393537383339383631373538366561376134663130666537313162
|
||||
34393062656165343431386162646232343561303463663638373237393066353664643336356364
|
||||
38616466313238613037343163376335353534353564326530653131383262323434343031663439
|
||||
63653537613839393330326136666539366238633964616330313439386365343234626663626132
|
||||
37623033393966306366373962663564333165366530353334666166373735373064396563643366
|
||||
32653165646535303936326264323136353266363538376233303166623461393330343638646262
|
||||
31313635633739643639626232653039663835376366356333393539623661373938613362316332
|
||||
62326463333733336365346130646462366531326635393539626564626565653530363463303832
|
||||
34343366383266386331393063323036636133646161333861336637346632663533323638313838
|
||||
39366337346436626166353035306637623264623930653965303935643039303763626665383864
|
||||
39643039616638343537613639616338333737363939653139653763333933376332373362316533
|
||||
30323933343762316437343236323263663034323464656566343734393662303339633235303631
|
||||
63663661363832653366333836663962366538653961373661363232366633303336666432303635
|
||||
62616631656338303637336631353137653662633464303362333635643137383238363564663935
|
||||
66343662616531396361303236636663616161623732346432313861353662356563616431613662
|
||||
63653036306363663066353333646261373933313338666632666261363839653834386462373537
|
||||
35333030613765383035306539316139313162663263373561303335363163323639643264666263
|
||||
37306139313536663361393636393564376665653035306538386333653437363639353334316530
|
||||
35646135623035386662313366623135633238623737373632666161353862383265336435363737
|
||||
36326338353564613564343035666166623632313861616133346361333138396535333631633161
|
||||
62353939623265356635333165616661616164343762656535613666643432353633626161363764
|
||||
32666166616565663137333435346262373034316637653064346533306232623130356261386465
|
||||
66613766396666383661393536393039636331653665376531313131633962316132616564653061
|
||||
37663761336637363265646438373065653837663862633536653965613462316336663536663139
|
||||
38373136633035663332376636343434323436396137643637353261333366356462396438376232
|
||||
34643636313566393537346366363432633335643934363236613938383062303763623339343335
|
||||
33373364356336313236346362353238366131633138393265666565326532646434633961623465
|
||||
39343839653365333162306536373765623230346666643035383738356662333530643261643639
|
||||
66656538373364373261623063363138636531623466393636373563623364393764323862303263
|
||||
65656438636331373766616561663031313030643736616138633566383035633263343463356635
|
||||
66623565333635363365663539323036316565663166623962383230343131613962306634366238
|
||||
66303137663562346639376537653034656333373031336664393933343536366461656530393631
|
||||
32363532636237666165336463376666373566626338393430386135393064393837613333653334
|
||||
36303535643636363832613339306435633736376566376561333064393538393836613563376565
|
||||
66623164323865646135613335313034666631376536306565363261316234366138363338653730
|
||||
64393964303432313661653564653564393364383436353764663133386636313139316634626538
|
||||
64323162383732393362373366313966636665653363373065373131623639316437646462653738
|
||||
35353864623536366531363937623664333661326166623639343133663531663366353665343238
|
||||
64383162343761363839633739383030643462306332383235323763643531333461613135303066
|
||||
31653161326565303430383566373463623963366434346335316464373865353733626264343038
|
||||
32363664636463386261303930623264643834633263613561656162333164646339346539653161
|
||||
65373261643738613261323633386133306133663835353830383966636236626334623839373866
|
||||
63633865393261636237663262666435333937363337383861663435663437646333303063323232
|
||||
66663335366263376563336265323064383963623131313562363837366635666166623532643834
|
||||
31303530383639376235636536623765373335373630646633663338653536303133386636623130
|
||||
63306639343132363364653462333739366635326130333436323736363265343635383333613130
|
||||
62366465323138643535366233356630303734336339393766323636633831653034376363323339
|
||||
34323338303833663235656533396364633764343663373231633865666232356430623130323462
|
||||
31386539663863376461613638376434616537343261633932316538303065636665366633393561
|
||||
37303938353465313061333633623134303130643932336539616262383265663133313036663236
|
||||
30393862316134346365313864313434393732346366356166383032616133396531373032316431
|
||||
30336337303564303938643864386435636232343164356634393231356633643636616561653431
|
||||
33636237366263656463663739663365626130386434356634336463643834343261393937386332
|
||||
62356462386631643732636164336563373663383362393337636162396137353437653730653561
|
||||
62613038393761363834363631633866376336306330623237353965626566626138356365663435
|
||||
64386631333132646136636364396534356531383861633933656163626133656530363639303138
|
||||
62336266633632636565396566663466653862373034363333353163646637366163363032633966
|
||||
38386635633539313339363532373137343666623134633437383836313461613066333836633761
|
||||
33396639323863636563333365333530306430396361623966316266323038333963333834323861
|
||||
39393866303132613236346434353734333430633333376338303435356530393135333131323632
|
||||
31343562623732363236396237656365373964383936303961313365393835353661383762663136
|
||||
65353131613638346163383731356362363431653965386436653065656331656633383764666236
|
||||
33373363653361353364353034633538626465343335346239373566313833633931383261303231
|
||||
35636435663939336633663232316532316334353666383834666236353636613830653233613539
|
||||
34613061386337346162383238613531666231613861373233383066353533643165656163393432
|
||||
30366334653462633364313437666636366236373238383163656163383265353664386331393661
|
||||
30613664306437393833313137633631306663323665386561623762626366306461666564656332
|
||||
32303064393561663237386633383630303137613435666333383337376530326232373738336336
|
||||
62333930373761643566326134303839663634643939636532333466656366616166313439303161
|
||||
38666337663965353131636637373431656337363064623465353739373531653561373435613331
|
||||
39316462373433396461393164323065653364643832626461653230376338613530646337363666
|
||||
35613234626237316561663133366639613238653363306161343035303662653331316436346564
|
||||
30613432373735653435626266376335373835366431333765373430366233356563366139386533
|
||||
66323035336334623363616532333662363433386433313361633664373266303562653738623230
|
||||
36386233653031313433353336383438313931336132393364333930363138343134393961366130
|
||||
30373439376361623036623234386635636532646334363639653462303336376261346234663639
|
||||
33623838303364346234316330303366363235353237393332643634653065393765373533643062
|
||||
31323064656233396235353763343164366433343236653864313364636562653436646133336264
|
||||
39666333663738333062636364663661643532306562643532633663626163386666303161326439
|
||||
31643437373661353462613330343937613663383332633736396336393765656565333965386334
|
||||
32326261386162303831323430663438373964323137633964613732643863333430303361623237
|
||||
30653638393866613833303331633135313438376633643636653830383264323031616630653737
|
||||
37656361343565346264323133306661356165646161626332386463613564643062393335356562
|
||||
64623236376530633662323862346561383939306662316338346238636138623637653637626331
|
||||
34373937323764386230613635343630383834343633313066383662386439636334623332393030
|
||||
34626332663864333661316165636333326236636563343931666631646635313533646166396137
|
||||
33303330326239656462656366323564633838663364633861326466383362323534373238333461
|
||||
64653533613131383935616634346439373436393331366132393531333430323930643164313833
|
||||
61336164633333343335346237383433636339303938643437353665393464613533353966656165
|
||||
38653336353662373537303563363863393833643061343538613931633066646161396164333634
|
||||
30306164323831366662323562303765376464373637633831303730633439356130616565353166
|
||||
61383465303365336461623037346639363834633364646337303162663531353364653230386461
|
||||
39623261303366343465373837663631303561393131613137343766643634383534613335366463
|
||||
38666235326166386334653639353263613736323762666132663536373233613736636464316661
|
||||
30643434656235343463313361333664646561396336343662386139343031343338326266353465
|
||||
39653563316538303764646465373637353735663939633133333633336630613830376165373361
|
||||
34613634333265366362393830346464346338323730643633303262616161396563363836366665
|
||||
31306563393430393939343865346432666564313839623437306236326239646532396632626538
|
||||
30323636376132306630323731363965353339363061313732323535396333393862633962656362
|
||||
32623132343332643835396634653736333432306461646461663235376236303065383831653433
|
||||
33646330363032616638363034633165366538326432393331396265363931303530383332336332
|
||||
34353234343262663632643934646136663939333163346131346132613762653735653561356161
|
||||
63626566646262623864333636653965613031326139306634616563316366323830306236633834
|
||||
30666134323364643465653664653063393831386335333334353734333738356564653366643465
|
||||
34373834366265653039396331616439333861633734303565366632623635636261333562326232
|
||||
35376231376662343964666232343638383239633036396333323238316335316361353862313736
|
||||
30383732373539376536623930313436336463366630396231306662343031376232343062353736
|
||||
64326161303435393063656439616164356135633663363063643438363665396534313439346136
|
||||
66353234363464363162356661626636393664303530323565326363393066376462313637633831
|
||||
66383036313932656635636364333461633438313532623063636466336536663438656630303038
|
||||
33383839346638613863353866333738363035353130333434313233376631636265663232326162
|
||||
31333663643837656266663735643237393135333935653938333938643437616430653238623339
|
||||
61326232376536393337623531343335663566633532623665613563663932663365613634633338
|
||||
34313236643833393735393334613031633237623862393763643731333137656566376165303964
|
||||
30323136653435336465366464613737653537663561626434373430363232323937623334323565
|
||||
31633766353932633838626535356432613161376134303236633431633964343539303765346436
|
||||
61383763383165316432383335653731346162633533376536393334343534653863623930323566
|
||||
32396365346633383230313334326164393538633064386564383566386339383766326263326430
|
||||
62353664666232616334363137643162623861376335613535323162626261666361633662343934
|
||||
39623163383530653362636365353439303630623037646330383635646434333931626263623334
|
||||
66343638303732663462343133386365383664336361376264313330366539663564303761386165
|
||||
63623532333032343130376530363165383961336563306132336136353133663664353935363735
|
||||
61343966393833616634313863313464666166383338383638643366653766363835343336303063
|
||||
39316235643738363632633731383435376430303732383638646262306166373261623730393665
|
||||
63383461646132393261383136316137353138663065323766303137623936393062616663656134
|
||||
32393764346462623536323065663635346634373130316130626635313934363965666438303438
|
||||
30613763646166363734376633623164363364393961623337323036383330303763356234653065
|
||||
36633262613839616631353662613230613139663465633632383839313435373439366164633730
|
||||
61623538626635336634323235363363343439383833663832626634303731663337396364396334
|
||||
34366139663935633430316337363934343433343262616463303462386264306632623861366531
|
||||
66653866643063316339373738646262333437333635643265333831333133383032313038346462
|
||||
66343339343832346630643336633632346661616665623334386463386138633634303465363731
|
||||
65383434396666643133663736663933613661363636313735323666663665316463643032323238
|
||||
34613261613030343963636136396138373062366262613635336166323062383438646165303739
|
||||
36663334663739316633346261653333633462343933613539333461356537636564383033343665
|
||||
33383963623364383366303264363763653463376664653032376565363732396138393030333664
|
||||
36623430613839636335356131373161383932366538336165663061306133353263326264643161
|
||||
35643761666636633933373066393032613330356164303638343137306336623436643035633261
|
||||
61616537363937313436616665323161653966653732656638396564323534323930656433333364
|
||||
62326638633133633138346132373630343231666564316331633235343835396139343134393163
|
||||
66313837353534643534626364653166393866666136323261626230653537363638646134633562
|
||||
64363531376633653730353435663961613862346136393239366338346539303336333561333530
|
||||
38636236306564343730623735653261343136633234623931366433616461306437333232636261
|
||||
37376162353636306231626133393962356162366134313334646634626333386139613464666433
|
||||
34356263646266653432303132636264373863646233396437613166663366303463616365663765
|
||||
34653830373430353965333662376163313138323731633832336464386338353235313062356333
|
||||
36663138623538343633613163306530643663653333353335333537393565643431393637663862
|
||||
37653165363035643466346165663837316162623232666565356135616231636466663766306361
|
||||
32666666396462613566633830343664643631366439323363356565626432353835346530353734
|
||||
30386633613463636537303332333666393831373737383137343362383130623466373663323964
|
||||
32303363343436623463633161346232633637363565343464643637613362306364333839653432
|
||||
63393330613763363162343739386262393436633730626565346666343266643630626162613630
|
||||
30633736313762396434663565323639646530383261383236313262326263316361356636383531
|
||||
32393061383566356331386634383031316566353838343035623135626531633962643538633139
|
||||
62313930643263633536353832393731323361313266343164353066616337333832663765376363
|
||||
353635383862393331333164376461343863
|
10
uptime.yml
Normal file
10
uptime.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
# Playbook for installing uptime bot
|
||||
|
||||
|
||||
- name: Install uptime bot
|
||||
hosts: dorky
|
||||
become: yes
|
||||
roles:
|
||||
- role: uptime
|
||||
tags: uptime
|
Loading…
x
Reference in New Issue
Block a user