initial
This commit is contained in:
11
.project
Normal file
11
.project
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>maketank-ansible</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
2
.settings/org.eclipse.core.resources.prefs
Normal file
2
.settings/org.eclipse.core.resources.prefs
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding/<project>=UTF-8
|
||||||
7
inventory.yaml
Normal file
7
inventory.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
mkt:
|
||||||
|
hosts:
|
||||||
|
rechner02.maketank.net:
|
||||||
|
mx03.maketank.net:
|
||||||
|
uncle02.maketank.net:
|
||||||
|
mon01.maketank.net:
|
||||||
|
|
||||||
24
roles/autofs/tasks/main.yaml
Normal file
24
roles/autofs/tasks/main.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
- name: Install autofs
|
||||||
|
apt:
|
||||||
|
state: present
|
||||||
|
name:
|
||||||
|
- autofs
|
||||||
|
|
||||||
|
- name: Create /net
|
||||||
|
file:
|
||||||
|
path: /net
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Update auto.master
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/auto.master
|
||||||
|
regexp: '^#/net'
|
||||||
|
line: /net -hosts
|
||||||
|
register: auto_master_update
|
||||||
|
|
||||||
|
|
||||||
|
- name: Restart autofs
|
||||||
|
service:
|
||||||
|
name: autofs
|
||||||
|
state: restarted
|
||||||
|
when: auto_master_update.changed
|
||||||
14
roles/common/tasks/darwin.yaml
Normal file
14
roles/common/tasks/darwin.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
- name: Install common packages
|
||||||
|
become: true
|
||||||
|
become_user: admin
|
||||||
|
homebrew:
|
||||||
|
state: present
|
||||||
|
name:
|
||||||
|
- btop
|
||||||
|
- htop
|
||||||
|
- rsync
|
||||||
|
- rclone
|
||||||
|
- vim
|
||||||
|
- curl
|
||||||
|
- arping
|
||||||
|
|
||||||
63
roles/common/tasks/linux.yaml
Normal file
63
roles/common/tasks/linux.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
- name: Install common packages
|
||||||
|
apt:
|
||||||
|
state: present
|
||||||
|
name:
|
||||||
|
- btop
|
||||||
|
- htop
|
||||||
|
- iotop
|
||||||
|
- net-tools
|
||||||
|
- tcpdump
|
||||||
|
- curl
|
||||||
|
- vim
|
||||||
|
- rclone
|
||||||
|
- rsync
|
||||||
|
- borgmatic
|
||||||
|
- cifs-utils
|
||||||
|
- nfs-common
|
||||||
|
- etckeeper
|
||||||
|
- iputils-arping
|
||||||
|
- bwm-ng
|
||||||
|
- iftop
|
||||||
|
|
||||||
|
- name: Remove packages in VMs
|
||||||
|
apt:
|
||||||
|
state: absent
|
||||||
|
purge: true
|
||||||
|
name:
|
||||||
|
- smartmontools
|
||||||
|
- lm-sensors
|
||||||
|
- ipmitools
|
||||||
|
- openipmi
|
||||||
|
when: ansible_facts['virtualization_role'] == "guest"
|
||||||
|
|
||||||
|
- name: Install packages on physical hosts
|
||||||
|
apt:
|
||||||
|
state: present
|
||||||
|
name:
|
||||||
|
- lm-sensors
|
||||||
|
- hdparm
|
||||||
|
when: ansible_facts['virtualization_role'] == "host"
|
||||||
|
|
||||||
|
- name: Update /etc/hosts
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/hosts
|
||||||
|
regexp: '^127\.0\.1\.1'
|
||||||
|
line: 127.0.1.1 {{ ansible_nodename }}
|
||||||
|
|
||||||
|
- name: Kernel modules
|
||||||
|
include_role:
|
||||||
|
name: modules
|
||||||
|
|
||||||
|
- name: sudo for Linux
|
||||||
|
include_role:
|
||||||
|
name: sudo
|
||||||
|
|
||||||
|
#- name: autofs for Linux
|
||||||
|
# include_role:
|
||||||
|
# name: autofs
|
||||||
|
#
|
||||||
|
# Set vm.swappiness to 5 in /etc/sysctl.conf
|
||||||
|
- sysctl:
|
||||||
|
name: vm.swappiness
|
||||||
|
value: '5'
|
||||||
|
state: present
|
||||||
6
roles/common/tasks/main.yaml
Normal file
6
roles/common/tasks/main.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
- name: Common Tasks for all hosts
|
||||||
|
include_tasks: "{{ ansible_system | lower }}.yaml"
|
||||||
|
|
||||||
|
- name: Prometheus
|
||||||
|
include_role:
|
||||||
|
name: prometheus-node-exporter
|
||||||
5
roles/modules/tasks/main.yaml
Normal file
5
roles/modules/tasks/main.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
- name: Kernel module nf_conntrack
|
||||||
|
community.general.modprobe:
|
||||||
|
name: nf_conntrack
|
||||||
|
state: present
|
||||||
|
persistent: present
|
||||||
25
roles/prometheus-node-exporter/tasks/darwin.yaml
Normal file
25
roles/prometheus-node-exporter/tasks/darwin.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
- name: Install node-exporter
|
||||||
|
become: true
|
||||||
|
become_user: admin
|
||||||
|
homebrew:
|
||||||
|
state: present
|
||||||
|
name:
|
||||||
|
- node_exporter
|
||||||
|
|
||||||
|
# TODO: Fix this
|
||||||
|
#- name: Check service running
|
||||||
|
# become: true
|
||||||
|
# become_user: admin
|
||||||
|
# command: "/opt/homebrew/bin/brew services info --json node_exporter"
|
||||||
|
# register: service_running
|
||||||
|
# ignore_errors: True
|
||||||
|
#
|
||||||
|
#- name: Debug
|
||||||
|
# debug:
|
||||||
|
# msg: "{{ service_running }}"
|
||||||
|
#
|
||||||
|
#- name: Start service
|
||||||
|
# become: true
|
||||||
|
# become_user: admin
|
||||||
|
# command: "/opt/homebrew/bin/brew services start node_exporter"
|
||||||
|
# when: {{ service_running[*].status }} != "started"
|
||||||
5
roles/prometheus-node-exporter/tasks/linux.yaml
Normal file
5
roles/prometheus-node-exporter/tasks/linux.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
- name: Install node-exporter
|
||||||
|
apt:
|
||||||
|
state: present
|
||||||
|
name:
|
||||||
|
- prometheus-node-exporter
|
||||||
2
roles/prometheus-node-exporter/tasks/main.yaml
Normal file
2
roles/prometheus-node-exporter/tasks/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- name: Prometheus Node Exporter
|
||||||
|
include_tasks: "{{ ansible_system | lower }}.yaml"
|
||||||
13
roles/sudo/tasks/main.yaml
Normal file
13
roles/sudo/tasks/main.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
- name: Install sudo
|
||||||
|
apt:
|
||||||
|
name: sudo
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: ensure Admini role
|
||||||
|
user:
|
||||||
|
comment: Administrative User
|
||||||
|
user: admini
|
||||||
|
password: $6$WmyMaztTbqI6Ga19$AADxgXtK.3q/ne0v.rimlKWRmZoX0bXApWRmoVTiQAdcGrfMwiInDHWElz5zfQiBGTZM6wOnSletT9JfdO6Zl0
|
||||||
|
groups:
|
||||||
|
- sudo
|
||||||
|
append: true
|
||||||
Reference in New Issue
Block a user