Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

operator gitlab-runner-operator (1.18.0) #3322

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: gitlab-runner-system/gitlab-runner-serving-cert
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: runners.apps.gitlab.com
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
caBundle: Cg==
service:
name: gitlab-runner-webhook-service
namespace: gitlab-runner-system
path: /convert
port: 443
conversionReviewVersions:
- v1
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
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: []
storedVersions: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
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-sa
namespace: gitlab-runner-system
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: controller-manager
app.kubernetes.io/managed-by: olm
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,13 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
creationTimestamp: null
name: gitlab-runner-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: manager-role
subjects:
- kind: ServiceAccount
name: default
namespace: gitlab-runner-system
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