Files
cozystack/packages/apps/vpn

Managed VPN Service

A Virtual Private Network (VPN) is a critical tool for ensuring secure and private communication over the internet. Managed VPN Service simplifies the deployment and management of VPN server, enabling you to establish secure connections with ease.

Deployment Details

The VPN Service is powered by the Outline Server, an advanced and user-friendly VPN solution. Internally known as "Shadowbox", which simplifies the process of setting up and sharing Shadowsocks servers. It operates by launching Shadowsocks instances on demand. Furthermore, Shadowbox is compatible with standard Shadowsocks clients, providing flexibility and ease of use for your VPN requirements.

Parameters

Common parameters

Name Description Type Value
replicas Number of VPN server replicas. int 2
resources Explicit CPU and memory configuration for each VPN server replica. When omitted, the preset defined in resourcesPreset is applied. object {}
resources.cpu CPU available to each replica. quantity ""
resources.memory Memory (RAM) available to each replica. quantity ""
resourcesPreset Default sizing preset used when resources is omitted. string t1.nano
external Enable external access from outside the cluster. bool false

Application-specific parameters

Name Description Type Value
host Host used to substitute into generated URLs. string ""
users Users configuration map. map[string]object {}
users[name].password Password for the user (autogenerated if not provided). string ""
externalIPs List of externalIPs for service. Optional. If not specified, will use LoadBalancer service by default. []string []

Parameter examples and reference

resources and resourcesPreset

resources sets explicit CPU and memory configurations for each replica. When left empty, the preset defined in resourcesPreset is applied.

resources:
  cpu: 4000m
  memory: 4Gi

resourcesPreset sets named CPU and memory configurations for each replica. This setting is ignored if the corresponding resources value is set.

Presets follow a cloud-style <series>.<size> naming convention. Five series cover the full CPU-to-memory ratio range (t1 1:0.5, c1 1:1, s1 1:2, u1 1:4, m1 1:8) and each series ships eight sizes (nano through 4xlarge). The legacy flat names (nano, micro, small, medium, large, xlarge, 2xlarge) remain accepted as deprecated aliases of their 1:1 instance-type equivalents.

See docs/operations/resource-presets.md for the full size matrix and the legacy-to-instance-type mapping.

users

users:                              
  user1:                            
    password: hackme                
  user2: {} # autogenerated password

externalIPs

externalIPs:       
  - "11.22.33.44"
  - "11.22.33.45"
  - "11.22.33.46"