Skip to content

Commit 49dbc77

Browse files
committed
feat: ionscale external service
1 parent 8674ea8 commit 49dbc77

3 files changed

Lines changed: 39 additions & 3 deletions

File tree

dist/chart/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: kodiak
33
description: A Helm chart for Kodiak - Kubernetes operator for ionscale/Tailscale VPN management
44
type: application
5-
version: 0.1.15
6-
appVersion: "0.1.15"
5+
version: 0.1.16
6+
appVersion: "0.1.16"
77
keywords:
88
- kubernetes
99
- operator
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{{- if and .Values.ionscale.enabled .Values.ionscale.externalService.enabled }}
2+
apiVersion: v1
3+
kind: Service
4+
metadata:
5+
name: {{ .Values.ionscale.externalService.name }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "kodiak.ionscale.labels" . | nindent 4 }}
9+
{{- with .Values.ionscale.externalService.annotations }}
10+
annotations:
11+
{{- toYaml . | nindent 4 }}
12+
{{- end }}
13+
spec:
14+
type: LoadBalancer
15+
{{- with .Values.ionscale.externalService.loadBalancerClass }}
16+
loadBalancerClass: {{ . | quote }}
17+
{{- end }}
18+
externalTrafficPolicy: {{ .Values.ionscale.externalService.externalTrafficPolicy }}
19+
selector:
20+
{{- include "kodiak.ionscale.selectorLabels" . | nindent 4 }}
21+
ports:
22+
- name: api
23+
port: {{ .Values.ionscale.externalService.port }}
24+
targetPort: api
25+
protocol: TCP
26+
{{- end }}

dist/chart/values.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ controllerManager:
1010
container:
1111
image:
1212
repository: ghcr.io/mni-cloud/kodiak
13-
tag: "0.1.15"
13+
tag: "0.1.16"
1414
args:
1515
- "--leader-elect"
1616
- "--metrics-bind-address=:8443"
@@ -132,6 +132,16 @@ ionscale:
132132
metricsPort: 9091
133133
stunPort: 3478
134134

135+
# Optional dedicated LoadBalancer Service for the Tailscale control protocol.
136+
# Metrics and STUN remain available only through the internal Service.
137+
externalService:
138+
enabled: false
139+
name: ionscale-control
140+
annotations: {}
141+
loadBalancerClass: ""
142+
externalTrafficPolicy: Local
143+
port: 8080
144+
135145
# =============================================================================
136146
# [RBAC]: Role-Based Access Control
137147
# =============================================================================

0 commit comments

Comments
 (0)