From c41cd208652a221f230f99608bcd9d4e0f715bd4 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sat, 15 Oct 2022 19:51:54 -0400 Subject: [PATCH] Import the FreeBSD cpu role. --- .../environments/home/host_vars/homeserver | 1 + .../environments/laptop/host_vars/odofreebsd | 1 + ansible/playbook.yaml | 1 + ansible/roles/cpu/files/coretemp_loader.conf | 2 ++ ansible/roles/cpu/files/power_profile.conf | 2 ++ ansible/roles/cpu/tasks/common.yaml | 14 +++++++++ ansible/roles/cpu/tasks/freebsd.yaml | 2 ++ ansible/roles/cpu/tasks/freebsd_intel.yaml | 20 +++++++++++++ ansible/roles/cpu/tasks/linux.yaml | 6 ++++ ansible/roles/cpu/tasks/main.yaml | 1 + ansible/roles/cpu/tasks/peruser.yaml | 29 +++++++++++++++++++ ansible/roles/cpu/tasks/peruser_freebsd.yaml | 0 ansible/roles/cpu/tasks/peruser_linux.yaml | 0 13 files changed, 79 insertions(+) create mode 100644 ansible/roles/cpu/files/coretemp_loader.conf create mode 100644 ansible/roles/cpu/files/power_profile.conf create mode 100644 ansible/roles/cpu/tasks/common.yaml create mode 100644 ansible/roles/cpu/tasks/freebsd.yaml create mode 100644 ansible/roles/cpu/tasks/freebsd_intel.yaml create mode 100644 ansible/roles/cpu/tasks/linux.yaml create mode 100644 ansible/roles/cpu/tasks/main.yaml create mode 100644 ansible/roles/cpu/tasks/peruser.yaml create mode 100644 ansible/roles/cpu/tasks/peruser_freebsd.yaml create mode 100644 ansible/roles/cpu/tasks/peruser_linux.yaml diff --git a/ansible/environments/home/host_vars/homeserver b/ansible/environments/home/host_vars/homeserver index efe2156..f7829ae 100644 --- a/ansible/environments/home/host_vars/homeserver +++ b/ansible/environments/home/host_vars/homeserver @@ -10,3 +10,4 @@ pflog_conf: network_rc: "homeserver_network.conf" rc_conf: "homeserver_rc.conf" loader_conf: "homeserver_loader.conf" +cputype: "intel" diff --git a/ansible/environments/laptop/host_vars/odofreebsd b/ansible/environments/laptop/host_vars/odofreebsd index 52ff47f..a2e070a 100644 --- a/ansible/environments/laptop/host_vars/odofreebsd +++ b/ansible/environments/laptop/host_vars/odofreebsd @@ -10,3 +10,4 @@ pflog_conf: network_rc: "odofreebsd_network.conf" rc_conf: "odofreebsd_rc.conf" loader_conf: "odofreebsd_loader.conf" +cputype: "intel" diff --git a/ansible/playbook.yaml b/ansible/playbook.yaml index 9205049..022ff3e 100644 --- a/ansible/playbook.yaml +++ b/ansible/playbook.yaml @@ -10,3 +10,4 @@ - sshd - base - firewall + - cpu diff --git a/ansible/roles/cpu/files/coretemp_loader.conf b/ansible/roles/cpu/files/coretemp_loader.conf new file mode 100644 index 0000000..eea8ab8 --- /dev/null +++ b/ansible/roles/cpu/files/coretemp_loader.conf @@ -0,0 +1,2 @@ +# Read CPU temperature on Intel CPUs. +coretemp_load="YES" diff --git a/ansible/roles/cpu/files/power_profile.conf b/ansible/roles/cpu/files/power_profile.conf new file mode 100644 index 0000000..87aa1d1 --- /dev/null +++ b/ansible/roles/cpu/files/power_profile.conf @@ -0,0 +1,2 @@ +performance_cx_lowest="Cmax" +economy_cx_lowest="Cmax" diff --git a/ansible/roles/cpu/tasks/common.yaml b/ansible/roles/cpu/tasks/common.yaml new file mode 100644 index 0000000..d7c1735 --- /dev/null +++ b/ansible/roles/cpu/tasks/common.yaml @@ -0,0 +1,14 @@ +- import_tasks: tasks/freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/linux.yaml + when: 'os_flavor == "linux"' + +- include_tasks: + file: tasks/peruser.yaml + apply: + become: yes + become_user: "{{ initialize_user }}" + loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" + loop_control: + loop_var: initialize_user diff --git a/ansible/roles/cpu/tasks/freebsd.yaml b/ansible/roles/cpu/tasks/freebsd.yaml new file mode 100644 index 0000000..3807c97 --- /dev/null +++ b/ansible/roles/cpu/tasks/freebsd.yaml @@ -0,0 +1,2 @@ +- include_tasks: "tasks/freebsd_{{cputype}}.yaml" + when: cputype is defined diff --git a/ansible/roles/cpu/tasks/freebsd_intel.yaml b/ansible/roles/cpu/tasks/freebsd_intel.yaml new file mode 100644 index 0000000..e47cbcb --- /dev/null +++ b/ansible/roles/cpu/tasks/freebsd_intel.yaml @@ -0,0 +1,20 @@ +- name: Install loader.conf + copy: + src: "files/{{ item }}_loader.conf" + dest: "/boot/loader.conf.d/{{ item }}.conf" + mode: 0644 + owner: root + group: wheel + loop: + - coretemp + +- name: Install Configuration + copy: + src: "files/{{ item.src }}" + dest: "{{ item.dest }}" + mode: 0644 + owner: root + group: wheel + loop: + - src: power_profile.conf + dest: /etc/rc.conf.d/power_profile diff --git a/ansible/roles/cpu/tasks/linux.yaml b/ansible/roles/cpu/tasks/linux.yaml new file mode 100644 index 0000000..e1835f0 --- /dev/null +++ b/ansible/roles/cpu/tasks/linux.yaml @@ -0,0 +1,6 @@ +# - name: Install packages +# pacman: +# name: +# - foo +# state: present +# update_cache: true diff --git a/ansible/roles/cpu/tasks/main.yaml b/ansible/roles/cpu/tasks/main.yaml new file mode 100644 index 0000000..5c1df6c --- /dev/null +++ b/ansible/roles/cpu/tasks/main.yaml @@ -0,0 +1 @@ +- import_tasks: tasks/common.yaml diff --git a/ansible/roles/cpu/tasks/peruser.yaml b/ansible/roles/cpu/tasks/peruser.yaml new file mode 100644 index 0000000..111e886 --- /dev/null +++ b/ansible/roles/cpu/tasks/peruser.yaml @@ -0,0 +1,29 @@ +- include_role: + name: per_user + +# - name: Create directories +# file: +# name: "{{ account_homedir.stdout }}/{{ item }}" +# state: directory +# mode: 0700 +# owner: "{{ account_name.stdout }}" +# group: "{{ group_name.stdout }}" +# loop: +# - ".config/foo" + +# - name: Copy files +# copy: +# src: "files/{{ item.src }}" +# dest: "{{ account_homedir.stdout }}/{{ item.dest }}" +# mode: 0600 +# owner: "{{ account_name.stdout }}" +# group: "{{ group_name.stdout }}" +# loop: +# - src: foo.conf +# dest: .config/foo/foo.conf + +- import_tasks: tasks/peruser_freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/peruser_linux.yaml + when: 'os_flavor == "linux"' diff --git a/ansible/roles/cpu/tasks/peruser_freebsd.yaml b/ansible/roles/cpu/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/cpu/tasks/peruser_linux.yaml b/ansible/roles/cpu/tasks/peruser_linux.yaml new file mode 100644 index 0000000..e69de29