Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
2f9c1d5
Update README.md
tapas100 Jan 27, 2026
b8406fc
docs: add comprehensive feature development plan and branch tracking …
tapas100 Jan 27, 2026
ddcee8c
docs: add comprehensive feature development plan and branch tracking …
tapas100 Jan 27, 2026
7145f28
docs: add branch organization summary and visual structure
tapas100 Jan 27, 2026
5211c4a
docs: add branch organization summary and visual structure
tapas100 Jan 27, 2026
0315fc4
docs: add detailed feature implementation checklist
tapas100 Jan 27, 2026
5c4a3eb
docs: add detailed feature implementation checklist
tapas100 Jan 27, 2026
29f1807
docs: add comprehensive documentation index
tapas100 Jan 27, 2026
449d13e
docs: add comprehensive documentation index
tapas100 Jan 27, 2026
f84c36f
docs: add setup completion summary
tapas100 Jan 27, 2026
d4130fc
docs: add setup completion summary
tapas100 Jan 27, 2026
44f2c6a
feat: implement Phase 0 core stabilization - config schema versioning
tapas100 Jan 27, 2026
aac1e2c
feat: implement Phase 0 core stabilization - config schema versioning
tapas100 Jan 27, 2026
63af0db
test: add comprehensive test suite for Phase 0
tapas100 Jan 27, 2026
20f18e8
test: add comprehensive test suite for Phase 0
tapas100 Jan 27, 2026
05b546a
docs: add Phase 0 merge readiness document
tapas100 Jan 27, 2026
0bc4b85
docs: add Phase 0 merge readiness document
tapas100 Jan 27, 2026
a29abce
docs: add pre-merge instructions and checklist
tapas100 Jan 27, 2026
82210a8
docs: add pre-merge instructions and checklist
tapas100 Jan 27, 2026
918694c
fix: resolve dependencies and fix all test failures
tapas100 Jan 27, 2026
e7e42d9
fix: resolve dependencies and fix all test failures
tapas100 Jan 27, 2026
cc16f9c
feat: migrate Phase 0 to TypeScript with full type safety
tapas100 Jan 27, 2026
138e30b
feat: migrate Phase 0 to TypeScript with full type safety
tapas100 Jan 27, 2026
69d0744
refactor: remove duplicate JS files and convert tests to TypeScript
tapas100 Jan 27, 2026
9daa94d
refactor: remove duplicate JS files and convert tests to TypeScript
tapas100 Jan 27, 2026
a07d7fb
chore: remove final duplicate schema.test.js file
tapas100 Jan 27, 2026
0b1f8d6
chore: remove final duplicate schema.test.js file
tapas100 Jan 27, 2026
cd44bb6
feat: Complete TypeScript migration - 100% type coverage
tapas100 Jan 27, 2026
2d946aa
feat: Complete TypeScript migration - 100% type coverage
tapas100 Jan 27, 2026
c870f0a
fix: Handle null returns from config.get() method
tapas100 Jan 27, 2026
2deba04
fix: Handle null returns from config.get() method
tapas100 Jan 27, 2026
2ae8583
feat: Add comprehensive metrics module foundation for Phase 1
tapas100 Jan 27, 2026
5ebc01e
feat: Add comprehensive metrics module foundation for Phase 1
tapas100 Jan 27, 2026
da1abfd
feat: Integrate comprehensive metrics into app, circuit breaker, and …
tapas100 Jan 27, 2026
4414808
feat: Integrate comprehensive metrics into app, circuit breaker, and …
tapas100 Jan 27, 2026
9a6e7d4
feat: Add config reload metrics and fix circular dependency
tapas100 Jan 27, 2026
6a7477d
feat: Add config reload metrics and fix circular dependency
tapas100 Jan 27, 2026
4e0b4e6
docs: Add Phase 1 progress report
tapas100 Jan 27, 2026
5fc7955
docs: Add Phase 1 progress report
tapas100 Jan 27, 2026
2d85768
feat: Add upstream metrics and SLI/SLO calculator
tapas100 Jan 27, 2026
a1a98d3
feat: Add upstream metrics and SLI/SLO calculator
tapas100 Jan 27, 2026
af36f7b
feat: Complete Phase 1 Enhanced Monitoring with Prometheus alerts
tapas100 Jan 28, 2026
a8f618f
feat: Complete Phase 1 Enhanced Monitoring with Prometheus alerts
tapas100 Jan 28, 2026
2040059
docs: Add comprehensive Phase 2 & 3 roadmap with branch strategy
tapas100 Jan 28, 2026
5f1efb4
docs: Add comprehensive Phase 2 & 3 roadmap with branch strategy
tapas100 Jan 28, 2026
030f6ee
docs: Add Phase 1 completion summary and full Phase 2-3 roadmap
tapas100 Jan 28, 2026
0a891a8
docs: Add Phase 1 completion summary and full Phase 2-3 roadmap
tapas100 Jan 28, 2026
1fffb8f
feat: Merge Phase 1 Enhanced Monitoring System
tapas100 Jan 28, 2026
b3a26e1
feat: Merge Phase 1 Enhanced Monitoring System
tapas100 Jan 28, 2026
a99d529
feat: Add deployment configurations for Docker-free platforms
tapas100 Jan 28, 2026
fc366c8
feat: Add deployment configurations for Docker-free platforms
tapas100 Jan 28, 2026
1b22114
docs: Add branch mapping and architecture decision (monorepo vs micro…
tapas100 Jan 28, 2026
3043273
docs: Add branch mapping and architecture decision (monorepo vs micro…
tapas100 Jan 28, 2026
ee55533
docs: Add quick summary of branch strategy and architecture decisions
tapas100 Jan 28, 2026
edec464
docs: Add quick summary of branch strategy and architecture decisions
tapas100 Jan 28, 2026
5f727cf
feat: Add multi-repository setup guide and creation script
tapas100 Jan 28, 2026
66447fb
feat: Add multi-repository setup guide and creation script
tapas100 Jan 28, 2026
48dabcd
docs: Add manual repository creation guide for web UI
tapas100 Jan 28, 2026
ce5254e
docs: Add manual repository creation guide for web UI
tapas100 Jan 28, 2026
a3c79ce
docs: Add success summary for multi-repo creation
tapas100 Jan 28, 2026
6da99b1
docs: Add success summary for multi-repo creation
tapas100 Jan 28, 2026
2b87ea6
docs: Add comprehensive feature-to-repo mapping and init script
tapas100 Jan 28, 2026
84aac7d
docs: Add comprehensive feature-to-repo mapping and init script
tapas100 Jan 28, 2026
d0cfdb8
docs: Add detailed multi-repo development action plan
tapas100 Jan 28, 2026
4ac2c58
docs: Add detailed multi-repo development action plan
tapas100 Jan 28, 2026
9f2610f
docs: Add final ready-to-code summary
tapas100 Jan 28, 2026
e1308a7
docs: Add final ready-to-code summary
tapas100 Jan 28, 2026
e573cbc
feat: Complete Admin UI Foundation (Feature 1)
tapas100 Jan 28, 2026
4b190b9
feat: Complete Admin UI Foundation (Feature 1)
tapas100 Jan 28, 2026
0abb8c8
docs: Add Phase 2 progress report (Feature 1 complete)
tapas100 Jan 28, 2026
1430d6d
docs: Add Phase 2 progress report (Feature 1 complete)
tapas100 Jan 28, 2026
ddde96b
docs: Clarify monorepo vs multi-repo strategy
tapas100 Jan 28, 2026
4cc4405
docs: Clarify monorepo vs multi-repo strategy
tapas100 Jan 28, 2026
96c9bf5
Merge feature/admin-ui-foundation into dev
tapas100 Jan 28, 2026
1c685f3
Merge feature/admin-ui-foundation into dev
tapas100 Jan 28, 2026
96f41d6
feat: Visual Route Editor (Feature 2) - Complete CRUD UI
tapas100 Jan 28, 2026
94a501e
feat: Visual Route Editor (Feature 2) - Complete CRUD UI
tapas100 Jan 28, 2026
5f55402
Merge Feature 2: Visual Route Editor to dev
tapas100 Jan 28, 2026
4bd8f58
Merge Feature 2: Visual Route Editor to dev
tapas100 Jan 28, 2026
0c4ed22
feat: Complete Feature 3 - Metrics Dashboard with Recharts
tapas100 Jan 28, 2026
1e14f75
feat: Complete Feature 3 - Metrics Dashboard with Recharts
tapas100 Jan 28, 2026
aa0e28e
Merge Feature 3: Metrics Dashboard to dev
tapas100 Jan 28, 2026
6a48871
Merge Feature 3: Metrics Dashboard to dev
tapas100 Jan 28, 2026
74a3602
feat: Implement Feature 4 - Log Viewer with Real-time Streaming
tapas100 Jan 28, 2026
f1e340f
feat: Implement Feature 4 - Log Viewer with Real-time Streaming
tapas100 Jan 28, 2026
79b3bf7
Merge Feature 4: Log Viewer to dev
tapas100 Jan 28, 2026
349bb93
Merge Feature 4: Log Viewer to dev
tapas100 Jan 28, 2026
bef7fe7
feat: Add OAuth provider management (Feature 5)
tapas100 Jan 28, 2026
8046b66
feat: Add OAuth provider management (Feature 5)
tapas100 Jan 28, 2026
f34b98c
Merge feature/oauth-plugins into dev
tapas100 Jan 28, 2026
1b350c4
Merge feature/oauth-plugins into dev
tapas100 Jan 28, 2026
637553a
docs: Add Feature 5 completion document
tapas100 Jan 28, 2026
8fcf0c7
docs: Add Feature 5 completion document
tapas100 Jan 28, 2026
98e9a04
docs: Pivot to practical features - Webhooks, API Keys, Request Replay
tapas100 Jan 28, 2026
79834a8
docs: Pivot to practical features - Webhooks, API Keys, Request Replay
tapas100 Jan 28, 2026
e0a070c
feat: Integrate Einstrust SAML 2.0 Authentication
tapas100 Jan 28, 2026
053f544
feat: Integrate Einstrust SAML 2.0 Authentication
tapas100 Jan 28, 2026
a92c39d
feat: Complete Einstrust SAML integration (frontend)
tapas100 Jan 28, 2026
75e62f8
feat: Complete Einstrust SAML integration (frontend)
tapas100 Jan 28, 2026
654925d
feat: Implement webhook notification system (Phase 1-4)
tapas100 Jan 28, 2026
e72b7ba
feat: Implement webhook notification system (Phase 1-4)
tapas100 Jan 28, 2026
be43ece
test: Add comprehensive webhook system tests
tapas100 Jan 28, 2026
6061da4
test: Add comprehensive webhook system tests
tapas100 Jan 28, 2026
5309ade
docs: Add comprehensive session summary
tapas100 Jan 28, 2026
2553368
docs: Add comprehensive session summary
tapas100 Jan 28, 2026
3c36b9a
fix: TypeScript errors in webhook routes
tapas100 Jan 28, 2026
a172b70
fix: TypeScript errors in webhook routes
tapas100 Jan 28, 2026
2176a6d
fix: SSOCallback component response handling
tapas100 Jan 28, 2026
6987582
fix: SSOCallback component response handling
tapas100 Jan 28, 2026
4c132ed
fix: LogDetails import error in LogRow
tapas100 Jan 28, 2026
20ce3d8
fix: LogDetails import error in LogRow
tapas100 Jan 28, 2026
62a4c4b
docs: Add comprehensive testing execution plan
tapas100 Jan 28, 2026
1f8e14e
docs: Add comprehensive testing execution plan
tapas100 Jan 28, 2026
6bfc845
feat: Add Webhook Admin UI
tapas100 Jan 28, 2026
d8fbc85
feat: Add Webhook Admin UI
tapas100 Jan 28, 2026
5c04ed0
docs: Add testing quick start guide
tapas100 Jan 28, 2026
26330ae
docs: Add testing quick start guide
tapas100 Jan 28, 2026
b9507f2
docs: Feature 7 completion documentation
tapas100 Jan 28, 2026
c84dd7a
docs: Feature 7 completion documentation
tapas100 Jan 28, 2026
bb3a74b
docs: Development phase complete summary
tapas100 Jan 28, 2026
04fcff9
docs: Development phase complete summary
tapas100 Jan 28, 2026
9fba473
docs: Add comprehensive feature documentation and testing guides
tapas100 Jan 28, 2026
613a09a
docs: Add comprehensive feature documentation and testing guides
tapas100 Jan 28, 2026
744a2d7
docs: Documentation organization completion summary
tapas100 Jan 28, 2026
de01daf
docs: Documentation organization completion summary
tapas100 Jan 28, 2026
92e15cf
feat: Add simple login endpoint for testing/development
tapas100 Jan 28, 2026
64d56f7
feat: Add simple login endpoint for testing/development
tapas100 Jan 28, 2026
8f8893b
docs: Add comprehensive API audit and development protocol
tapas100 Jan 28, 2026
8da188b
docs: Add comprehensive API audit and development protocol
tapas100 Jan 28, 2026
f3cd273
docs: Add executive summary of API audit findings
tapas100 Jan 28, 2026
9c8c8b2
docs: Add executive summary of API audit findings
tapas100 Jan 28, 2026
178aed4
feat: Implement Routes API - all 6 endpoints
tapas100 Jan 28, 2026
5795b12
feat: Implement Routes API - all 6 endpoints
tapas100 Jan 28, 2026
7f8be5b
docs: Update API status - Routes API 100% complete
tapas100 Jan 28, 2026
0e9bdb3
docs: Update API status - Routes API 100% complete
tapas100 Jan 28, 2026
bce0ef0
docs: Add comprehensive implementation summary
tapas100 Jan 28, 2026
81276f7
docs: Add comprehensive implementation summary
tapas100 Jan 28, 2026
0795c8c
docs: Complete audit of mock/dummy data in frontend
tapas100 Jan 28, 2026
161ceb7
docs: Complete audit of mock/dummy data in frontend
tapas100 Jan 28, 2026
ed766bf
feat: Implement PostgreSQL database with routes and webhooks persistence
tapas100 Jan 29, 2026
537850b
feat: Implement PostgreSQL database with routes and webhooks persistence
tapas100 Jan 29, 2026
067a24a
Merge feature/webhooks: PostgreSQL database implementation with route…
tapas100 Jan 29, 2026
7433837
Merge feature/webhooks: PostgreSQL database implementation with route…
tapas100 Jan 29, 2026
d5c1c70
Merge OSS strategy feature
tapas100 Jan 29, 2026
2a653b4
Merge OSS strategy feature
tapas100 Jan 29, 2026
584bd66
chore: Comprehensive cleanup - documentation and scripts organization
tapas100 Jan 29, 2026
4bf711b
chore: Comprehensive cleanup - documentation and scripts organization
tapas100 Jan 29, 2026
c17b9ef
feat: Remove mock data from frontend services, use real APIs
tapas100 Jan 29, 2026
ea31e7b
feat: Remove mock data from frontend services, use real APIs
tapas100 Jan 29, 2026
0825231
docs: Add comprehensive cleanup summary
tapas100 Jan 29, 2026
5abf039
docs: Add comprehensive cleanup summary
tapas100 Jan 29, 2026
2ba1c73
feat: Add admin UI static file serving
tapas100 Jan 29, 2026
954102f
feat: Add admin UI static file serving
tapas100 Jan 29, 2026
dcacbcc
docs: Add comprehensive testing guide
tapas100 Jan 29, 2026
89cd32f
docs: Add comprehensive testing guide
tapas100 Jan 29, 2026
7429400
docs: Add complete session summary
tapas100 Jan 29, 2026
076d4ad
docs: Add complete session summary
tapas100 Jan 29, 2026
1076c75
fix(admin-ui): Update log stats in real-time during streaming
tapas100 Jan 30, 2026
466e2db
fix(test): Add transformIgnorePatterns for uuid ES module
tapas100 Jan 30, 2026
dc60cc1
feat(admin-ui): Migrate OAuth to Settings with breadcrumb navigation
tapas100 Jan 30, 2026
002600a
fix(admin-ui): Remove OAuth from sidebar and fix TypeScript error
tapas100 Jan 30, 2026
146a86f
feat: Implement health check monitoring and enhanced webhook event sy…
tapas100 Feb 4, 2026
f02bb26
Add health check and rate limit events with monitoring
tapas100 Feb 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .coolify
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# ============================================
# FlexGate Proxy - Coolify Configuration
# ============================================
# Open-source self-hosted deployment platform
# Website: https://coolify.io
# License: Apache 2.0
# ============================================

# This file is auto-detected by Coolify
# No manual configuration needed!

# Build settings are configured in Coolify dashboard:
# - Build Command: npm ci && npm run build
# - Start Command: npm start
# - Port: 3000

# Environment variables (set in Coolify UI):
# NODE_ENV=production
# PORT=3000
# REDIS_URL=${COOLIFY_REDIS_URL}
# JWT_SECRET=${COOLIFY_AUTO_SECRET_1}
# ADMIN_JWT_SECRET=${COOLIFY_AUTO_SECRET_2}

# Health check endpoint (auto-detected):
# /health/live

# Coolify automatically handles:
# ✅ SSL certificates (Let's Encrypt)
# ✅ Zero-downtime deployments
# ✅ Auto-restart on crash
# ✅ Git auto-deploy on push
# ✅ Preview deployments for PRs
56 changes: 56 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# FlexGate Environment Configuration

# ==============================================================================
# DATABASE (PostgreSQL)
# ==============================================================================
DB_HOST=localhost
DB_PORT=5432
DB_NAME=flexgate
DB_USER=flexgate
DB_PASSWORD=flexgate
DB_POOL_SIZE=20

# For production, use strong passwords:
# DB_PASSWORD=<generate-with>: openssl rand -base64 32

# ==============================================================================
# SERVER
# ==============================================================================
NODE_ENV=development
PORT=3000

# ==============================================================================
# EINSTRUST SSO (Optional)
# ==============================================================================
# EINSTRUST_API_URL=https://api.einstrust.com
# EINSTRUST_TENANT_ID=your-tenant-id
# EINSTRUST_IDP_ID=your-idp-id
# EINSTRUST_RETURN_URL=http://localhost:3000/auth/callback
# EINSTRUST_SESSION_CACHE_TTL=300
# FLEXGATE_FALLBACK_AUTH=true

# ==============================================================================
# REDIS (Optional)
# ==============================================================================
# REDIS_HOST=localhost
# REDIS_PORT=6379
# REDIS_PASSWORD=
# REDIS_DB=0

# ==============================================================================
# LOGGING
# ==============================================================================
LOG_LEVEL=info

# ==============================================================================
# SECURITY
# ==============================================================================
# Generate with: openssl rand -hex 32
JWT_SECRET=your-secret-key-change-this-in-production
SESSION_SECRET=your-session-secret-change-this-in-production

# ==============================================================================
# CORS
# ==============================================================================
CORS_ORIGIN=*
# For production: CORS_ORIGIN=https://yourdomain.com
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,8 @@ dump.rdb
# Temporary files
tmp/
temp/

# TypeScript build output
dist/
*.d.ts
*.js.map
3 changes: 3 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
registry=https://registry.npmjs.org/
@magnetic:registry=https://engci-maven.cisco.com/artifactory/api/npm/magnetic-npm/
always-auth=false
95 changes: 95 additions & 0 deletions .progress/phase-0-core-stabilization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Phase 0: Core Stabilization - Progress Log

**Branch:** `feature/core-stabilization`
**Started:** January 27, 2026
**Status:** 🟢 In Progress

---

## Current Session - January 27, 2026

### Code Audit Results

#### ✅ Existing Implementation (Good Foundation)
- **app.js** - Main application with Express setup
- **Health endpoints** - `/health/live`, `/health/ready`, `/health/deep` ✅
- **Metrics** - Prometheus integration with custom metrics ✅
- **Circuit breakers** - Implemented for upstreams ✅
- **Rate limiting** - Basic rate limiter in place ✅
- **Logging** - Winston-based structured logging ✅
- **Correlation IDs** - Request tracking implemented ✅

#### 📋 Current Dependencies (package.json)
- Express 4.18.2
- http-proxy-middleware 2.0.6
- prom-client 15.1.0
- winston 3.11.0
- rate-limit-redis 4.2.0
- redis 4.6.12

---

## Tasks Completed ✅

### Week 1 - Code Audit
- [x] Review app.js structure
- [x] Identify existing features
- [x] Review package.json dependencies
- [x] Review logger implementation

---

## Tasks In Progress 🔄

### Config Schema Versioning
- [ ] Design config version system
- [ ] Create v1 schema definition
- [ ] Add schema validation
- [ ] Implement version migration

---

## Next Steps (Today)

1. Create config schema v1 with versioning
2. Add config validation
3. Implement backward compatibility tests
4. Set up testing infrastructure (Jest)
5. Document current API

---

## Notes & Decisions

### Observations:
- Code quality is good, clean Express patterns
- Health endpoints already exist (great!)
- Prometheus metrics already integrated
- Correlation IDs implemented
- Circuit breaker pattern in place
- Rate limiting using Redis

### Areas for Improvement:
1. **Config versioning** - Not yet implemented
2. **Schema validation** - Need to add
3. **Tests** - No tests found yet
4. **API versioning** - Should add version headers
5. **Deprecation policy** - Need to define
6. **Documentation** - Need API docs

### Technical Decisions:
- Keep Winston for logging (already good)
- Keep prom-client for metrics (standard)
- Add Joi or Ajv for schema validation
- Add Jest for testing
- Use semantic versioning for config

---

## Blockers

None currently

---

**Last Updated:** January 27, 2026
Loading