Schema
This document contains API scheme for jenkins-operator
Custom Resource Definition manifest
Packages:
jenkins.io
Package v1alpha2 contains the API Schema definitions for the jenkins.io v1alpha2 API group
Resource Types:Jenkins
Jenkins is the Schema for the jenkins API
Field | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | jenkins.io/v1alpha2 | ||||||||||||||||
kind string | Jenkins | ||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||||||
spec JenkinsSpec | Spec defines the desired state of the Jenkins
| ||||||||||||||||
status JenkinsStatus | Status defines the observed state of Jenkins |
AppliedGroovyScript
(Appears on: JenkinsStatus)
AppliedGroovyScript is the applied groovy script in Jenkins by the operator
Field | Description |
---|---|
configurationType string | ConfigurationType is the name of the configuration type(base-groovy, user-groovy, user-casc) |
source string | Source is the name of source where is located groovy script |
name string | Name is the name of the groovy script |
Hash string | Hash is the hash of the groovy script and secrets which it uses |
Backup
(Appears on: JenkinsSpec)
Backup defines the configuration of a Jenkins backup
Field | Description |
---|---|
containerName string | ContainerName is the container name responsible for backup operation |
action Handler | Action defines the action which performs the backup in the backup container sidecar |
interval uint64 | Interval tells you how often the backup is made in seconds Defaults to 30. |
makeBackupBeforePodDeletion bool | MakeBackupBeforePodDeletion tells the operator to make a backup before Jenkins master pod deletion |
ConfigMapRef
(Appears on: Customization)
ConfigMapRef is the reference to Kubernetes ConfigMap
Field | Description |
---|---|
name string |
ConfigurationAsCode
(Appears on: JenkinsSpec)
ConfigurationAsCode defines configuration of Jenkins customization via the Configuration as Code Jenkins plugin
Field | Description |
---|---|
Customization Customization |
Container
(Appears on: JenkinsMaster)
Container defines the Kubernetes container attributes
Field | Description |
---|---|
name string | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). |
image string | Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images |
imagePullPolicy Kubernetes core/v1.PullPolicy | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always. |
resources Kubernetes core/v1.ResourceRequirements | Compute Resources required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ |
command []string | (Optional) Entrypoint array. Not executed within a shell. The docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
args []string | (Optional) Arguments to the entrypoint. The docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
workingDir string | (Optional) Container’s working directory. If not specified, the container runtime’s default will be used, which might be configured in the container image. |
ports []Kubernetes core/v1.ContainerPort | (Optional) List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default “0.0.0.0” address inside a container will be accessible from the network. |
envFrom []Kubernetes core/v1.EnvFromSource | (Optional) List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. |
env []Kubernetes core/v1.EnvVar | (Optional) List of environment variables to set in the container. |
volumeMounts []Kubernetes core/v1.VolumeMount | (Optional) Pod volumes to mount into the container’s filesystem. |
livenessProbe Kubernetes core/v1.Probe | (Optional) Periodic probe of container liveness. Container will be restarted if the probe fails. |
readinessProbe Kubernetes core/v1.Probe | (Optional) Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. |
lifecycle Kubernetes core/v1.Lifecycle | (Optional) Actions that the management system should take in response to container lifecycle events. |
securityContext Kubernetes core/v1.SecurityContext | (Optional) Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
Customization
(Appears on: ConfigurationAsCode, GroovyScripts)
Customization defines configuration of Jenkins customization
Field | Description |
---|---|
secret SecretRef | |
configurations [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef |
GroovyScripts
(Appears on: JenkinsSpec)
GroovyScripts defines configuration of Jenkins customization via groovy scripts
Field | Description |
---|---|
Customization Customization |
Handler
Handler defines a specific action that should be taken
Field | Description |
---|---|
exec Kubernetes core/v1.ExecAction | Exec specifies the action to take. |
JenkinsCredentialType
(string
alias)
(Appears on: SeedJob)
JenkinsCredentialType defines the type of Jenkins credential used in the seed job mechanism
JenkinsMaster
(Appears on: JenkinsSpec)
JenkinsMaster defines the Jenkins master pod attributes and plugins, every single change requires a Jenkins master pod restart
Field | Description |
---|---|
masterAnnotations map[string]string | (Optional) Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations |
nodeSelector map[string]string | (Optional) NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node’s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
securityContext Kubernetes core/v1.PodSecurityContext | (Optional) SecurityContext that applies to all the containers of the Jenkins Master. As per kubernetes specification, it can be overridden for each container individually. Defaults to: runAsUser: 1000 fsGroup: 1000 |
containers [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Container | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Defaults to: - image: jenkins/jenkins:lts imagePullPolicy: Always livenessProbe: failureThreshold: 12 httpGet: path: /login port: http scheme: HTTP initialDelaySeconds: 80 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: jenkins-master readinessProbe: failureThreshold: 3 httpGet: path: /login port: http scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 1500m memory: 3Gi requests: cpu: “1” memory: 600Mi |
imagePullSecrets []Kubernetes core/v1.LocalObjectReference | (Optional) ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod |
volumes []Kubernetes core/v1.Volume | (Optional) List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes |
basePlugins [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Plugin | BasePlugins contains plugins required by operator Defaults to : - name: kubernetes version: 1.15.7 - name: workflow-job version: “2.32” - name: workflow-aggregator version: “2.6” - name: git version: 3.10.0 - name: job-dsl version: “1.74” - name: configuration-as-code version: “1.19” - name: kubernetes-credentials-provider version: 0.12.1 |
plugins [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Plugin | (Optional) Plugins contains plugins required by user |
JenkinsSpec
(Appears on: Jenkins)
JenkinsSpec defines the desired state of the Jenkins
Field | Description |
---|---|
master JenkinsMaster | Master represents Jenkins master pod properties and Jenkins plugins. Every single change here requires a pod restart. |
seedJobs [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SeedJob | (Optional) SeedJobs defines list of Jenkins Seed Job configurations More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines |
service Service | (Optional) Service is Kubernetes service of Jenkins master HTTP pod Defaults to : port: 8080 type: ClusterIP |
slaveService Service | (Optional) Service is Kubernetes service of Jenkins slave pods Defaults to : port: 50000 type: ClusterIP |
backup Backup | (Optional) Backup defines configuration of Jenkins backup More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore |
restore Restore | (Optional) Backup defines configuration of Jenkins backup restore More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore |
groovyScripts GroovyScripts | (Optional) GroovyScripts defines configuration of Jenkins customization via groovy scripts |
configurationAsCode ConfigurationAsCode | (Optional) ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin |
JenkinsStatus
(Appears on: Jenkins)
JenkinsStatus defines the observed state of Jenkins
Field | Description |
---|---|
operatorVersion string | (Optional) OperatorVersion is the operator version which manages this CR |
provisionStartTime Kubernetes meta/v1.Time | (Optional) ProvisionStartTime is a time when Jenkins master pod has been created |
baseConfigurationCompletedTime Kubernetes meta/v1.Time | (Optional) BaseConfigurationCompletedTime is a time when Jenkins base configuration phase has been completed |
userConfigurationCompletedTime Kubernetes meta/v1.Time | (Optional) UserConfigurationCompletedTime is a time when Jenkins user configuration phase has been completed |
restoredBackup uint64 | (Optional) RestoredBackup is the restored backup number after Jenkins master pod restart |
lastBackup uint64 | (Optional) LastBackup is the latest backup number |
pendingBackup uint64 | (Optional) PendingBackup is the pending backup number |
backupDoneBeforePodDeletion bool | (Optional) BackupDoneBeforePodDeletion tells if backup before pod deletion has been made |
userAndPasswordHash string | (Optional) UserAndPasswordHash is a SHA256 hash made from the username and password |
createdSeedJobs []string | (Optional) CreatedSeedJobs contains list of seed job ids already created in Jenkins |
appliedGroovyScripts [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript | (Optional) AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator |
Mailgun
(Appears on: Notification)
Mailgun is handler for Mailgun email service notification channel
Field | Description |
---|---|
domain string | |
apiKeySecretKeySelector SecretKeySelector | |
recipient string | |
from string |
MicrosoftTeams
(Appears on: Notification)
MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel
Field | Description |
---|---|
webHookURLSecretKeySelector SecretKeySelector | The web hook URL to MicrosoftTeams App |
Notification
Notification is a service configuration used to send notifications about Jenkins status
Field | Description |
---|---|
loggingLevel NotificationLogLevel | |
verbose bool | |
name string | |
slack github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack | |
teams github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams | |
mailgun github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun |
NotificationLogLevel
(string
alias)
(Appears on: Notification)
NotificationLogLevel defines logging level of Notification
Plugin
(Appears on: JenkinsMaster)
Plugin defines Jenkins plugin
Field | Description |
---|---|
name string | Name is the name of Jenkins plugin |
version string | Version is the version of Jenkins plugin |
Restore
(Appears on: JenkinsSpec)
Restore defines configuration of Jenkins backup restore operation
Field | Description |
---|---|
containerName string | ContainerName is the container name responsible for restore backup operation |
action Handler | Action defines action which performs restore backup in restore container sidecar |
recoveryOnce uint64 | (Optional) RecoveryOnce if want to restore specific backup set this field and then Jenkins will be restarted and desired backup will be restored |
SecretKeySelector
(Appears on: Mailgun, MicrosoftTeams, Slack)
SecretKeySelector selects a key of a Secret.
Field | Description |
---|---|
secret Kubernetes core/v1.LocalObjectReference | The name of the secret in the pod’s namespace to select from. |
key string | The key of the secret to select from. Must be a valid secret key. |
SecretRef
(Appears on: Customization)
SecretRef is reference to Kubernetes secret
Field | Description |
---|---|
name string |
SeedJob
(Appears on: JenkinsSpec)
SeedJob defines configuration for seed job More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines
Field | Description |
---|---|
id string | ID is the unique seed job name |
credentialID string | CredentialID is the Kubernetes secret name which stores repository access credentials |
description string | (Optional) Description is the description of the seed job |
targets string | Targets is the repository path where the seed job definitions are |
repositoryBranch string | RepositoryBranch is the repository branch where the seed job definitions are |
repositoryUrl string | RepositoryURL is the repository access URL. Can be SSH or HTTPS. |
credentialType JenkinsCredentialType | (Optional) JenkinsCredentialType is the https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/ credential type |
githubPushTrigger bool | (Optional) GitHubPushTrigger is used for GitHub web hooks |
buildPeriodically string | (Optional) BuildPeriodically is setting for scheduled trigger |
pollSCM string | (Optional) PollSCM is setting for polling changes in SCM |
ignoreMissingFiles bool | (Optional) IgnoreMissingFiles is setting for Job DSL API plugin to ignore files that miss |
additionalClasspath string | (Optional) AdditionalClasspath is setting for Job DSL API plugin to set Additional Classpath |
failOnMissingPlugin bool | (Optional) FailOnMissingPlugin is setting for Job DSL API plugin that fails job if required plugin is missing |
unstableOnDeprecation bool | (Optional) UnstableOnDeprecation is setting for Job DSL API plugin that sets build status as unstable if build using deprecated features |
Service
(Appears on: JenkinsSpec)
Service defines Kubernetes service attributes
Field | Description |
---|---|
annotations map[string]string | (Optional) Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations |
labels map[string]string | Route service traffic to pods with label keys and values matching this selector. If empty or not present, the service is assumed to have an external process managing its endpoints, which Kubernetes will not modify. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/ |
type Kubernetes core/v1.ServiceType | (Optional) Type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. “ExternalName” maps to the specified externalName. “ClusterIP” allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object. If clusterIP is “None”, no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a stable IP. “NodePort” builds on ClusterIP and allocates a port on every node which routes to the clusterIP. “LoadBalancer” builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services—service-types |
port int32 | The port that is exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
nodePort int32 | (Optional) The port on each node on which this service is exposed when type=NodePort or LoadBalancer. Usually assigned by the system. If specified, it will be allocated to the service if unused, or else creation of the service will fail. Default is to auto-allocate a port if the ServiceType of this Service requires one. More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport |
loadBalancerSourceRanges []string | (Optional) If specified and supported by the platform, this will restrict traffic through the cloud-provider the load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.” More info: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/ |
loadBalancerIP string | (Optional) Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature. |
Slack
(Appears on: Notification)
Slack is handler for Slack notification channel
Field | Description |
---|---|
webHookURLSecretKeySelector SecretKeySelector | The web hook URL to Slack App |
Generated with gen-crd-api-reference-docs
on git commit f4c4235
.