aboutsummaryrefslogtreecommitdiff
path: root/kube/aeacus/headscale/deployment.yaml
blob: 4039b469eb01b0d0ae9a8f767ecf2835262b6ea0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
apiVersion: apps/v1
kind: Deployment
metadata:
  name: headscale
  labels:
    app.kubernetes.io/instance: headscale
    app.kubernetes.io/name: headscale
spec:
  revisionHistoryLimit: 3
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app.kubernetes.io/name: headscale
      app.kubernetes.io/instance: headscale
  template:
    metadata:
      labels:
        app.kubernetes.io/name: headscale
        app.kubernetes.io/instance: headscale
    spec:
      serviceAccountName: default
      automountServiceAccountToken: true
      dnsPolicy: ClusterFirst
      enableServiceLinks: true
      containers:
        - name: headscale
          image: ghcr.io/juanfont/headscale:v0.25.1
          imagePullPolicy: Always
          args:
            - serve
            - --config=/etc/headscale/cfg/headscale.yaml
          resources:
            limits:
              cpu: "500m"
              memory: "512Mi"
            requests:
              cpu: "100m"
              memory: "256Mi"
          ports:
            - name: http
              containerPort: 8000
              protocol: TCP
            - name: metrics
              containerPort: 9090
              protocol: TCP
            - name: grpc
              containerPort: 50443
              protocol: TCP
          volumeMounts:
            - name: config
              mountPath: /etc/headscale
            - name: secret
              mountPath: /etc/headscale/cfg
          livenessProbe:
            failureThreshold: 3
            initialDelaySeconds: 0
            periodSeconds: 10
            tcpSocket:
              port: 8000
            timeoutSeconds: 1
          readinessProbe:
            failureThreshold: 3
            initialDelaySeconds: 0
            periodSeconds: 10
            tcpSocket:
              port: 8000
            timeoutSeconds: 1
          startupProbe:
            failureThreshold: 30
            initialDelaySeconds: 0
            periodSeconds: 5
            tcpSocket:
              port: 8000
            timeoutSeconds: 1
      volumes:
        - name: config
          persistentVolumeClaim:
            claimName: headscale-config
        - name: secret
          secret:
            secretName: headscale