aboutsummaryrefslogtreecommitdiff
path: root/roles/base/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/base/tasks')
-rw-r--r--roles/base/tasks/base_alpine.yaml1
-rw-r--r--roles/base/tasks/base_debian.yaml62
-rw-r--r--roles/base/tasks/main.yaml9
3 files changed, 72 insertions, 0 deletions
diff --git a/roles/base/tasks/base_alpine.yaml b/roles/base/tasks/base_alpine.yaml
new file mode 100644
index 0000000..ed97d53
--- /dev/null
+++ b/roles/base/tasks/base_alpine.yaml
@@ -0,0 +1 @@
+---
diff --git a/roles/base/tasks/base_debian.yaml b/roles/base/tasks/base_debian.yaml
new file mode 100644
index 0000000..9d25ea6
--- /dev/null
+++ b/roles/base/tasks/base_debian.yaml
@@ -0,0 +1,62 @@
+---
+
+- name: 'Install base packages for Debian'
+ apt:
+ name:
+ - '{{ item }}'
+ state: 'present'
+ update_cache: true
+ loop:
+ - 'less'
+ - 'vim'
+ - 'tmux'
+ - 'neofetch'
+ - 'iotop-c'
+ - 'tcpdump'
+ - 'rsync'
+ - 'python3-pip'
+ - 'docker.io'
+ - 'docker-compose'
+
+- name: 'Install base packages for Python'
+ pip:
+ name: '{{ item }}'
+ loop:
+ - 'docker'
+ - 'pexpect'
+
+- name: "Create the user '{{ base_user }}'"
+ user:
+ name: '{{ base_user }}'
+ state: 'present'
+ shell: '/bin/bash'
+ uid: 1001
+ password: '{{ base_user_password | password_hash("sha512") }}'
+ create_home: true
+ generate_ssh_key: true
+ groups: 'sudo, docker'
+ append: true
+
+- name: 'Allow passwordless sudo for this {{ base_user }}'
+ lineinfile:
+ path: '/etc/sudoers'
+ state: 'present'
+ regexp: '^%{{ base_user }}\s+ALL='
+ line: '%{{ base_user }} ALL=(ALL) NOPASSWD: ALL'
+ validate: '/usr/sbin/visudo -cf %s'
+
+- block:
+ - name: 'Install kernel headers for currently installed kernel'
+ apt:
+ name: 'linux-headers-current-rockchip64'
+ state: 'present'
+
+ - name: 'Install zfs modules and package'
+ apt:
+ name: '{{ item }}'
+ state: 'present'
+ default_release: 'bullseye-backports'
+ loop:
+ - 'zfs-dkms'
+ - 'zfsutils-linux'
+ when: 'base_hardware == "rockchip64"'
diff --git a/roles/base/tasks/main.yaml b/roles/base/tasks/main.yaml
new file mode 100644
index 0000000..4930d10
--- /dev/null
+++ b/roles/base/tasks/main.yaml
@@ -0,0 +1,9 @@
+---
+
+- name: 'Run base install for Alpine'
+ import_tasks: 'base_alpine.yaml'
+ when: 'ansible_os_family == "Alpine"'
+
+- name: 'Run base install for Debian'
+ import_tasks: 'base_debian.yaml'
+ when: 'ansible_os_family == "Debian"'