commit a5ab199dc870ab958bda191bc29dd19bc90c423c Author: Thomas von Dein Date: Wed Nov 6 19:51:04 2024 +0100 initial commit diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d0aeb9b --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +.PHONY: all deploy check + +deploy: + ansible-playbook -vvv --ask-vault-pass server-role.yaml -i inventory + +check: + ansible-playbook -vvv --ask-vault-pass server-role.yaml -i inventory --syntax-check diff --git a/group_vars/all b/group_vars/all new file mode 100644 index 0000000..e8484d9 --- /dev/null +++ b/group_vars/all @@ -0,0 +1,2 @@ +type: cpx11 +image: 191285714 diff --git a/host_vars/mx.yaml b/host_vars/mx.yaml new file mode 100644 index 0000000..986fae8 --- /dev/null +++ b/host_vars/mx.yaml @@ -0,0 +1 @@ +hostname: mx diff --git a/host_vars/shell.yaml b/host_vars/shell.yaml new file mode 100644 index 0000000..40b7b6f --- /dev/null +++ b/host_vars/shell.yaml @@ -0,0 +1 @@ +hostname: shell diff --git a/inventory/all.yaml b/inventory/all.yaml new file mode 100644 index 0000000..a4f4781 --- /dev/null +++ b/inventory/all.yaml @@ -0,0 +1,4 @@ +shellservers: + hosts: + shell: + mx: diff --git a/roles/server/tasks/main.yaml b/roles/server/tasks/main.yaml new file mode 100644 index 0000000..7b7cf04 --- /dev/null +++ b/roles/server/tasks/main.yaml @@ -0,0 +1,11 @@ +--- +- name: Create server + hcloud_server: + api_token: "{{ hcloud_token }}" + name: "{{ hostname }}" + server_type: "{{ type }}" + image: "{{ image }}" + location: ash + enable_ipv4: false + state: present + register: server diff --git a/server-role.yaml b/server-role.yaml new file mode 100644 index 0000000..36b1844 --- /dev/null +++ b/server-role.yaml @@ -0,0 +1,23 @@ +--- +- name: Create BSDNIX Servers + hosts: all + connection: local + gather_facts: False + user: root + vars: + # generated with: + # echo -n $(hcloud config get token --allow-sensitive) \ + # | ansible-vault encrypt_string --stdin-name hcloud_token + hcloud_token: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 64393765623232326566303864653934396432613235626330326335383332623437396163336432 + 3035386161376333386334653863323933393366636537300a666338373539633566336230353362 + 66653331663364346137383637666332333565373138646533313339323034353833383832336261 + 3665656264356165300a636633366166363261663663336664653832646666313936396665356132 + 37373235623735633266353963666364363461303939343532636131643164333930343434336366 + 36346235336561386237323931333435343461336239323435356634333439303765313663656231 + 65313964306535376236613635346363376235363330303962353365383537616139393965646563 + 37356465653663373362 + roles: + - role: server +