blob: 5e96feaaa9bc8610cda4d554f3a8f9a6af87e603 [file] [log] [blame]
DTabidze09935812024-03-13 13:47:39 +04001apiVersion: v1
2kind: Service
3metadata:
4 name: url-shortener
5 namespace: {{ .Release.Namespace }}
6spec:
7 type: ClusterIP
8 selector:
9 app: url-shortener
10 ports:
11 - name: http
12 protocol: TCP
13 port: 80
14 targetPort: {{ .Values.port }}
15---
16apiVersion: networking.k8s.io/v1
17kind: Ingress
18metadata:
19 name: ingress
20 namespace: {{ .Release.Namespace }}
21{{- if .Values.certificateIssuer }}
22 annotations:
23 acme.cert-manager.io/http01-edit-in-place: "true"
24 cert-manager.io/cluster-issuer: {{ .Values.certificateIssuer }}
25{{- end }}
26spec:
27 ingressClassName: {{ .Values.ingressClassName }}
28{{- if .Values.certificateIssuer }}
29 tls:
30 - hosts:
31 - {{ .Values.domain }}
32 secretName: cert-url-shortener
33{{- end }}
34 rules:
35 - host: {{ .Values.domain }}
36 http:
37 paths:
38 - path: /
39 pathType: Prefix
40 backend:
41 service:
42 name: url-shortener
43 port:
44 name: http
45---
46apiVersion: apps/v1
47kind: Deployment
48metadata:
49 name: url-shortener
50 namespace: {{ .Release.Namespace }}
51spec:
52 replicas: 1
53 selector:
54 matchLabels:
55 app: url-shortener
56 template:
57 metadata:
58 labels:
59 app: url-shortener
60 spec:
61 containers:
62 - name: url-shortener
63 image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
64 ports:
65 - name: http
66 containerPort: {{ .Values.port }}
67 protocol: TCP
Giorgi Lekveishvili98fe8192024-03-14 13:27:17 +040068 command:
DTabidze09935812024-03-13 13:47:39 +040069 - url-shortener
70 - --port={{ .Values.port }}
Giorgi Lekveishvili98fe8192024-03-14 13:27:17 +040071 - --db-path=/data/urls.db
DTabidze09935812024-03-13 13:47:39 +040072 volumeMounts:
73 - name: url-shortener
74 mountPath: /data
75 volumes:
76 - name: url-shortener
77 persistentVolumeClaim:
78 claimName: url-shortener