Added roles and playbooks to install spoolman, and changed install pgdb and create network roles to incorperate variables
This commit is contained in:
parent
fecce13c5b
commit
1b36515cce
@ -38,3 +38,6 @@ youtube=https://www.youtube.com/seandersontech
|
|||||||
[gold_leader]
|
[gold_leader]
|
||||||
sith.seandersontech.com
|
sith.seandersontech.com
|
||||||
# goldsquad-1.seandersontech.com
|
# goldsquad-1.seandersontech.com
|
||||||
|
|
||||||
|
[spoolman]
|
||||||
|
spoolman.seandersontech.com
|
||||||
|
|||||||
20
playbooks/install_spoolman/site.yml
Normal file
20
playbooks/install_spoolman/site.yml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
- name: Configure and install spoolman
|
||||||
|
hosts: spoolman
|
||||||
|
become: true
|
||||||
|
vars:
|
||||||
|
app: spoolman
|
||||||
|
user: seandersont
|
||||||
|
podman_network: spoolman-net
|
||||||
|
spoolman_dir: spoolman_data
|
||||||
|
database_dir: spoolman_pgdb
|
||||||
|
prometheus_config_dir: spoolman_prometheus
|
||||||
|
prometheus_config: /var/lib/containers/storage/volumes/spoolman_prometheus/prometheus.yml
|
||||||
|
prometheus_dir: spoolman_prometheus_data
|
||||||
|
grafana_dir: spoolman_grafana_data
|
||||||
|
roles:
|
||||||
|
- install_podman
|
||||||
|
- install_pgdb
|
||||||
|
- configure_network
|
||||||
|
- install_spoolman
|
||||||
|
...
|
||||||
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
- name: Create a podman network
|
- name: Create a podman network
|
||||||
containers.podman.podman_network:
|
containers.podman.podman_network:
|
||||||
name: gitea-net
|
# name: gitea-net
|
||||||
|
name: '{{ podman_network }}'
|
||||||
become: true
|
become: true
|
||||||
|
|||||||
Binary file not shown.
@ -1,19 +1,32 @@
|
|||||||
---
|
---
|
||||||
|
- name: Create container volumes
|
||||||
|
containers.podman.podman_volume:
|
||||||
|
state: present
|
||||||
|
name: "{{ database_dir }}"
|
||||||
|
|
||||||
- name: Create postgres container
|
- name: Create postgres container
|
||||||
containers.podman.podman_container:
|
containers.podman.podman_container:
|
||||||
name: gitea-pgdb
|
# name: gitea-pgdb
|
||||||
user: 1000
|
name: "{{ app }}-pgdb"
|
||||||
|
# user: 1000
|
||||||
state: quadlet
|
state: quadlet
|
||||||
network: gitea-net
|
# network: gitea-net
|
||||||
|
network: "{{ podman_network }}"
|
||||||
image: docker.io/postgres:latest
|
image: docker.io/postgres:latest
|
||||||
tty: true
|
tty: true
|
||||||
shm_size: 128mb
|
shm_size: 128mb
|
||||||
volume:
|
volume:
|
||||||
- /home/seandersont/gitea_db:/var/lib/postgresql/data
|
# - /home/seandersont/gitea_db:/var/lib/postgresql/data
|
||||||
|
- "{{ database_dir }}:/var/lib/postgresql/data"
|
||||||
|
security_opt: "label=disable"
|
||||||
env:
|
env:
|
||||||
POSTGRES_USER: "gitea"
|
POSTGRES_USER: "{{ app }}"
|
||||||
POSTGRES_PASSWORD: "MicrophoneExtensionBalb0a"
|
POSTGRES_PASSWORD: "mcGdDizPrFFv9SS4c55m"
|
||||||
POSTGRES_DB: "gitea"
|
POSTGRES_DB: "{{ app }}"
|
||||||
|
|
||||||
|
# POSTGRES_USER: "gitea"
|
||||||
|
# POSTGRES_PASSWORD: "MicrophoneExtensionBalb0a"
|
||||||
|
# POSTGRES_DB: "gitea"
|
||||||
quadlet_options:
|
quadlet_options:
|
||||||
- "AutoUpdate=registry"
|
- "AutoUpdate=registry"
|
||||||
- |
|
- |
|
||||||
@ -21,10 +34,10 @@
|
|||||||
WantedBy=default.target
|
WantedBy=default.target
|
||||||
|
|
||||||
|
|
||||||
- name: start gitea-app systemd unit
|
- name: Start postgres systemd unit
|
||||||
ansible.builtin.systemd:
|
ansible.builtin.systemd:
|
||||||
name: gitea-pgdb
|
name: "{{ app }}-pgdb"
|
||||||
|
# name: gitea-pgdb
|
||||||
daemon_reload: true
|
daemon_reload: true
|
||||||
state: started
|
state: started
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
- name: install podman
|
- name: Install podman
|
||||||
dnf:
|
ansible.builtin.dnf:
|
||||||
name: podman
|
name: podman
|
||||||
state: latest
|
state: present
|
||||||
|
|
||||||
|
|||||||
80
roles/install_spoolman/tasks/main.yml
Normal file
80
roles/install_spoolman/tasks/main.yml
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
---
|
||||||
|
- name: Create container volumes
|
||||||
|
containers.podman.podman_volume:
|
||||||
|
state: present
|
||||||
|
name: "{{ item }}"
|
||||||
|
loop:
|
||||||
|
- "{{ spoolman_dir }}"
|
||||||
|
- "{{ prometheus_dir }}"
|
||||||
|
- "{{ prometheus_config_dir }}"
|
||||||
|
- "{{ grafana_dir }}"
|
||||||
|
- "{{ database_dir }}"
|
||||||
|
|
||||||
|
- name: Create Spoolman container
|
||||||
|
containers.podman.podman_container:
|
||||||
|
name: spoolman
|
||||||
|
state: quadlet
|
||||||
|
network: "{{ podman_network }}"
|
||||||
|
image: ghcr.io/donkie/spoolman:latest
|
||||||
|
restart_policy: "on-failure"
|
||||||
|
volumes: "{{ spoolman_dir }}:/home/app/.local/share/spoolman"
|
||||||
|
ports: "80:8000"
|
||||||
|
security_opt: "label=disable"
|
||||||
|
env:
|
||||||
|
TZ: US/Central
|
||||||
|
SPOOLMAN_DB_TYPE: postgres
|
||||||
|
SPOOLMAN_DB_HOST: "{{ app }}-pgdb"
|
||||||
|
SPOOLMAN_DB_PORT: "5432"
|
||||||
|
SPOOLMAN_DB_NAME: "{{ app }}"
|
||||||
|
SPOOLMAN_DB_USERNAME: "{{ app }}"
|
||||||
|
SPOOLMAN_DB_PASSWORD: "mcGdDizPrFFv9SS4c55m"
|
||||||
|
SPOOLMAN_METRICS_ENABLED: true
|
||||||
|
|
||||||
|
- name: Create prometheus container
|
||||||
|
containers.podman.podman_container:
|
||||||
|
name: prometheus
|
||||||
|
state: quadlet
|
||||||
|
network: "{{ podman_network }}"
|
||||||
|
image: docker.io/prom/prometheus:latest
|
||||||
|
volumes:
|
||||||
|
- "{{ prometheus_config }}:/etc/prometheus/prometheus.yml"
|
||||||
|
- "{{ prometheus_dir }}:/prometheus"
|
||||||
|
ports: "9091:9090"
|
||||||
|
security_opt: "label=disable"
|
||||||
|
quadlet_options:
|
||||||
|
- "AutoUpdate=registry"
|
||||||
|
- |
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
- name: Create Prometheus config file
|
||||||
|
ansible.builtin.template:
|
||||||
|
mode: "0666"
|
||||||
|
src: prometheus.j2
|
||||||
|
dest: "{{ prometheus_config }}"
|
||||||
|
|
||||||
|
- name: Create Grafana container
|
||||||
|
containers.podman.podman_container:
|
||||||
|
name: grafana
|
||||||
|
state: quadlet
|
||||||
|
network: "{{ podman_network }}"
|
||||||
|
image: grafana/grafana:latest
|
||||||
|
security_opt: "label=disable"
|
||||||
|
env:
|
||||||
|
GF_SECURITY_ADMIN_USER: admin
|
||||||
|
GF_SECURITY_ADMIN_PASSWORD: admin
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
volume:
|
||||||
|
- "{{ grafana_dir }}:/var/lib/grafana"
|
||||||
|
|
||||||
|
- name: Start systemd units
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: '{{ item }}'
|
||||||
|
daemon_reload: true
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
loop:
|
||||||
|
- spoolman
|
||||||
|
- prometheus
|
||||||
|
- grafana
|
||||||
7
roles/install_spoolman/templates/prometheus.j2
Normal file
7
roles/install_spoolman/templates/prometheus.j2
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
global:
|
||||||
|
scrape_interval: 15s
|
||||||
|
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: 'spoolman'
|
||||||
|
static_configs:
|
||||||
|
- targets: ['spoolman.seandersontech.com:80']
|
||||||
Loading…
x
Reference in New Issue
Block a user