Initial skills documentation — 25 categories, all SKILL.md + references + scripts

This commit is contained in:
root
2026-07-15 17:42:20 -04:00
commit 1b4fcd4427
976 changed files with 188344 additions and 0 deletions
@@ -0,0 +1,56 @@
version: '3.8'
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: unless-stopped
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=90d'
ports:
- "127.0.0.1:9090:9090"
deploy:
resources:
limits:
cpus: '1'
memory: 1G
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: unless-stopped
depends_on:
- prometheus
volumes:
- grafana_data:/var/lib/grafana
- ./grafana-provisioning:/etc/grafana/provisioning
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=ITProPartnerMonitor!
- GF_INSTALL_PLUGINS=
ports:
- "127.0.0.1:3002:3000"
deploy:
resources:
limits:
cpus: '1'
memory: 512M
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
volumes:
prometheus_data:
grafana_data:
@@ -0,0 +1,16 @@
# Grafana provisioning — Prometheus datasource
# Mount this file to /etc/grafana/provisioning/datasources/prometheus.yml
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus:9090
isDefault: true
editable: false
uid: prometheus
jsonData:
timeInterval: "60s"
queryTimeout: "30s"
httpMethod: POST
@@ -0,0 +1,46 @@
# Prometheus configuration for IT Pro Partner infrastructure
# Scrapes:
# 1. Ops Portal backend (FastAPI /metrics)
# 2. Node Exporter on Core server
# 3. Node Exporter on each Hetzner server
# 4. (Optional) Prometheus self-monitoring
global:
scrape_interval: 60s # Every 60s for all targets
evaluation_interval: 60s
scrape_timeout: 10s
rule_files:
- "alerts.yml"
scrape_configs:
# Self-monitoring
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
# Ops Portal backend metrics
- job_name: 'ops-portal'
static_configs:
- targets: ['127.0.0.1:8090']
metrics_path: /metrics
# Core server (netcup) — node exporter on port 9100
- job_name: 'node-core'
static_configs:
- targets: ['127.0.0.1:9100']
metrics_path: /metrics
# Hetzner servers — node exporter on each
- job_name: 'node-hetzner'
static_configs:
- targets:
- '5.161.62.38:9100' # wphost02
- '5.161.225.131:9100' # unms
- '178.156.131.57:9100' # unifi
- '178.156.130.130:9100' # hudu
- '178.156.149.32:9100' # fleettracker360
- '178.156.168.35:9100' # docker
- '178.156.167.181:9100' # ai
- '5.161.114.8:9100' # app1-bu
- '87.99.144.163:9100' # app1 (n8n)
- '87.99.159.142:9100' # tony-vps