Skip to content

Commit 1800b82

Browse files
operator gitlab-runner-operator (v1.40.0)
Signed-off-by: Georgi N. Georgiev <[email protected]>
1 parent 4a2318a commit 1800b82

7 files changed

+999
-0
lines changed
Lines changed: 327 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,327 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
annotations:
5+
controller-gen.kubebuilder.io/version: v0.14.0
6+
creationTimestamp: null
7+
name: runners.apps.gitlab.com
8+
spec:
9+
group: apps.gitlab.com
10+
names:
11+
kind: Runner
12+
listKind: RunnerList
13+
plural: runners
14+
singular: runner
15+
scope: Namespaced
16+
versions:
17+
- name: v1beta2
18+
schema:
19+
openAPIV3Schema:
20+
description: Runner is the open source project used to run your jobs and send
21+
the results back to GitLab
22+
properties:
23+
apiVersion:
24+
description: |-
25+
APIVersion defines the versioned schema of this representation of an object.
26+
Servers should convert recognized schemas to the latest internal value, and
27+
may reject unrecognized values.
28+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
29+
type: string
30+
kind:
31+
description: |-
32+
Kind is a string value representing the REST resource this object represents.
33+
Servers may infer this from the endpoint the client submits requests to.
34+
Cannot be updated.
35+
In CamelCase.
36+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
37+
type: string
38+
metadata:
39+
type: object
40+
spec:
41+
description: Specification of the desired behavior of a GitLab Runner
42+
instance
43+
properties:
44+
azure:
45+
description: |-
46+
options used to setup Azure blob
47+
storage as GitLab Runner Cache
48+
properties:
49+
container:
50+
description: Name of the Azure container in which the cache will
51+
be stored
52+
type: string
53+
credentials:
54+
description: |-
55+
Credentials secret contains 'accountName' and 'privateKey'
56+
used to authenticate against Azure blob storage
57+
type: string
58+
storageDomain:
59+
description: |-
60+
The domain name of the Azure blob storage
61+
e.g. blob.core.windows.net
62+
type: string
63+
type: object
64+
buildImage:
65+
description: |-
66+
The name of the default image to use to run
67+
build jobs, when none is specified
68+
type: string
69+
ca:
70+
description: |-
71+
Name of tls secret containing the custom certificate
72+
authority (CA) certificates
73+
type: string
74+
cachePath:
75+
description: Path defines the Runner Cache path
76+
type: string
77+
cacheShared:
78+
description: Enable sharing of cache between Runners
79+
type: boolean
80+
cacheType:
81+
description: |-
82+
Type of cache used for Runner artifacts
83+
Options are: gcs, s3, azure
84+
type: string
85+
cloneURL:
86+
description: If specified, overrides the default URL used to clone
87+
or fetch the Git ref
88+
type: string
89+
concurrent:
90+
description: |-
91+
Option to limit the number of jobs globally that can run concurrently.
92+
The operator sets this to 10, if not specified
93+
format: int32
94+
type: integer
95+
config:
96+
description: |-
97+
allow user to provide configmap name
98+
containing the user provided config.toml
99+
type: string
100+
connectionMaxAge:
101+
description: The maximum duration a TLS keepalive connection to the
102+
GitLab server should remain open before reconnecting. The default
103+
value is `15m` for 15 minutes. If set to `0` or lower, the connection
104+
persists as long as possible.
105+
type: string
106+
deploymentSpec:
107+
description: |-
108+
DeploymentSpec manipulates the GitLab Runner Manager's deployment by applying [KubernetesSpecPatch]es to it.
109+
DeploymentSpec patches will be applied before [PodSpec] patches.
110+
items:
111+
description: |-
112+
KubernetesSpecPatch represents the structure expected when adding a custom patches to configure
113+
the GitLab Runner Manager.
114+
properties:
115+
name:
116+
description: Name is the name given to the custom Pod Spec
117+
type: string
118+
patch:
119+
description: |-
120+
A JSON or YAML format string that describes the changes which must be applied
121+
to the final PodSpec object before it is generated.
122+
You cannot set the patch_path and patch in the same pod_spec configuration, otherwise an error occurs.
123+
type: string
124+
patchFile:
125+
description: |-
126+
Path to the file that defines the changes to apply to the final PodSpec object before it is generated.
127+
The file must be a JSON or YAML file.
128+
You cannot set the patch_path and patch in the same pod_spec configuration, otherwise an error occurs.
129+
type: string
130+
patchType:
131+
description: |-
132+
The strategy the runner uses to apply the specified changes to the PodSpec object generated by GitLab Runner.
133+
The accepted values are merge, json, and strategic (default value).
134+
type: string
135+
required:
136+
- name
137+
- patchType
138+
type: object
139+
type: array
140+
env:
141+
description: |-
142+
Accepts configmap name. Provides user mechanism to inject environment
143+
variables in the GitLab Runner pod via the key value pairs in the ConfigMap
144+
type: string
145+
gcs:
146+
description: |-
147+
options used to setup GCS (Google
148+
Container Storage) as GitLab Runner Cache
149+
properties:
150+
bucket:
151+
description: Name of the bucket in which the cache will be stored
152+
type: string
153+
credentials:
154+
description: contains the GCS 'access-id' and 'private-key'
155+
type: string
156+
credentialsFile:
157+
description: Takes GCS credentials file, 'keys.json'
158+
type: string
159+
type: object
160+
gitlabUrl:
161+
description: |-
162+
The fully qualified domain name for the GitLab instance.
163+
For example, https://gitlab.example.com
164+
type: string
165+
helperImage:
166+
description: If specified, overrides the default GitLab Runner helper
167+
image
168+
type: string
169+
imagePullPolicy:
170+
description: |-
171+
ImagePullPolicy sets the Image pull policy.
172+
One of Always, Never, IfNotPresent.
173+
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
174+
More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
175+
type: string
176+
interval:
177+
description: |-
178+
Option to define the number of seconds between checks for new jobs.
179+
This is set to a default of 30s by operator if not set
180+
format: int32
181+
type: integer
182+
listenAddr:
183+
description: Option to set the metrics listen address for the runner.
184+
type: string
185+
locked:
186+
description: Specify whether the runner should be locked to a specific
187+
project. Defaults to false.
188+
type: boolean
189+
logFormat:
190+
description: Specifies the log format. Options are `runner`, `text`,
191+
and `json`. The default value is `runner`, which contains ANSI escape
192+
codes for coloring.
193+
type: string
194+
logLevel:
195+
description: |-
196+
Option to set the log level for the runner.
197+
Valid values are "debug", "info", "warn", "error", "fatal", "panic"
198+
type: string
199+
namespace:
200+
description: If specified, overrides the namespace where job pods
201+
are created
202+
type: string
203+
podSpec:
204+
description: |-
205+
PodSpec manipulates the GitLab Runner Manager's pod by applying [KubernetesSpecPatch]es to it.
206+
PodSpec patches will be applied after [DeploymentSpec] patches.
207+
items:
208+
description: |-
209+
KubernetesSpecPatch represents the structure expected when adding a custom patches to configure
210+
the GitLab Runner Manager.
211+
properties:
212+
name:
213+
description: Name is the name given to the custom Pod Spec
214+
type: string
215+
patch:
216+
description: |-
217+
A JSON or YAML format string that describes the changes which must be applied
218+
to the final PodSpec object before it is generated.
219+
You cannot set the patch_path and patch in the same pod_spec configuration, otherwise an error occurs.
220+
type: string
221+
patchFile:
222+
description: |-
223+
Path to the file that defines the changes to apply to the final PodSpec object before it is generated.
224+
The file must be a JSON or YAML file.
225+
You cannot set the patch_path and patch in the same pod_spec configuration, otherwise an error occurs.
226+
type: string
227+
patchType:
228+
description: |-
229+
The strategy the runner uses to apply the specified changes to the PodSpec object generated by GitLab Runner.
230+
The accepted values are merge, json, and strategic (default value).
231+
type: string
232+
required:
233+
- name
234+
- patchType
235+
type: object
236+
type: array
237+
protected:
238+
description: Specify whether the runner should only run protected
239+
branches. Defaults to false.
240+
type: boolean
241+
runUntagged:
242+
description: |-
243+
Specify if jobs without tags should be run.
244+
If not specified, runner will default to true if no tags were specified.
245+
In other case it will default to false.
246+
type: boolean
247+
runnerImage:
248+
description: If specified, overrides the default GitLab Runner image.
249+
Default is the Runner image the operator was bundled with.
250+
type: string
251+
s3:
252+
description: |-
253+
options used to setup S3
254+
object store as GitLab Runner Cache
255+
properties:
256+
bucket:
257+
description: Name of the bucket in which the cache will be stored
258+
type: string
259+
credentials:
260+
description: |-
261+
Name of the secret containing the
262+
'accesskey' and 'secretkey' used to access the object storage
263+
type: string
264+
insecure:
265+
description: Use insecure connections or HTTP
266+
type: boolean
267+
location:
268+
description: Name of the S3 region in use
269+
type: string
270+
server:
271+
type: string
272+
type: object
273+
sentryDsn:
274+
description: |-
275+
Enables tracking of all system level errors to Sentry.
276+
If not specified, error tracking with Sentry will be disabled.
277+
type: string
278+
serviceaccount:
279+
description: |-
280+
allow user to override service account
281+
used by GitLab Runner
282+
type: string
283+
shutdownTimeout:
284+
description: Number of seconds until the forceful shutdown operation
285+
times out and exits the process. The default value is `30`. If set
286+
to `0` or lower, the default value is used.
287+
format: int32
288+
type: integer
289+
tags:
290+
description: |-
291+
List of comma separated tags to be applied to the runner
292+
More info: https://docs.gitlab.com/ee/ci/runners/#use-tags-to-limit-the-number-of-jobs-using-the-runner
293+
type: string
294+
token:
295+
description: Name of secret containing the 'runner-registration-token'
296+
key used to register the runner
297+
type: string
298+
required:
299+
- gitlabUrl
300+
- token
301+
type: object
302+
status:
303+
description: |-
304+
Most recently observed status of the GitLab Runner.
305+
It is read-only to the user
306+
properties:
307+
message:
308+
description: Additional information of GitLab Runner registration
309+
type: string
310+
phase:
311+
description: Reports status of the GitLab Runner instance
312+
type: string
313+
registration:
314+
description: Reports status of GitLab Runner registration
315+
type: string
316+
type: object
317+
type: object
318+
served: true
319+
storage: true
320+
subresources:
321+
status: {}
322+
status:
323+
acceptedNames:
324+
kind: ""
325+
plural: ""
326+
conditions: null
327+
storedVersions: null
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: gitlab-runner-app-role
6+
rules:
7+
- apiGroups:
8+
- ""
9+
resources:
10+
- secrets
11+
- pods
12+
- services
13+
- services/status
14+
- services/proxy
15+
- services/finalizers
16+
- pods/attach
17+
- pods/exec
18+
- pods/log
19+
- persistentvolumeclaims
20+
- configmaps
21+
verbs:
22+
- create
23+
- get
24+
- list
25+
- watch
26+
- delete
27+
- patch
28+
- update
29+
- apiGroups:
30+
- ""
31+
resources:
32+
- events
33+
verbs:
34+
- get
35+
- list
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: RoleBinding
3+
metadata:
4+
creationTimestamp: null
5+
name: gitlab-runner-app-rolebinding
6+
roleRef:
7+
apiGroup: rbac.authorization.k8s.io
8+
kind: Role
9+
name: gitlab-runner-app-role
10+
subjects:
11+
- kind: ServiceAccount
12+
name: gitlab-runner-app-sa
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
app.kubernetes.io/component: controller-manager
7+
app.kubernetes.io/name: gitlab-runner-operator
8+
name: gitlab-runner-controller-manager-metrics-service
9+
spec:
10+
ports:
11+
- name: https
12+
port: 8443
13+
targetPort: https
14+
selector:
15+
app.kubernetes.io/name: gitlab-runner-operator
16+
status:
17+
loadBalancer: {}

0 commit comments

Comments
 (0)