feat(nftables):add nftables support for nftables

This commit is contained in:
2025-05-15 14:35:01 +00:00
parent cf96ff8a47
commit a2e3e38025
22 changed files with 2331 additions and 201 deletions

View File

@ -28,7 +28,7 @@ tap.test('Route-based configuration examples', async (tools) => {
port: 3000
},
security: {
allowedIps: ['*'] // Allow all
ipAllowList: ['*'] // Allow all
},
name: 'Basic HTTP Route'
});
@ -45,7 +45,7 @@ tap.test('Route-based configuration examples', async (tools) => {
port: 443
},
security: {
allowedIps: ['*'] // Allow all
ipAllowList: ['*'] // Allow all
},
name: 'HTTPS Passthrough Route'
});
@ -67,7 +67,7 @@ tap.test('Route-based configuration examples', async (tools) => {
'X-Forwarded-Proto': 'https'
},
security: {
allowedIps: ['*'] // Allow all
ipAllowList: ['*'] // Allow all
},
name: 'HTTPS Termination to HTTP Backend'
});
@ -94,7 +94,7 @@ tap.test('Route-based configuration examples', async (tools) => {
'X-Original-Host': '{domain}'
},
security: {
allowedIps: ['10.0.0.0/24', '192.168.1.0/24'],
ipAllowList: ['10.0.0.0/24', '192.168.1.0/24'],
maxConnections: 1000
},
name: 'Load Balanced HTTPS Route'
@ -103,7 +103,7 @@ tap.test('Route-based configuration examples', async (tools) => {
expect(loadBalancerRoute).toBeTruthy();
expect(loadBalancerRoute.action.tls?.mode).toEqual('terminate-and-reencrypt');
expect(Array.isArray(loadBalancerRoute.action.target?.host)).toBeTrue();
expect(loadBalancerRoute.action.security?.allowedIps?.length).toEqual(2);
expect(loadBalancerRoute.action.security?.ipAllowList?.length).toEqual(2);
// Example 5: Block specific IPs
const blockRoute = createBlockRoute({