initial ansible deployment scaffolding

This commit is contained in:
Mike Kowalski 2026-08-28 19:28:57 -05:00
commit fe258d7a61
7 changed files with 70 additions and 0 deletions

7
README.md Normal file
View File

@ -0,0 +1,7 @@
# customer-deploy
Ansible playbooks for deploying the Galion Systems monitoring stack at
customer sites. Requires site vars (see deploy/site_vars/) and customer
VPN/jump host access.
Internal use only.

View File

@ -0,0 +1,6 @@
---
- name: Deploy Galion monitoring stack
hosts: "{{ target_site }}"
become: true
roles:
- galion_monitor

View File

@ -0,0 +1,16 @@
---
- name: Install dependencies
apt:
name: [python3-pip, prometheus-node-exporter]
state: present
- name: Copy Prometheus config
template:
src: prometheus.yml.j2
dest: /etc/prometheus/prometheus.yml
notify: restart prometheus
- name: Deploy Galion Modbus exporter
pip:
name: galion-modbus-exporter
state: present

View File

@ -0,0 +1,6 @@
# Gary Indiana facility
site_name: gary_in
site_contact: maintenance@garyfacility.com
plc_hosts:
- 10.20.1.10
prometheus_port: 9090

View File

@ -0,0 +1,6 @@
# Toledo Ohio water authority
site_name: toledo_oh
site_contact: scada@toledowater.com
plc_hosts:
- 172.16.5.20
prometheus_port: 9090

View File

@ -0,0 +1,7 @@
# Walnut Creek Water Treatment Plant
site_name: walnut_creek
site_contact: ops@walnutcreekwater.org
plc_hosts:
- 10.10.1.5
- 10.10.1.6
prometheus_port: 9090

22
docs/deployment.md Normal file
View File

@ -0,0 +1,22 @@
# Galion Systems — Customer Deployment Guide
## Prerequisites
- Ansible 2.12+
- SSH access to target site jump host
- Customer VPN credentials (see IT for per-site config)
## Deployment
```bash
ansible-playbook deploy/playbooks/site.yml \
-e target_site=walnut_creek \
-e @deploy/site_vars/walnut_creek.yml \
-i inventory/hosts.ini
```
## Sites
| Site | Contact | Status |
|------|---------|--------|
| walnut_creek | ops@walnutcreekwater.org | active |
| gary_in | maintenance@garyfacility.com | active |
| toledo_oh | scada@toledowater.com | onboarding |