feat: unifi guest portal and speedtest (#921)

* Add SpeedTest service

* Add guest portal service

* Update Chart.yaml

* Use correct version increment

Co-authored-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Make the Speedtest Service optional

Co-authored-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Make the Guest Portal Service optional

Co-authored-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update values.yaml with new services and ports

* Update charts/stable/unifi/values.yaml

Co-authored-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
This commit is contained in:
Joachim Baten
2021-09-08 10:12:36 +02:00
committed by GitHub
co-authored by Kjeld Schouten-Lebbing
parent b6723fa961
commit ce454f8283
3 changed files with 260 additions and 1 deletions
+1 -1
View File
@@ -21,4 +21,4 @@ sources:
- https://github.com/jacobalberty/unifi-docker
- https://unifi-network.ui.com
type: application
version: 6.11.15
version: 6.12.0
+238
View File
@@ -532,6 +532,244 @@ questions:
type: int
min: 9000
max: 65535
- variable: speedtest
label: "Speedtest Service"
description: "Speedtest Service"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: false
- variable: type
label: "Service Type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: "LoadBalancer"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- value: "LoadBalancer"
description: "LoadBalancer"
- variable: loadBalancerIP
label: "LoadBalancer IP"
description: "LoadBalancerIP"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: list
default: []
items:
- variable: externalIP
label: "External IP"
schema:
type: string
- variable: ports
label: "Service's Port(s) Configuration"
schema:
type: dict
attrs:
- variable: tcp
label: "TCP Service Port Configuration"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable the port"
schema:
type: boolean
default: true
hidden: true
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
enum:
- value: HTTP
description: "HTTP"
- value: "HTTPS"
description: "HTTPS"
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: targetPort
label: "Target Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 6789
editable: false
hidden: true
- variable: port
label: "Container Port"
schema:
type: int
default: 6789
editable: true
required: true
- variable: nodePort
label: "Node Port (Optional)"
description: "This port gets exposed to the node. Only considered when service type is NodePort"
schema:
type: int
min: 9000
max: 65535
- variable: guestportal
label: "Guest Portal Service"
description: "Guest Portal Service"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: false
- variable: type
label: "Service Type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: "LoadBalancer"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- value: "LoadBalancer"
description: "LoadBalancer"
- variable: loadBalancerIP
label: "LoadBalancer IP"
description: "LoadBalancerIP"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: list
default: []
items:
- variable: externalIP
label: "External IP"
schema:
type: string
- variable: ports
label: "Service's Port(s) Configuration"
schema:
type: dict
attrs:
- variable: web
label: "Web Service Port Configuration"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable the port"
schema:
type: boolean
default: true
hidden: true
- variable: protocol
label: "Port Type"
schema:
type: string
default: "HTTP"
enum:
- value: HTTP
description: "HTTP"
- value: "HTTPS"
description: "HTTPS"
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: targetPort
label: "Target Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 8880
editable: false
hidden: true
- variable: port
label: "Container Port"
schema:
type: int
default: 8880
editable: true
required: true
- variable: nodePort
label: "Node Port (Optional)"
description: "This port gets exposed to the node. Only considered when service type is NodePort"
schema:
type: int
min: 9000
max: 65535
- variable: websecure
label: "Secure Web Service Port Configuration"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable the port"
schema:
type: boolean
default: true
hidden: true
- variable: protocol
label: "Port Type"
schema:
type: string
default: "HTTPS"
enum:
- value: HTTP
description: "HTTP"
- value: "HTTPS"
description: "HTTPS"
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: targetPort
label: "Target Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 8843
editable: false
hidden: true
- variable: port
label: "Container Port"
schema:
type: int
default: 8843
editable: true
required: true
- variable: nodePort
label: "Node Port (Optional)"
description: "This port gets exposed to the node. Only considered when service type is NodePort"
schema:
type: int
min: 9000
max: 65535
- variable: serviceList
label: "Additional Services"
+21
View File
@@ -35,6 +35,27 @@ service:
port: 3478
targetPort: 3478
protocol: UDP
speedtest:
enabled: false
ports:
tcp:
enabled: true
port: 6789
targetPort: 6789
protocol: TCP
guestportal:
enabled: false
ports:
web:
enabled: true
port: 8880
targetPort: 8880
protocol: HTTP
websecure:
enabled: true
port: 8843
targetPort: 8843
protocol: HTTPS
env:
# TZ: