Skip to content

Commit

Permalink
operator gitlab-runner-operator (1.30.0)
Browse files Browse the repository at this point in the history
  • Loading branch information
ggeorgiev-gitlab authored Oct 17, 2024
1 parent 7190766 commit c60b5b3
Show file tree
Hide file tree
Showing 7 changed files with 925 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
creationTimestamp: null
name: runners.apps.gitlab.com
spec:
group: apps.gitlab.com
names:
kind: Runner
listKind: RunnerList
plural: runners
singular: runner
scope: Namespaced
versions:
- name: v1beta2
schema:
openAPIV3Schema:
description: Runner is the open source project used to run your jobs and send
the results back to GitLab
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: Specification of the desired behavior of a GitLab Runner
instance
properties:
azure:
description: |-
options used to setup Azure blob
storage as GitLab Runner Cache
properties:
container:
description: Name of the Azure container in which the cache will
be stored
type: string
credentials:
description: |-
Credentials secret contains 'accountName' and 'privateKey'
used to authenticate against Azure blob storage
type: string
storageDomain:
description: |-
The domain name of the Azure blob storage
e.g. blob.core.windows.net
type: string
type: object
buildImage:
description: |-
The name of the default image to use to run
build jobs, when none is specified
type: string
ca:
description: |-
Name of tls secret containing the custom certificate
authority (CA) certificates
type: string
cachePath:
description: Path defines the Runner Cache path
type: string
cacheShared:
description: Enable sharing of cache between Runners
type: boolean
cacheType:
description: |-
Type of cache used for Runner artifacts
Options are: gcs, s3, azure
type: string
cloneURL:
description: If specified, overrides the default URL used to clone
or fetch the Git ref
type: string
concurrent:
description: |-
Option to limit the number of jobs globally that can run concurrently.
The operator sets this to 10, if not specified
format: int32
type: integer
config:
description: |-
allow user to provide configmap name
containing the user provided config.toml
type: string
env:
description: |-
Accepts configmap name. Provides user mechanism to inject environment
variables in the GitLab Runner pod via the key value pairs in the ConfigMap
type: string
gcs:
description: |-
options used to setup GCS (Google
Container Storage) as GitLab Runner Cache
properties:
bucket:
description: Name of the bucket in which the cache will be stored
type: string
credentials:
description: contains the GCS 'access-id' and 'private-key'
type: string
credentialsFile:
description: Takes GCS credentials file, 'keys.json'
type: string
type: object
gitlabUrl:
description: |-
The fully qualified domain name for the GitLab instance.
For example, https://gitlab.example.com
type: string
helperImage:
description: If specified, overrides the default GitLab Runner helper
image
type: string
imagePullPolicy:
description: |-
ImagePullPolicy sets the Image pull policy.
One of Always, Never, IfNotPresent.
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
type: string
interval:
description: |-
Option to define the number of seconds between checks for new jobs.
This is set to a default of 30s by operator if not set
format: int32
type: integer
locked:
description: Specify whether the runner should be locked to a specific
project. Defaults to false.
type: boolean
namespace:
description: If specified, overrides the namespace where job pods
are created
type: string
podSpec:
items:
description: |-
KubernetesPodSpec represents the structure expected when adding a custom PodSpec to configure
the Pod running the GitLab Runner Manager
properties:
name:
description: Name is the name given to the custom Pod Spec
type: string
patch:
description: |-
A JSON or YAML format string that describes the changes which must be applied
to the final PodSpec object before it is generated.
You cannot set the patch_path and patch in the same pod_spec configuration, otherwise an error occurs.
type: string
patchFile:
description: |-
Path to the file that defines the changes to apply to the final PodSpec object before it is generated.
The file must be a JSON or YAML file.
You cannot set the patch_path and patch in the same pod_spec configuration, otherwise an error occurs.
type: string
patchType:
description: |-
The strategy the runner uses to apply the specified changes to the PodSpec object generated by GitLab Runner.
The accepted values are merge, json, and strategic (default value).
type: string
required:
- name
- patchType
type: object
type: array
protected:
description: Specify whether the runner should only run protected
branches. Defaults to false.
type: boolean
runUntagged:
description: |-
Specify if jobs without tags should be run.
If not specified, runner will default to true if no tags were specified.
In other case it will default to false.
type: boolean
runnerImage:
description: If specified, overrides the default GitLab Runner image.
Default is the Runner image the operator was bundled with.
type: string
s3:
description: |-
options used to setup S3
object store as GitLab Runner Cache
properties:
bucket:
description: Name of the bucket in which the cache will be stored
type: string
credentials:
description: |-
Name of the secret containing the
'accesskey' and 'secretkey' used to access the object storage
type: string
insecure:
description: Use insecure connections or HTTP
type: boolean
location:
description: Name of the S3 region in use
type: string
server:
type: string
type: object
serviceaccount:
description: |-
allow user to override service account
used by GitLab Runner
type: string
tags:
description: |-
List of comma separated tags to be applied to the runner
More info: https://docs.gitlab.com/ee/ci/runners/#use-tags-to-limit-the-number-of-jobs-using-the-runner
type: string
token:
description: Name of secret containing the 'runner-registration-token'
key used to register the runner
type: string
required:
- gitlabUrl
- token
type: object
status:
description: |-
Most recently observed status of the GitLab Runner.
It is read-only to the user
properties:
message:
description: Additional information of GitLab Runner registration
type: string
phase:
description: Reports status of the GitLab Runner instance
type: string
registration:
description: Reports status of GitLab Runner registration
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
creationTimestamp: null
name: gitlab-runner-app-role
rules:
- apiGroups:
- ""
resources:
- secrets
- pods
- services
- services/status
- services/proxy
- services/finalizers
- pods/attach
- pods/exec
- pods/log
- persistentvolumeclaims
- configmaps
verbs:
- create
- get
- list
- watch
- delete
- patch
- update
- apiGroups:
- ""
resources:
- events
verbs:
- get
- list
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
creationTimestamp: null
name: gitlab-runner-app-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: gitlab-runner-app-role
subjects:
- kind: ServiceAccount
name: gitlab-runner-app-sa
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: controller-manager
app.kubernetes.io/name: gitlab-runner-operator
name: gitlab-runner-controller-manager-metrics-service
spec:
ports:
- name: https
port: 8443
targetPort: https
selector:
app.kubernetes.io/name: gitlab-runner-operator
status:
loadBalancer: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
name: gitlab-runner-metrics-reader
rules:
- nonResourceURLs:
- /metrics
verbs:
- get
Loading

0 comments on commit c60b5b3

Please sign in to comment.