aboutsummaryrefslogtreecommitdiff
path: root/roles/system
diff options
context:
space:
mode:
Diffstat (limited to 'roles/system')
-rw-r--r--roles/system/defaults/main.yaml18
-rw-r--r--roles/system/files/packages/k9s/k9s.spec37
-rw-r--r--roles/system/tasks/main.yaml7
3 files changed, 62 insertions, 0 deletions
diff --git a/roles/system/defaults/main.yaml b/roles/system/defaults/main.yaml
new file mode 100644
index 0000000..2f889ab
--- /dev/null
+++ b/roles/system/defaults/main.yaml
@@ -0,0 +1,18 @@
+servers:
+ base: true
+packages:
+ dnf:
+ - epel-release
+ - htop
+ - fail2ban
+ - git
+ - neovim
+ - nfs-utils
+ - nmap
+ - podman
+ - podman-compose
+ - restic
+ - sqlite
+ - tmux
+ - wireguard-tools
+ - yamllint
diff --git a/roles/system/files/packages/k9s/k9s.spec b/roles/system/files/packages/k9s/k9s.spec
new file mode 100644
index 0000000..ae4297b
--- /dev/null
+++ b/roles/system/files/packages/k9s/k9s.spec
@@ -0,0 +1,37 @@
+Name: k9s
+Version: 0.27.4
+Release: %autorelease
+Summary: A Kubernetes CLI To Manage Your Clusters
+
+License: Apache-2.0
+URL: https://github.com/derailed/k9s
+Source0: https://github.com/derailed/k9s/archive/refs/tags/v%{version}.tar.gz
+
+
+BuildRequires: golang, make, git
+
+
+%description
+K9s provides a terminal UI to interact with your Kubernetes clusters.
+
+
+%global debug_package %{nil}
+%prep
+%autosetup -n k9s-%{version}
+
+
+%build
+make build
+
+
+%install
+mkdir %{buildroot}%{_bindir} -p
+cp ./execs/k9s %{buildroot}%{_bindir}
+
+%files
+%{_bindir}/k9s
+
+
+%changelog
+%autochangelog
+
diff --git a/roles/system/tasks/main.yaml b/roles/system/tasks/main.yaml
new file mode 100644
index 0000000..3e86842
--- /dev/null
+++ b/roles/system/tasks/main.yaml
@@ -0,0 +1,7 @@
+---
+- name: Install required dnf packages
+ dnf:
+ name: "{{ item }}"
+ loop: "{{ packages.dnf }}"
+ when: inventory_hostname in groups['servers'] and servers.base
+ become: true