feat(route-management): add programmatic route management API with API tokens and admin UI

This commit is contained in:
2026-02-23 12:40:26 +00:00
parent 90016d1217
commit f5028ffb60
33 changed files with 2183 additions and 30 deletions

View File

@@ -1,21 +1,32 @@
import { DcRouter } from '../ts/index.js';
const devRouter = new DcRouter({
// Configure services as needed for development
// OpsServer always starts on port 3000
// Example: Add SmartProxy routes
// smartProxyConfig: {
// routes: [...]
// },
// Example: Add email configuration
// emailConfig: {
// ports: [2525],
// hostname: 'localhost',
// domains: [],
// routes: []
// },
// SmartProxy routes for development/demo
smartProxyConfig: {
routes: [
{
name: 'web-traffic',
match: { ports: [18080], domains: ['example.com', '*.example.com'] },
action: { type: 'forward', targets: [{ host: 'localhost', port: 3001 }] },
},
{
name: 'api-gateway',
match: { ports: [18080], domains: ['api.example.com'], path: '/v1/*' },
action: { type: 'forward', targets: [{ host: 'localhost', port: 4000 }] },
},
{
name: 'tls-passthrough',
match: { ports: [18443], domains: ['secure.example.com'] },
action: {
type: 'forward',
targets: [{ host: 'localhost', port: 4443 }],
tls: { mode: 'passthrough' },
},
},
],
},
// Disable cache/mongo for dev
cacheConfig: { enabled: false },
});
console.log('Starting DcRouter in development mode...');