From 99d1e82f13fa7f20467df33acbed952b07668afa Mon Sep 17 00:00:00 2001
From: Rafael Laszlo <rlacko99@gmail.com>
Date: Fri, 19 Nov 2021 19:07:54 +0100
Subject: [PATCH] Add proxmox playbook

---
 ansible/maze/.gitignore               |  5 +++++
 ansible/maze/ansible.cfg              |  6 ++++++
 ansible/maze/bootstrap.sh             | 14 ++++++++++++++
 ansible/maze/inventory.yaml           |  5 +++++
 ansible/maze/main/base.yaml           | 12 ++++++++++++
 ansible/maze/main/vars/base.yaml      |  4 ++++
 ansible/maze/requirements.galaxy.yaml | 16 ++++++++++++++++
 7 files changed, 62 insertions(+)
 create mode 100644 ansible/maze/.gitignore
 create mode 100644 ansible/maze/ansible.cfg
 create mode 100755 ansible/maze/bootstrap.sh
 create mode 100644 ansible/maze/inventory.yaml
 create mode 100644 ansible/maze/main/base.yaml
 create mode 100644 ansible/maze/main/vars/base.yaml
 create mode 100644 ansible/maze/requirements.galaxy.yaml

diff --git a/ansible/maze/.gitignore b/ansible/maze/.gitignore
new file mode 100644
index 0000000..eb200e4
--- /dev/null
+++ b/ansible/maze/.gitignore
@@ -0,0 +1,5 @@
+.idea
+.venv
+
+# autogenerated
+.template
diff --git a/ansible/maze/ansible.cfg b/ansible/maze/ansible.cfg
new file mode 100644
index 0000000..cdeb744
--- /dev/null
+++ b/ansible/maze/ansible.cfg
@@ -0,0 +1,6 @@
+[defaults]
+ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}
+inventory = inventory.yaml
+
+[ssh_connection]
+ssh_args = -o StrictHostKeyChecking=accept-new
diff --git a/ansible/maze/bootstrap.sh b/ansible/maze/bootstrap.sh
new file mode 100755
index 0000000..67f34a5
--- /dev/null
+++ b/ansible/maze/bootstrap.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+# This script creates a Python env, enters it and installs
+# ansible and requirements from the requirements.galaxy.yaml
+
+[[ ! -d .venv ]] && python3 -m venv .venv
+source .venv/bin/activate
+
+pip3 install ansible ansible-lint
+
+ansible-galaxy install "$1" -r requirements.galaxy.yaml
+
+# to stay in our comfy virtualenv
+exec "${SHELL:bash}"
diff --git a/ansible/maze/inventory.yaml b/ansible/maze/inventory.yaml
new file mode 100644
index 0000000..3a6c412
--- /dev/null
+++ b/ansible/maze/inventory.yaml
@@ -0,0 +1,5 @@
+all:
+  hosts:
+    # Use OpenSSH config to make it confortable
+    pve.internal.maze:
+
diff --git a/ansible/maze/main/base.yaml b/ansible/maze/main/base.yaml
new file mode 100644
index 0000000..cffe339
--- /dev/null
+++ b/ansible/maze/main/base.yaml
@@ -0,0 +1,12 @@
+---
+- hosts: all
+  become: no # Already root
+  vars_files:
+    - "vars/base.yaml"
+  tasks:
+    - name: Set authorized keys for root user
+      ansible.posix.authorized_key:
+        user: root
+        state: present
+        key: "{{ item }}"
+      loop: "{{ ssh_keys }}"
diff --git a/ansible/maze/main/vars/base.yaml b/ansible/maze/main/vars/base.yaml
new file mode 100644
index 0000000..f406187
--- /dev/null
+++ b/ansible/maze/main/vars/base.yaml
@@ -0,0 +1,4 @@
+# Playbook vars
+
+ssh_keys:
+  - https://git.sch.bme.hu/rlacko.keys
\ No newline at end of file
diff --git a/ansible/maze/requirements.galaxy.yaml b/ansible/maze/requirements.galaxy.yaml
new file mode 100644
index 0000000..facdff4
--- /dev/null
+++ b/ansible/maze/requirements.galaxy.yaml
@@ -0,0 +1,16 @@
+---
+
+collections:
+  - community.general
+  - community.crypto
+  - ansible.posix
+
+roles:
+  - src: git@git.sch.bme.hu:kszk/ansible/roles/base.git
+    scm: git
+    version: master
+    name: kszk.base
+  - src: git@git.sch.bme.hu:kszk/ansible/roles/iptables.git
+    scm: git
+    version: master
+    name: kszk.iptables
-- 
GitLab