127 lines
3.5 KiB
JSON
Executable File
127 lines
3.5 KiB
JSON
Executable File
{
|
|
"name": "Rego Tunnel",
|
|
"available": true,
|
|
"port": 8006,
|
|
"exposable": true,
|
|
"dynamic_config": true,
|
|
"id": "rego-tunnel",
|
|
"description": "Linux VM with Cisco AnyConnect VPN for accessing Rego environments securely.",
|
|
"tipi_version": 3,
|
|
"version": "latest",
|
|
"categories": ["utilities"],
|
|
"short_desc": "Linux VM VPN tunnel to Rego environments.",
|
|
"author": "alexz",
|
|
"source": "https://git.alexzaw.dev/alexz/runtipi",
|
|
"form_fields": [
|
|
{
|
|
"type": "number",
|
|
"label": "RAM (GB)",
|
|
"hint": "RAM to assign to the VM (in gigabytes)",
|
|
"placeholder": "8",
|
|
"required": true,
|
|
"env_variable": "WINDOWS_RAM_GB",
|
|
"default": "8"
|
|
},
|
|
{
|
|
"type": "number",
|
|
"label": "CPU Cores",
|
|
"hint": "CPU cores to assign to the VM",
|
|
"placeholder": "4",
|
|
"required": true,
|
|
"env_variable": "WINDOWS_CPU_CORES",
|
|
"default": "4"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"label": "VM IP (internal)",
|
|
"hint": "Internal VM IP on the tap/bridge network",
|
|
"placeholder": "100.100.0.2",
|
|
"required": true,
|
|
"env_variable": "VM_NET_IP",
|
|
"default": "100.100.0.2"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"label": "VM MAC",
|
|
"hint": "Used for DHCP reservation (VM must use DHCP)",
|
|
"placeholder": "52:54:00:12:34:56",
|
|
"required": true,
|
|
"env_variable": "VM_MAC",
|
|
"default": "52:54:00:12:34:56"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"label": "Bridge name",
|
|
"hint": "Linux bridge created inside the container for VM networking",
|
|
"placeholder": "br-rego-vpn",
|
|
"required": true,
|
|
"env_variable": "BRIDGE_NAME",
|
|
"default": "br-rego-vpn"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"label": "TAP name",
|
|
"hint": "Tap interface name used by QEMU",
|
|
"placeholder": "tap0",
|
|
"required": true,
|
|
"env_variable": "TAP_NAME",
|
|
"default": "tap0"
|
|
},
|
|
{
|
|
"type": "ip",
|
|
"label": "Bridge CIDR",
|
|
"hint": "Bridge address/CIDR assigned inside the container",
|
|
"placeholder": "100.100.0.1",
|
|
"required": true,
|
|
"env_variable": "BRIDGE_CIDR",
|
|
"default": "100.100.0.1"
|
|
},
|
|
{
|
|
"type": "ip",
|
|
"label": "VM subnet",
|
|
"hint": "Subnet that should be NATed out of the container",
|
|
"placeholder": "100.100.0.0",
|
|
"required": true,
|
|
"env_variable": "VM_SUBNET",
|
|
"default": "100.100.0.0"
|
|
},
|
|
{
|
|
"type": "ip",
|
|
"label": "Target IP (routed via VM)",
|
|
"hint": "Traffic to this IP is routed via the VM (VPN inside the VM)",
|
|
"placeholder": "10.35.33.230",
|
|
"required": true,
|
|
"env_variable": "TARGET_IP",
|
|
"default": "10.35.33.230"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"label": "DNS servers",
|
|
"hint": "DNS servers offered to the VM via DHCP",
|
|
"placeholder": "1.1.1.1,8.8.8.8",
|
|
"required": true,
|
|
"env_variable": "DNS_SERVERS",
|
|
"default": "1.1.1.1,8.8.8.8"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"label": "DHCP lease time",
|
|
"hint": "Lease duration (dnsmasq format, e.g. 12h)",
|
|
"placeholder": "12h",
|
|
"required": true,
|
|
"env_variable": "LEASE_TIME",
|
|
"default": "12h"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"label": "Host share directory",
|
|
"hint": "Directory on the host to share with the VM (exported to the VM as 9p tag TSCLIENT)",
|
|
"placeholder": "${APP_DATA_DIR}",
|
|
"required": false,
|
|
"env_variable": "TSCLIENT",
|
|
"default": "${APP_DATA_DIR}"
|
|
}
|
|
],
|
|
"supported_architectures": ["amd64"]
|
|
}
|