/k8s

To get this branch, use:
bzr branch https://code.breezy-vcs.org/k8s
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
apiVersion: batch/v1
kind: CronJob
metadata:
  name: import-code
  labels:
    app.kubernetes.io/instance: breezy-site
spec:
  schedule: "1 * * * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          securityContext:
            runAsUser: 1002
            runAsGroup: 1002
            fsGroup: 1002
          imagePullSecrets:
           - name: ghcr-private
          containers:
            - name: import
              image: ghcr.io/breezy-team/breezy-syncer:latest
              imagePullPolicy: Always
              command: ['/code/import.sh']
              volumeMounts:
                - name: code-volume
                  mountPath: /data
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/id_rsa2
                  subPath: id_rsa2
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/id_rsa2.pub
                  subPath: id_rsa2.pub
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/id_rsa
                  subPath: id_rsa
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/id_rsa.pub
                  subPath: id_rsa.pub
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/config
                  subPath: config
                - name: breezy-conf
                  mountPath: /home/breezybot/.config/breezy
              resources:
                limits:
                  cpu: "4"
                  memory: "256Gi"
                requests:
                  cpu: "1"
                  memory: "4Gi"
              env:
                - name: PUSHGATEWAY
                  value: pushgateway.monitoring:9091
                - name: DATA
                  value: /data
          nodeSelector:
            kubernetes.io/hostname: charis.vpn.jelmer.uk
          restartPolicy: Never
          volumes:
            - name: code-volume
              persistentVolumeClaim:
                claimName: code
            - name: ssh-keys
              secret:
                secretName: syncer-ssh
                defaultMode: 256
                items:
                  - key: id_rsa
                    mode: 256
                    path: id_rsa
                  - key: id_rsa2
                    mode: 256
                    path: id_rsa2
                  - key: id_rsa.pub
                    path: id_rsa.pub
                  - key: id_rsa2.pub
                    path: id_rsa2.pub
                  - key: config
                    path: config
            - name: breezy-conf
              configMap:
                name: breezy-conf
                defaultMode: 256
---
apiVersion: batch/v1
kind: CronJob
metadata:
  name: push-code-github
  namespace: breezy
spec:
  schedule: "40 * * * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          securityContext:
            runAsUser: 1002
            runAsGroup: 1002
            fsGroup: 1002
          imagePullSecrets:
           - name: ghcr-private
          containers:
            - name: sync-github
              image: ghcr.io/breezy-team/breezy-syncer:latest
              imagePullPolicy: Always
              command: ['/code/sync-github.sh']
              volumeMounts:
                - name: code-volume
                  mountPath: /data
                - name: base-volume
                  mountPath: /base
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/id_rsa2
                  subPath: id_rsa2
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/id_rsa2.pub
                  subPath: id_rsa2.pub
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/id_rsa
                  subPath: id_rsa
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/id_rsa.pub
                  subPath: id_rsa.pub
                - name: ssh-keys
                  mountPath: /home/breezybot/.ssh/config
                  subPath: config
                - name: breezy-conf
                  mountPath: /home/breezybot/.config/breezy
              resources:
                limits:
                  cpu: "1"
                  memory: "4Gi"
                requests:
                  cpu: "0.1"
                  memory: "200M"
              env:
                - name: PUSHGATEWAY
                  value: pushgateway.monitoring:9091
                - name: DATA
                  value: /data
                - name: BASE
                  value: /base
          restartPolicy: Never
          volumes:
            - name: code-volume
              hostPath:
                path: /srv/breezybot
                type: Directory
            - name: base-volume
              persistentVolumeClaim:
                claimName: code
            - name: ssh-keys
              secret:
                secretName: syncer-ssh
                defaultMode: 256
                items:
                  - key: id_rsa
                    mode: 256
                    path: id_rsa
                  - key: id_rsa2
                    mode: 256
                    path: id_rsa2
                  - key: id_rsa.pub
                    path: id_rsa.pub
                  - key: id_rsa2.pub
                    path: id_rsa2.pub
                  - key: config
                    path: config
            - name: breezy-conf
              configMap:
                name: breezy-conf
                defaultMode: 256