Files
itpp-infrastructure/docs/project-log.md
T

141 lines
6.6 KiB
Markdown

# Project Log — All Completed Projects
## 2026-07-20
### Ops Portal Audit and Overhaul
- Full audit of all 11 pages, 7 API endpoints, and 5 dashboard widgets
- Fixed 15 bugs: auth guards, cache-busting, mobile nav, page titles, missing icons, data keys
- Added 3 new widgets: Wazuh Security, Bitdefender GravityZone, Alerts and Notifications
- Standardized credentials: ippadmin (password → Vaultwarden / `~/.hermes/.env`)
- Added critical service protection (hermes/caddy/ops-portal restart blocked via API)
- Server list cleaned up (7→5), dependency diagram fixed, config page scripts listing
### Backup-Restore Enhancements
- Added manual backup with domain dropdown and note field
- Added restore history logging with formatted 4-column table
- Fixed Caddy routing and timeouts (restore was returning 404 via proxy)
- Fixed mobile toggle on domain expansion cards
- 9 WordPress sites under daily backup (1 AM and 1 PM)
### Docs Written
- `/root/projects/ops-portal/README.md` + `CHANGELOG.md`
- `/root/projects/backup-restore/README.md` + `CHANGELOG.md`
---
## 2026-07-17 — Backup-Restore Initial Deployment
- Flask backup/restore app deployed on app3 (152.53.241.111)
- Daily snapshots scheduled at 1 AM and 1 PM
- Caddy reverse proxy from my.itpropartner.com
- 9 WordPress sites configured
## 2026-07-21 — Home Lab Consolidation
### Proxmox Migration
- vm-host-02 VMs migrated/destroyed: graylog, zabbix, fog, Ubuntu-Server
- vm-host-01 now hosts: docker-host-01, adguard-home
- vm-host-02 cleared for GPU installation (RTX 3090 pending verification)
- QNAP NFS shared storage created (2TB pool, mounted on both Proxmox hosts)
### DNS Infrastructure
- Technitium DNS deployed on app2 (dns1.itpropartner.com)
- DoH upstreams: Quad9, Cloudflare, Google
- Home DNS chain: docker-host-01 AdGuard → dns1 Technitium → vm-host-01 AdGuard
- Firewall locked: port 53 restricted to 76.195.7.60
### Twilio
- Toll-free number verification submitted for IT Pro Partner
- Use case: customer notifications, appointment reminders, IVR
### Mattermost
- Branding configured: IT Pro Partner NOC
- Channel structure designed (13 channels)
- Mobile push investigation: HPNS required for background notifications
### Gift-a-Roast
- Domain giftaroast.com purchased, DNS live (Cloudflare → app1)
- ElevenLabs TTS + Deepgram STT keys verified
- Architecture: Twilio Voice → STT → AI → TTS → caller
### Uptime Kuma
- Backed up (361MB, 25 monitors), updated to latest
### IRS
- Name change letter drafted: CG Premier Transport LLC → IT Pro Partner LLC
- Georgia Secretary of State filing confirmed
### Skills Updated
- 10 skills patched: docker-service-deployment, home-lab-*, server-architecture-plan, twilio-10dlc, vaultwarden-management, voip-portal, hudu, syncromsp, recurring-information-scout
## 2026-08-05 through 2026-08-08
### Super Search v2.4.0 -- Client-ID Metrics Tracking
- Added Starlette middleware to intercept `X-Client-Id` header on every MCP call
- Prometheus counters per client (`hermes`, `intelsight`, `dre-osint`, `verdicttank`) and per tool
- Metrics exposed at `:8899/metrics`, scraped by Prometheus every 30s
- Grafana dashboard "Super Search - Client Tracking" at `/d/ffuktvmgcpkhse` on core:3002
- Super Search binding changed from 127.0.0.1:8899 to 0.0.0.0:8899 for Docker access
- UFW rule added: allow 172.17.0.0/16 to port 8899
- Prometheus scrape config added for super-search job at 172.17.0.1:8899/metrics
- Docs: `/root/projects/itpp-infrastructure/docs/super-search-v2.4.0-client-tracking.md`
### OSINT Person MCP -- Super Search Integration
- Created `/root/docker/osint-person-mcp/super_search.py` MCP client module
- Calls Super Search tools via `http://127.0.0.1:8899/mcp`
- Mirrors IntelSight pattern for MCP-to-MCP tool delegation
- Docs: `/root/projects/itpp-infrastructure/docs/osint-person-super-search-integration.md`
### Ops v1 Retirement
- Removed all orphaned `/var/www/ops/*.html`, `css/`, `js/`
- Migrated `/var/www/ops/data/` to `/var/www/ops-v2/data/`
- Updated Caddy: root redirect `ops.itpropartner.com` to `/v2/` (301)
- Updated 8 Python scripts referencing old ops paths
- Docs: `/root/projects/itpp-infrastructure/docs/ops-v1-retirement.md`
### Grafana Admin Password Reset
- Reset admin password to standard credentials via `grafana-cli admin reset-admin-password`
- Grafana running on Core port 3002 (not 3000 as previously documented)
### Moore Sunny Daze / Beach Direct
- Built internal product backend (FastAPI on port 8911, Core) for Moore Sunny Daze
- Fully documented Beach Direct as a standalone public product
- Project docs: `/root/projects/itpp-infrastructure/projects/beachdirect.md`
- Internal docs: `/root/projects/mooresunnydaze/docs/beach-direct-project.md`
### Buzz Nostr Relay
- Deployed Buzz self-hosted relay on app3 (152.53.241.111) via CloudPanel Docker/Nginx
- Live at `https://buzz.iamgmb.com`
- Closed-relay membership, Postgres + Redis + MinIO backend
- Project spec: `/root/projects/itpp-infrastructure/projects/buzz-agent-integration-spec.md`
### Hermes Mission Control (Planning)
- Investigated Sharbel's Hermes Mission Control template (Next.js dashboard + Postgres + Bridge)
- Architecture scoped: Dashboard host, Postgres setup, domain selection
- Pending user decision on host and domain before build
### Git Structure Audit
- Full audit of all 40 Gitea repos + local repos under /root/projects/
- Critical findings: hardcoded credentials in scripts repo, 13.6 MB blob in hermes-skills, missing .gitignore on 33/35 repos
- Docs: `/root/projects/itpp-infrastructure/docs/git-audit-2026-08-07.md`
### Grafana Dashboard Auth
- Investigated Grafana basic auth plugin for external dashboard access
- Generated password hash for Hermes Conduit iOS app dashboard integration
### Infrastructure Gap Assessment
- Subagent audit: 65+ services across 5 hosts, identified 12 services with no backup, 14 missing from API list
- Duplicate services found: Twenty CRM (Core + App1), SearXNG (Core + App1)
- Docs: `/root/projects/itpp-infrastructure/docs/infrastructure-gap-assessment-2026-08-04.md`
## 2026-07-29
### Village Express — Client Project
- Direct client engagement: student transport platform for Savannah family
- Built working mockups: client registration form + admin dashboard
- Live at https://mockup.iamgmb.com/village-express/ and /admin.html
- Deployed: registration form with SCCPSS school dropdown, e-signatures, SMS PIN
- Deployed: admin dashboard with 5-page nav, approve/reject, route toggles, SMS broadcast modal, settings
- Project proposal written: scope, pricing ($1,500 setup / $497/mo), timeline, Phases 1-3
- Customer email drafted: benefit-focused, sells time savings and simplicity
- Both documents in /root/projects/village-express/