summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--group_vars/all/vars.yaml9
-rw-r--r--group_vars/spreadspace/vars.yaml2
-rw-r--r--host_vars/thetys.yaml15
-rw-r--r--hosts.ini1
-rw-r--r--playbooks/thetys.yaml8
-rw-r--r--roles/docker/tasks/main.yaml22
-rw-r--r--roles/kubernetes-base/tasks/main.yaml28
-rw-r--r--roles/sshserver/tasks/main.yaml12
-rw-r--r--roles/zsh/tasks/main.yaml6
9 files changed, 103 insertions, 0 deletions
diff --git a/group_vars/all/vars.yaml b/group_vars/all/vars.yaml
new file mode 100644
index 00000000..89980566
--- /dev/null
+++ b/group_vars/all/vars.yaml
@@ -0,0 +1,9 @@
+---
+ssh_keys:
+ equinox:
+ chaos: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDL8afqxWieebpxezBuLj2CIx/iAuTY9ziJt8JCJE0qYh+B2wXe9e+sPaKwz5yyS0X0MoEPHbYuVytxGQfGhdVR57gWWTYq5MBBFEqmu5MexAFKlNxad4TNQQwhs7rnI+lptKJO+rqeG/vaQBgao+61ZVwRR5Zr1zsXEoo5m4VB8VPo3TW0nSb97LdMyUmb1TaqDKJ5hrtrV6YcokXzE8FwHMK15oJsuJC7YUReijol3hGsRVw1H5S1zu4uDz7G32dPVxoLOPgupnf0SxnXdNVfNU50MHHSK68HzBXz4/rE1YLacRPloOhO7xegkWd5KGa09opEbUGzGu/lSXgHuAJpPgloy14cehDhLJ7F7SbXK4QBBtVgV+1CYXG2eJsRHIdkWiTWLuG+QZ4oEFLjQBjWpUYsEiDt9FEtSVCtKH2vBk26ps5yIoSCtYq6POvg9miGgcpQA6HHwh5ekVUaKRGWuMdAIvjvQSlCsFjYkxD1NpCgU1RhyWWTI3xTSKzTxcXiCWWZoBDJVoW46EpSvySsOpxL/hLxJwMR8ouc6cPRZZl3m51824Rv3LdEXNBmn3vnojzIvrOed3sxpD0+7+tbA4J1uTbAxtkOMhK94WXKiUAOD7e5bJYdzajvDD2T9tkj/Mqdo8z3iR2/yjkGMEAeWWVOQEh7QhQS7OFEAKK4fw== equinox@chaos-at-home.org
+ ele: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCwjCMiwyz7f0b1b6S5RjGbYXjd+hkTVsNzZ9xIkqqvdF8zCU6qZTqkhem13m6E1aPjALl0iyrmpb8N2pmASD7axUaTMTDd2tktkB3LULBbQCCApMnw5viZc9fm9dLBdbdiYyRtNrpk/b39V+9uViAbRtATBrYS5vV/14gT42WxPhpFiCz6A5JsKpmbBafS9vfexnqLTvKBtYLt+zhuS9eFovMHM5k7Qq4mRdKe+wdMBDeRls2z2G/ZjPrfHAkw2WctFUdSY+YAVzLB0SddVWnbOSZ19tsnzskyHpDD49LWb7wYl0OJ9fhxO02lnxW5Vdpwwwx8I7FVH83fDTQpzfSdr8tMY3F9rvCmi4noiTGDE2AAWqh73unKuydvBomNYX8HbuiJO9eTgwUIRAqsl8vHNU5rA10YF5r2SUqofrBNfINUH8x0NhpLGzNPIlazndaPY1no+XeQRQtgSU1bdDQzmySyyn5g9mlMSTU+jHfzyoK7yqlKE0W/R2ZTOEwr6+uRdFqn+mWmB0Mr20YavjVretseVs1AkmqaVClEO1juwb/CWI//Nd4uboD9zdZwkHmCjLlOmC+GkGrnLValaqQDh8iR8aKiVbaQVffl3ph1pD3BCn79KJy56YySLTbaI4lFDUHherkTdvgyMVmZJZMROzwuX7i4bi04TZ/GKTfDrw== equinox@elevate.at
+ ff: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCjqlbFhzWRt2EnUrd7AFgR2iqPbV655OE38184ws+RvO82ImpJsKy80AvLQ3DhplLAN2W9kROBn3bga89pK7Sf78EwYYb5e+McVA0vUH/mnPurJpgPHg6q34yW5G5JVqKTmlqzQMDzmYw0iFNcieGmWXmx2QTtHj8qLuGOuBOE6/mljhgE7Pq4S0oyMjH2tLOhHS1Lykh5DH/OaHpofyUcd2uOCkgOClOUBHZ7Oo82J7yk5SZSVcrjQ4psO9ptqWNmw58ZBX5OPDTV/N7wPjgr2TL3HfCe8gkf2jERsghKufSuFpf2P6bNrK4k+grxB+LXuZihvOxJGRjemqImqvqaADLs23yCUWhgF/9oQ25ACydRGhHc56KIC3lQ3KOGoYT2IGo3Si/bQ7FpQIkODRWPHNKqbpItGm07uSTvkPZ4CadlG0MRhlOEjzRQgP1GYjr8w6917RZxO3DHndC1TfsciYhuwDGLon8WNtw1AjqRXolGnrkB2GsEENGvtJC97dioxPamOBctu06xdmDXwYpynXePoAp4+XxFlj/lUC8draUrKjAh++/LkId2Ldlxm0b1tGyfPl1ox1Gu9lY4QwoeGsTm/RJFnVH8kKns0aLHIlSdYp1+XdlQmBYSIIvVYFynVOQIKBzMBqQG9wcLbnMt7+Kz4coPI0TSvmn2dbDVKw== equinox@ffgraz.net
+ mur: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDUW4fz/Vs4w5JMIFxoftimcbkqksZPDMfbHH/wfPKFAfJdi+fdGfWqqP7hy2/1iREF5W0L5dz9zQus0xS1/kkneUUL3CCKBD3+VzZqIbhy5rMlifd+jacVV+UZGhl/WP/wagu4+Mv0/ksXIlN6/2Pv2+ojjpGeCv4FHG/kR68zKoKNLxjHiTKt3LM9AFtx3Pn3ghIO3egbzaQ8vnTdQjGJHiosfKxiGZfnkAWvrMMq1sCJUJS7A8n2S3QUjoap3OYrVqFcPO4R/VaCaBWVdSKrymnpOGABvP9QuGenZ0CFXgl+p5QwKJz7n3CQHooUai+FPmmrCmtRV1QICyON8vdNI4hU5O1ksZOYxa0vptfqd//FMyauek5JzCDr4ExOWaZvhGsvZdLuWwiN/8KwpsgY+duiqWVC9jCOymFBPQ0Qik1hjCLXUWxDKcJIpF3WfHaHPESAlmNCKPbH5X7oBDOI5k96J34vDl1cBLjcVydtwfwbJmbApOMz3IukoUlYusbvLo2bJicHolkNrlS6qcSbaPpKsrjZ5II0Fks/S39q5rE//nVsY5oE35Gm5Pb7gndSuo/l01WOANYmKuYiwUz/XC62fis7fxiCxmLPMG3PIym7E3pe+lTjSOI3SN24cgwArDEvGZhqeyOHN468Yt8mPersXvY/cUMS1XFvLadtnw== equinox@mur.at
+ r3: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDj7AcnQZCRihToOI7/L5YslP4bkZlZwR2dg6hV8EfQ+37z1p0imhoqc2Oz/zIEgOVARBHkn5XmfR9Bu6e3YfKpXpJXC9O3jpRSw34Xac/8qXzWZsqVAXbtzvBlYA/G4j0NQM9XIVBa1ZzBZu87xeE4KUWzO80fnQ+G3GSBp28BM4TUiSOmX9y58chPZfUp2DE80fInoXv11ikLLCBDXfMkzFCZ4Gcexhr0TYcBUgLV7ufL0xqLg4yE+Z21PLtttvVYgZIers2nWetLPoREi5yDGKeCjJVyT00X2rp6h3eFkc/VaHfb5c2MY9/4BOt+cbFCx73sG0C1SnSzWd624K/8CEoJTsX4MazLLrxwi3hIwiYX1mCCfq4+S4PpSFvMUGdMWB52PkBRXulQislCVBA/lzma93xJr1jWVFSikjkvAUt8Zt33vHMRd7RMYDfsDVIEKpUT49cBj0v7zs6IVE858J33sUZoVXaiA2sjsap8RguNtjJMSYx8+nwkQAjxwlTiV2J6pHGQHJDyeVsqGlnMpEk32ZeSs/BQ7XWPG62FT3SN6E4C/fa8dawvs7RgY0cbZkhucECBu9Zto/KakIhzLtFzgDighPmK5SlAPoNEJLJYPo5ry2SBTysc4uV7xYZSQ6OVofeQeFXKL8oPe/ZAvKafn3Zk0mQcCtH0Z8q8iQ== equinox@realraum.at
+ spread: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCtmysXjBidEwJek6hBgaENiyVOwroFi19xRZZw+cYYqi6asDfF6B/h6gYNkJGWo0rD5ZaLdau1O210O5Xu+TfK1e2bZbxuFIj2fguUkat9wN6IQIO2m2Wcf4k/eiTmtAE3dp0l5ThMqfxxE8dj76mOOrUHCfJUIVoATGs4X5TLcGcXroAcZ+DFFoDzjxjFYNmIuUNtXDwXTpPc63SAYmRvW0ZYZlvH1qZ6irLh+GtE1dZ1Q5lQZvp6xUYcjInbpcd5Ko3KbG/In7sNmUCI7iaTwC4DPDTcHFj99Ll1jruAbdaQqe+ClZv55dbQ+92RDF6fsuQBD8FeRz7nYChvCqNPT1KOvcVsDtbW0iJ1PZ05QdE27w23wJj9OE0JWM09P3AH3ttswHaJ+P4s7mSxxK2m6YZcqop3czLlWWoGna0ynd5eV6l/rtvAQUvBOXjKQ5fPQY5d9cF0Z87NBE54HM9a/IKZ2toU2MuYNUpI/DUoAA9ILS4bJm3AUz8wbaC5EiuIhbM6I/u0NANamaQKRrolGNP4ETaQvhABs+S3/NSSBy4DMjtwax2BxyenF6i89vyHPNY+LZzBOn842yUlEGn6Z11MxiE5fhIfMPUclSYi5bQJDf1fvAyAo59/AX8sPqRK+/OCLIgLwdtW6D4OZGXjqrBJe2j/5uZSJEsl6ROyKw== equinox@spreadspace.org
diff --git a/group_vars/spreadspace/vars.yaml b/group_vars/spreadspace/vars.yaml
new file mode 100644
index 00000000..47cb7fb6
--- /dev/null
+++ b/group_vars/spreadspace/vars.yaml
@@ -0,0 +1,2 @@
+---
+sshserver_root_keys: "{{ [ ssh_keys.equinox.spread ] | join('\n') }}"
diff --git a/host_vars/thetys.yaml b/host_vars/thetys.yaml
new file mode 100644
index 00000000..71608cc6
--- /dev/null
+++ b/host_vars/thetys.yaml
@@ -0,0 +1,15 @@
+---
+sshserver_allowusers_host:
+- equinox
+
+docker_lvm:
+ vg: thetys
+ lv: docker
+ size: 10G
+ fs: ext4
+
+kubelet_lvm:
+ vg: thetys
+ lv: kubelet
+ size: 5G
+ fs: ext4
diff --git a/hosts.ini b/hosts.ini
index f13268e1..bc7f3ec0 100644
--- a/hosts.ini
+++ b/hosts.ini
@@ -12,6 +12,7 @@ mimas
[spreadspace]
ssbuild
dione
+thetys
[skillz]
diff --git a/playbooks/thetys.yaml b/playbooks/thetys.yaml
new file mode 100644
index 00000000..11dfab64
--- /dev/null
+++ b/playbooks/thetys.yaml
@@ -0,0 +1,8 @@
+---
+- name: Basic Setup
+ hosts: thetys
+ roles:
+ - role: base
+ - role: sshserver
+ - role: zsh
+ - role: kubernetes-base
diff --git a/roles/docker/tasks/main.yaml b/roles/docker/tasks/main.yaml
index 89d7815d..c07888f7 100644
--- a/roles/docker/tasks/main.yaml
+++ b/roles/docker/tasks/main.yaml
@@ -1,4 +1,26 @@
---
+- name: prepare /var/lib/docker as LVM
+ when: docker_lvm is defined
+ block:
+
+ - name: create logical volume
+ lvol:
+ vg: "{{ docker_lvm.vg }}"
+ lv: "{{ docker_lvm.lv }}"
+ size: "{{ docker_lvm.size }}"
+
+ - name: create filesystem
+ filesystem:
+ fstype: "{{ docker_lvm.fs }}"
+ dev: "/dev/mapper/{{ docker_lvm.vg }}-{{ docker_lvm.lv }}"
+
+ - name: mount filesytem
+ mount:
+ src: "/dev/mapper/{{ docker_lvm.vg }}-{{ docker_lvm.lv }}"
+ path: /var/lib/docker
+ fstype: "{{ docker_lvm.fs }}"
+ state: mounted
+
- name: install apt https transport
apt:
name: apt-transport-https
diff --git a/roles/kubernetes-base/tasks/main.yaml b/roles/kubernetes-base/tasks/main.yaml
index 163e2cef..f00c736b 100644
--- a/roles/kubernetes-base/tasks/main.yaml
+++ b/roles/kubernetes-base/tasks/main.yaml
@@ -1,4 +1,26 @@
---
+- name: prepare /var/lib/kubelet as LVM
+ when: kubelet_lvm is defined
+ block:
+
+ - name: create logical volume
+ lvol:
+ vg: "{{ kubelet_lvm.vg }}"
+ lv: "{{ kubelet_lvm.lv }}"
+ size: "{{ kubelet_lvm.size }}"
+
+ - name: create filesystem
+ filesystem:
+ fstype: "{{ kubelet_lvm.fs }}"
+ dev: "/dev/mapper/{{ kubelet_lvm.vg }}-{{ kubelet_lvm.lv }}"
+
+ - name: mount filesytem
+ mount:
+ src: "/dev/mapper/{{ kubelet_lvm.vg }}-{{ kubelet_lvm.lv }}"
+ path: /var/lib/kubelet
+ fstype: "{{ kubelet_lvm.fs }}"
+ state: mounted
+
- name: install apt https transport
apt:
name: apt-transport-https
@@ -23,3 +45,9 @@
apt:
name: "{{ item }}"
state: present
+
+- name: add dummy user with uid 1000
+ user:
+ name: app
+ uid: 1000
+ password: "!"
diff --git a/roles/sshserver/tasks/main.yaml b/roles/sshserver/tasks/main.yaml
index d2c5c9f0..fd92f12d 100644
--- a/roles/sshserver/tasks/main.yaml
+++ b/roles/sshserver/tasks/main.yaml
@@ -25,3 +25,15 @@
regexp: "^AllowUsers"
line: "AllowUsers {{ ' '.join([ 'root' ] | union(sshserver_allowusers_group | default([])) | union(sshserver_allowusers_host | default([]))) }}"
notify: restart ssh
+
+- name: install ssh keys for root
+ authorized_key:
+ user: root
+ key: "{{ sshserver_root_keys }}"
+ exclusive: yes
+
+- name: delete root password
+ user:
+ name: root
+ password: "!"
+
diff --git a/roles/zsh/tasks/main.yaml b/roles/zsh/tasks/main.yaml
index 93bb1abf..409274a9 100644
--- a/roles/zsh/tasks/main.yaml
+++ b/roles/zsh/tasks/main.yaml
@@ -19,3 +19,9 @@
name: "{{ item }}"
shell: /bin/zsh
with_items: "{{ [ 'root' ] | union(zsh_loginshell_user | default([])) }}"
+
+- name: set zsh the default shell for adduser
+ lineinfile:
+ regexp: '^#?DSHELL='
+ line: 'DSHELL=/bin/zsh'
+ path: /etc/adduser.conf