blob: 587cda04cd2f786f12d0a516971ff4d6d892b399 [file] [log] [blame]
giolekvab64297c2021-12-13 14:36:32 +04001apiVersion: v1
2kind: Service
3metadata:
4 name: nebula-api
5 namespace: {{ .Release.Namespace }}
6spec:
7 type: LoadBalancer
8 selector:
9 app: nebula-api
10 ports:
11 - name: http
12 port: 80
13 targetPort: http
14 protocol: TCP
15---
16apiVersion: apps/v1
17kind: Deployment
18metadata:
19 name: nebula-api
20 namespace: {{ .Release.Namespace }}
21spec:
22 selector:
23 matchLabels:
24 app: nebula-api
25 replicas: 1
26 template:
27 metadata:
28 labels:
29 app: nebula-api
30 spec:
31 containers:
32 - name: api
33 image: {{ .Values.api.image.repository }}:{{ .Values.api.image.tag }}
34 imagePullPolicy: {{ .Values.api.image.pullPolicy }}
35 ports:
36 - name: http
37 containerPort: 8080
38 protocol: TCP
39 command:
40 - nebula-api
41 - --port=8080
42 - --namespace={{ .Release.Namespace }}
43 - --ca-secret-name={{ .Values.certificateAuthority.secretName }}
44 resources:
45 requests:
46 memory: "10Mi"
47 cpu: "10m"
48 limits:
49 memory: "20Mi"
50 cpu: "100m"
51 tolerations:
52 - key: "pcloud"
53 operator: "Equal"
54 value: "role"
55 effect: "NoSchedule"
56---
57apiVersion: networking.k8s.io/v1
58kind: Ingress
59metadata:
60 name: ingress
61 namespace: {{ .Release.Namespace }}
62spec:
63 ingressClassName: {{ .Values.ingressClassName }}
64 tls:
65 - hosts:
66 - vpn.{{ .Values.domain }}
67 secretName: cert-vpn.{{ .Values.domain }}
68 rules:
69 - host: vpn.{{ .Values.domain }}
70 http:
71 paths:
72 - path: /
73 pathType: Prefix
74 backend:
75 service:
76 name: nebula-api
77 port:
78 name: http
79---
80apiVersion: cert-manager.io/v1
81kind: Certificate
82metadata:
83 name: vpn.{{ .Values.domain }}
84 namespace: {{ .Release.Namespace }}
85 annotations:
86 helm.sh/resource-policy: keep
87spec:
88 dnsNames:
89 - 'vpn.{{ .Values.domain }}'
90 issuerRef:
91 name: {{ .Values.certificateIssuer }}
92 kind: ClusterIssuer
93 secretName: cert-vpn.{{ .Values.domain }}