141 lines
6.6 KiB
Markdown
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/
|