init syncthing host and docker role

This commit is contained in:
2026-01-26 23:01:02 -07:00
parent 0397917b55
commit 68428bc451
6 changed files with 130 additions and 1 deletions

View File

@@ -25,6 +25,9 @@ private_domains:
- type: A
name: "irc.home.jthan.io"
value: 192.168.1.99
- type: A
name: "syncthing.home.jthan.io"
value: 192.168.1.15
- type: AAAA
name: "storage0.home.jthan.io"
value: "2602:fb57:c20:b00:7a55:36ff:fe02:92c9"
@@ -43,6 +46,9 @@ private_domains:
- type: AAAA
name: "irc.home.jthan.io"
value: "2602:fb57:c20:b00:be24:11ff:fee7:b4bc"
- type: AAAA
name: "syncthing.home.jthan.io"
value: "2602:fb57:c20:b00:be24:11ff:fee9:9c4b"
- type: CNAME
name: "ha.home.jthan.io"
value: "proxy0.home.jthan.io"

View File

@@ -18,3 +18,6 @@ ldap.home.jthan.io
[irc]
irc.home.jthan.io
[syncthing]
syncthing.home.jthan.io

View File

@@ -1,5 +1,5 @@
---
# file: pangolin.yaml
# file: monitoring.yaml
- hosts: monitoring
roles:
- common

View File

@@ -0,0 +1,92 @@
- name: Download and verify the blackbox archive
get_url:
url: "https://github.com/blackbox/blackbox/releases/download/v{{ blackbox_version }}/blackbox-{{ blackbox_version }}.linux-amd64.tar.gz"
dest: "/tmp/blackbox-{{ blackbox_version }}.linux-amd64.tar.gz"
checksum: "sha256:{{ blackbox_sha256 }}"
register: download_result
- name: Unarchive blackbox binary
unarchive:
src: "{{ download_result.dest }}"
dest: /tmp
remote_src: true # Indicates the source file is on the remote host
owner: root
group: root
mode: 0755
- name: Copy blackbox binary to /usr/local/bin
copy:
src: "/tmp/blackbox-{{ blackbox_version }}.linux-amd64/blackbox"
dest: "/usr/local/bin/blackbox-{{ blackbox_version }}"
owner: root
group: root
mode: '0755'
remote_src: yes
- name: Create blackbox binary symlink
file:
src: "/usr/local/bin/blackbox-{{ blackbox_version }}"
dest: "/usr/local/bin/blackbox"
state: link
owner: root
group: root
mode: '0755' # Permissions for the target file
force: yes
- name: Create a blackbox group
group:
name: blackbox
state: present
gid: 1052
- name: Create a blackbox user
user:
name: blackbox
uid: 1052
group: 1052
comment: "blackbox user"
shell: /bin/bash
state: present
create_home: no
- name: Create blackbox data and config directories
file:
path: "{{ item }}"
state: directory
mode: 0750
owner: blackbox
group: blackbox
loop:
- /var/lib/blackbox_exporter
- /etc/blackbox_exporter
- name: Install blackbox config
template:
src: templates/blackbox.yml.j2
dest: /etc/blackbox/blackbox.yml
owner: blackbox
group: blackbox
mode: '0640'
notify: Restart blackbox
- name: Install blackbox service
template:
src: templates/blackbox.service.j2
dest: /etc/systemd/system/blackbox.service
owner: root
group: root
mode: 0640
register: blackbox_service
notify: Restart blackbox
- name: systemctl daemon-reload to pickup blackbox service changes
systemd_service:
daemon_reload: true
when: blackbox_service.changed
notify: Restart blackbox
- name: Start and enable blackbox
service:
name: blackbox
state: started
enabled: true

View File

@@ -0,0 +1,21 @@
- name: Add docker-ce repo to dnf
command: dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
args:
creates: /etc/yum.repos.d/docker-ce.repo
- name: Install docker-ce and other related packages
package:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: latest
- name: Start and enable docker
service:
name: docker
state: started
enabled: true

7
ansible/syncthing.yaml Normal file
View File

@@ -0,0 +1,7 @@
---
# file: syncthing.yaml
- hosts: syncthing
roles:
- common
- ldap_client
- docker