yyvf22 pushed to branch main at Root / Kubernetes / FluxCD
Commits:
-
dd9a7fd2
by yyvf at 2025-08-04T15:20:26-03:00
8 changed files:
- apps/stage/kustomization.yaml
- + infrastructure/base/gitlab-runner/es.yaml
- + infrastructure/base/gitlab-runner/helmrelease.yaml
- + infrastructure/base/gitlab-runner/helmrepo.yaml
- + infrastructure/base/gitlab-runner/kustomization.yaml
- + infrastructure/base/gitlab-runner/ns.yaml
- + infrastructure/base/gitlab-runner/pvc.yaml
- infrastructure/stage/kustomization.yaml
Changes:
... | ... | @@ -5,7 +5,6 @@ resources: |
5 | 5 | # Apps
|
6 | 6 | - ../base/ademir
|
7 | 7 | - ../base/codimd
|
8 | - - ../base/gitlab-runner
|
|
9 | 8 | - ../base/harbor
|
10 | 9 | - ../base/keycloak
|
11 | 10 | - ../base/matrix
|
1 | +apiVersion: external-secrets.io/v1
|
|
2 | +kind: ExternalSecret
|
|
3 | +metadata:
|
|
4 | + name: gitlab-runner
|
|
5 | + namespace: gitlab-runner
|
|
6 | +spec:
|
|
7 | + refreshInterval: "15s"
|
|
8 | + secretStoreRef:
|
|
9 | + name: openbao
|
|
10 | + kind: ClusterSecretStore
|
|
11 | + target:
|
|
12 | + name: gitlab-runner
|
|
13 | + data:
|
|
14 | + - secretKey: tokenUnprivileged
|
|
15 | + remoteRef:
|
|
16 | + key: gitlab-runner
|
|
17 | + property: tokenUnprivileged
|
|
18 | + - secretKey: tokenPrivilegedRoot
|
|
19 | + remoteRef:
|
|
20 | + key: gitlab-runner
|
|
21 | + property: tokenPrivilegedRoot
|
|
22 | + - secretKey: tokenPrivilegedC3SL
|
|
23 | + remoteRef:
|
|
24 | + key: gitlab-runner
|
|
25 | + property: tokenPrivilegedC3SL |
1 | +apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
|
2 | +kind: HelmRelease
|
|
3 | +metadata:
|
|
4 | + name: unprivileged
|
|
5 | + namespace: gitlab-runner
|
|
6 | +spec:
|
|
7 | + interval: 1m
|
|
8 | + chart:
|
|
9 | + spec:
|
|
10 | + chart: gitlab-runner
|
|
11 | + sourceRef:
|
|
12 | + kind: HelmRepository
|
|
13 | + name: gitlab-runner
|
|
14 | + values:
|
|
15 | + replicas: 1
|
|
16 | + gitlabUrl: https://gitlab.c3sl.ufpr.br
|
|
17 | + rbac:
|
|
18 | + create: true
|
|
19 | + serviceAccount:
|
|
20 | + create: true
|
|
21 | + runners:
|
|
22 | + executor: kubernetes
|
|
23 | + config: |
|
|
24 | + [[runners]]
|
|
25 | + shell = "bash"
|
|
26 | + environment = ["FF_USE_ADVANCED_POD_SPEC_CONFIGURATION=true"]
|
|
27 | + [runners.kubernetes]
|
|
28 | + image = "harbor.c3sl.ufpr.br/root/gitlab-runner-base:latest"
|
|
29 | + ephemeral_storage_limit = "5Gi"
|
|
30 | + helper_ephemeral_storage_limit = "5Gi"
|
|
31 | + service_ephemeral_storage_limit = "5Gi"
|
|
32 | + [[runners.kubernetes.volumes.pvc]]
|
|
33 | + name = "unprivileged-gitlab-runner-cache"
|
|
34 | + mount_path = "/cache"
|
|
35 | + [[runners.kubernetes.pod_spec]]
|
|
36 | + name = "ephemeral-pvc"
|
|
37 | + patch = '''
|
|
38 | + containers:
|
|
39 | + - name: build
|
|
40 | + volumeMounts:
|
|
41 | + - name: builds
|
|
42 | + mountPath: /builds
|
|
43 | + - name: helper
|
|
44 | + volumeMounts:
|
|
45 | + - name: builds
|
|
46 | + mountPath: /builds
|
|
47 | + volumes:
|
|
48 | + - name: builds
|
|
49 | + ephemeral:
|
|
50 | + volumeClaimTemplate:
|
|
51 | + spec:
|
|
52 | + storageClassName: csi-rbd-sc
|
|
53 | + accessModes: [ ReadWriteOnce ]
|
|
54 | + resources:
|
|
55 | + requests:
|
|
56 | + storage: 5Gi
|
|
57 | + '''
|
|
58 | + securityContext:
|
|
59 | + allowPrivilegeEscalation: false
|
|
60 | + readOnlyRootFilesystem: false
|
|
61 | + runAsNonRoot: true
|
|
62 | + privileged: false
|
|
63 | + valuesFrom:
|
|
64 | + - kind: Secret
|
|
65 | + name: gitlab-runner
|
|
66 | + valuesKey: tokenUnprivileged
|
|
67 | + targetPath: runnerToken
|
|
68 | +---
|
|
69 | +apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
|
70 | +kind: HelmRelease
|
|
71 | +metadata:
|
|
72 | + name: privileged-root
|
|
73 | + namespace: gitlab-runner
|
|
74 | +spec:
|
|
75 | + interval: 1m
|
|
76 | + chart:
|
|
77 | + spec:
|
|
78 | + chart: gitlab-runner
|
|
79 | + sourceRef:
|
|
80 | + kind: HelmRepository
|
|
81 | + name: gitlab-runner
|
|
82 | + values:
|
|
83 | + replicas: 1
|
|
84 | + gitlabUrl: https://gitlab.c3sl.ufpr.br
|
|
85 | + rbac:
|
|
86 | + create: true
|
|
87 | + serviceAccount:
|
|
88 | + create: true
|
|
89 | + runners:
|
|
90 | + executor: kubernetes
|
|
91 | + config: |
|
|
92 | + [[runners]]
|
|
93 | + shell = "bash"
|
|
94 | + environment = ["FF_USE_ADVANCED_POD_SPEC_CONFIGURATION=true"]
|
|
95 | + [runners.kubernetes]
|
|
96 | + privileged = true
|
|
97 | + image = "harbor.c3sl.ufpr.br/root/gitlab-runner-base:latest"
|
|
98 | + ephemeral_storage_limit = "5Gi"
|
|
99 | + helper_ephemeral_storage_limit = "5Gi"
|
|
100 | + service_ephemeral_storage_limit = "5Gi"
|
|
101 | + [[runners.kubernetes.volumes.pvc]]
|
|
102 | + name = "privileged-root-gitlab-runner-cache"
|
|
103 | + mount_path = "/cache"
|
|
104 | + [[runners.kubernetes.pod_spec]]
|
|
105 | + name = "ephemeral-pvc"
|
|
106 | + patch = '''
|
|
107 | + containers:
|
|
108 | + - name: build
|
|
109 | + volumeMounts:
|
|
110 | + - name: builds
|
|
111 | + mountPath: /builds
|
|
112 | + - name: helper
|
|
113 | + volumeMounts:
|
|
114 | + - name: builds
|
|
115 | + mountPath: /builds
|
|
116 | + volumes:
|
|
117 | + - name: builds
|
|
118 | + ephemeral:
|
|
119 | + volumeClaimTemplate:
|
|
120 | + spec:
|
|
121 | + storageClassName: csi-rbd-sc
|
|
122 | + accessModes: [ ReadWriteOnce ]
|
|
123 | + resources:
|
|
124 | + requests:
|
|
125 | + storage: 5Gi
|
|
126 | + '''
|
|
127 | + valuesFrom:
|
|
128 | + - kind: Secret
|
|
129 | + name: gitlab-runner
|
|
130 | + valuesKey: tokenPrivilegedRoot
|
|
131 | + targetPath: runnerToken
|
|
132 | +---
|
|
133 | +apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
|
134 | +kind: HelmRelease
|
|
135 | +metadata:
|
|
136 | + name: privileged-c3sl
|
|
137 | + namespace: gitlab-runner
|
|
138 | +spec:
|
|
139 | + interval: 1m
|
|
140 | + chart:
|
|
141 | + spec:
|
|
142 | + chart: gitlab-runner
|
|
143 | + sourceRef:
|
|
144 | + kind: HelmRepository
|
|
145 | + name: gitlab-runner
|
|
146 | + values:
|
|
147 | + replicas: 1
|
|
148 | + gitlabUrl: https://gitlab.c3sl.ufpr.br
|
|
149 | + rbac:
|
|
150 | + create: true
|
|
151 | + serviceAccount:
|
|
152 | + create: true
|
|
153 | + runners:
|
|
154 | + executor: kubernetes
|
|
155 | + config: |
|
|
156 | + [[runners]]
|
|
157 | + shell = "bash"
|
|
158 | + environment = ["FF_USE_ADVANCED_POD_SPEC_CONFIGURATION=true"]
|
|
159 | + [runners.kubernetes]
|
|
160 | + privileged = true
|
|
161 | + image = "harbor.c3sl.ufpr.br/root/gitlab-runner-base:latest"
|
|
162 | + ephemeral_storage_limit = "5Gi"
|
|
163 | + helper_ephemeral_storage_limit = "5Gi"
|
|
164 | + service_ephemeral_storage_limit = "5Gi"
|
|
165 | + [[runners.kubernetes.volumes.pvc]]
|
|
166 | + name = "privileged-c3sl-gitlab-runner-cache"
|
|
167 | + mount_path = "/cache"
|
|
168 | + [[runners.kubernetes.pod_spec]]
|
|
169 | + name = "ephemeral-pvc"
|
|
170 | + patch = '''
|
|
171 | + containers:
|
|
172 | + - name: build
|
|
173 | + volumeMounts:
|
|
174 | + - name: builds
|
|
175 | + mountPath: /builds
|
|
176 | + - name: helper
|
|
177 | + volumeMounts:
|
|
178 | + - name: builds
|
|
179 | + mountPath: /builds
|
|
180 | + volumes:
|
|
181 | + - name: builds
|
|
182 | + ephemeral:
|
|
183 | + volumeClaimTemplate:
|
|
184 | + spec:
|
|
185 | + storageClassName: csi-rbd-sc
|
|
186 | + accessModes: [ ReadWriteOnce ]
|
|
187 | + resources:
|
|
188 | + requests:
|
|
189 | + storage: 5Gi
|
|
190 | + '''
|
|
191 | + valuesFrom:
|
|
192 | + - kind: Secret
|
|
193 | + name: gitlab-runner
|
|
194 | + valuesKey: tokenPrivilegedC3SL
|
|
195 | + targetPath: runnerToken |
1 | +apiVersion: source.toolkit.fluxcd.io/v1
|
|
2 | +kind: HelmRepository
|
|
3 | +metadata:
|
|
4 | + name: gitlab-runner
|
|
5 | + namespace: gitlab-runner
|
|
6 | +spec:
|
|
7 | + interval: 1m0s
|
|
8 | + url: https://charts.gitlab.io |
1 | +apiVersion: kustomize.config.k8s.io/v1beta1
|
|
2 | +kind: Kustomization
|
|
3 | +resources:
|
|
4 | + - ns.yaml
|
|
5 | + - helmrepo.yaml
|
|
6 | + - helmrelease.yaml
|
|
7 | + - es.yaml
|
|
8 | + - pvc.yaml |
1 | +apiVersion: v1
|
|
2 | +kind: Namespace
|
|
3 | +metadata:
|
|
4 | + labels:
|
|
5 | + pod-security.kubernetes.io/enforce: privileged
|
|
6 | + name: gitlab-runner |
1 | +apiVersion: v1
|
|
2 | +kind: PersistentVolumeClaim
|
|
3 | +metadata:
|
|
4 | + name: privileged-root-gitlab-runner-cache
|
|
5 | + namespace: gitlab-runner
|
|
6 | + labels:
|
|
7 | + app: gitlab-runner
|
|
8 | +spec:
|
|
9 | + accessModes:
|
|
10 | + - ReadWriteOnce
|
|
11 | + resources:
|
|
12 | + requests:
|
|
13 | + storage: 20Gi
|
|
14 | +---
|
|
15 | +apiVersion: v1
|
|
16 | +kind: PersistentVolumeClaim
|
|
17 | +metadata:
|
|
18 | + name: privileged-c3sl-gitlab-runner-cache
|
|
19 | + namespace: gitlab-runner
|
|
20 | + labels:
|
|
21 | + app: gitlab-runner
|
|
22 | +spec:
|
|
23 | + accessModes:
|
|
24 | + - ReadWriteOnce
|
|
25 | + resources:
|
|
26 | + requests:
|
|
27 | + storage: 20Gi
|
|
28 | +---
|
|
29 | +apiVersion: v1
|
|
30 | +kind: PersistentVolumeClaim
|
|
31 | +metadata:
|
|
32 | + name: unprivileged-gitlab-runner-cache
|
|
33 | + namespace: gitlab-runner
|
|
34 | + labels:
|
|
35 | + app: gitlab-runner
|
|
36 | +spec:
|
|
37 | + accessModes:
|
|
38 | + - ReadWriteOnce
|
|
39 | + resources:
|
|
40 | + requests:
|
|
41 | + storage: 20Gi |
... | ... | @@ -2,8 +2,9 @@ apiVersion: kustomize.config.k8s.io/v1beta1 |
2 | 2 | kind: Kustomization
|
3 | 3 | resources:
|
4 | 4 | - ../base/cilium
|
5 | + - ./ippool.yaml
|
|
5 | 6 | - ../base/ceph-csi
|
6 | 7 | - ../base/cert-manager
|
7 | 8 | - ../base/external-secrets
|
9 | + - ../base/gitlab-runner
|
|
8 | 10 | - ../base/etcd-backup |
9 | - - ./ippool.yaml |