import { type NetworkBuilder, network } from './network-builder'; /** Single caddy machine in the DMZ — basic web server deployment */ export const CADDY_DEPLOYMENT = (): NetworkBuilder => network().dmz({ caddy: '10.226.10.10' }); /** Full stack: web server, identity provider, database */ export const FULL_STACK = (): NetworkBuilder => network() .dmz({ caddy: '10.226.10.10' }) .app({ idp: '10.226.20.100' }) .secure({ db: '10.226.30.50' }); /** Minimal: no dynamic machines, just fixed infrastructure */ export const INFRASTRUCTURE_ONLY = (): NetworkBuilder => network(); /** Caddy + Authentik: web server in DMZ, identity provider in app zone */ export const AUTHENTIK_DEPLOYMENT = (): NetworkBuilder => network().dmz({ caddy: '10.226.10.10' }).app({ authentik: '10.226.20.30' }); /** Multiple DMZ machines for testing multi-service deployments */ export const MULTI_DMZ = (): NetworkBuilder => network().dmz({ caddy: '10.226.10.10', 'web-app': '10.226.10.20', }); /** Technitium DNS + Caddy: internal DNS resolver + full web stack */ export const TECHNITIUM_STACK = (): NetworkBuilder => network().internal({ 'dns-int': '10.226.1.53' }).dmz({ caddy: '10.226.10.10' }); /** Technitium DNS with DHCP client: tests DHCP DNS propagation */ export const TECHNITIUM_DHCP_STACK = (): NetworkBuilder => network().internal({ 'dns-int': '10.226.1.53' }).dmz({ caddy: '10.226.10.10' }).withDhcpClient();