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]
|
||||
sith.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
|
||||
containers.podman.podman_network:
|
||||
name: gitea-net
|
||||
# name: gitea-net
|
||||
name: '{{ podman_network }}'
|
||||
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
|
||||
containers.podman.podman_container:
|
||||
name: gitea-pgdb
|
||||
user: 1000
|
||||
# name: gitea-pgdb
|
||||
name: "{{ app }}-pgdb"
|
||||
# user: 1000
|
||||
state: quadlet
|
||||
network: gitea-net
|
||||
# network: gitea-net
|
||||
network: "{{ podman_network }}"
|
||||
image: docker.io/postgres:latest
|
||||
tty: true
|
||||
shm_size: 128mb
|
||||
volume:
|
||||
- /home/seandersont/gitea_db:/var/lib/postgresql/data
|
||||
volume:
|
||||
# - /home/seandersont/gitea_db:/var/lib/postgresql/data
|
||||
- "{{ database_dir }}:/var/lib/postgresql/data"
|
||||
security_opt: "label=disable"
|
||||
env:
|
||||
POSTGRES_USER: "gitea"
|
||||
POSTGRES_PASSWORD: "MicrophoneExtensionBalb0a"
|
||||
POSTGRES_DB: "gitea"
|
||||
POSTGRES_USER: "{{ app }}"
|
||||
POSTGRES_PASSWORD: "mcGdDizPrFFv9SS4c55m"
|
||||
POSTGRES_DB: "{{ app }}"
|
||||
|
||||
# POSTGRES_USER: "gitea"
|
||||
# POSTGRES_PASSWORD: "MicrophoneExtensionBalb0a"
|
||||
# POSTGRES_DB: "gitea"
|
||||
quadlet_options:
|
||||
- "AutoUpdate=registry"
|
||||
- |
|
||||
@ -21,10 +34,10 @@
|
||||
WantedBy=default.target
|
||||
|
||||
|
||||
- name: start gitea-app systemd unit
|
||||
- name: Start postgres systemd unit
|
||||
ansible.builtin.systemd:
|
||||
name: gitea-pgdb
|
||||
name: "{{ app }}-pgdb"
|
||||
# name: gitea-pgdb
|
||||
daemon_reload: true
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
---
|
||||
- name: install podman
|
||||
dnf:
|
||||
- name: Install podman
|
||||
ansible.builtin.dnf:
|
||||
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