Schema

Packages:

operator-service.com/v1beta1

Package v1beta1 contains API Schema definitions for the operator-service.com v1beta1 API group

Resource Types:

    AgentAvailability (string alias)

    AgentAvailability defines when the agent is started and stopped

    AgentLaunchMethod (string alias)

    (Appears on: AgentProperties)

    AgentLaunchMethod indicates how agent is being started

    AgentProperties

    (Appears on: JenkinsKubernetesAgentSpec)

    AgentProperties defines the properties for Jenkins node agent

    FieldDescription
    description
    string

    Description of Jenkins Agent

    executors
    int

    Executors defines the maximum number of concurrent builds that Jenkins may perform on this node.

    remoteRootDirectory
    string

    RemoteRootDirectory is directory dedicated to Jenkins for temporary files storage purposes.

    usage
    AgentUsage

    Usage controls how Jenkins schedules builds on this node. Available usage options are defined by AgentUsage enum

    launchMethod
    AgentLaunchMethod

    LaunchMethod controls how Jenkins starts this agent. AgentLaunchMethod is enum that defines the available launch methods

    disableWorkDir
    bool

    DisableWorkDir allows disabling Remoting Work Directory for the agent.

    customWorkDirPath
    string

    CustomWorkDirPath is a custom Remoting work directory will be used instead of the Agent Root Directory

    internalDataDirectory
    string

    InternalDataDirectory defines a storage directory for the internal data By default it’s “remoting”

    failIfWorkplaceIsMissing
    bool

    FailIfWorkspaceIsMissing if true, remoting will fail at startup if the target work directory is missing

    useWebSocket
    bool

    UseWebSocket uses websocket to connect to the Jenkins Controller rather than the TCP port

    tunnelConnectionThrough
    string

    TunnelConnectionThrough allows to route connection to another host Field allowed values: “HOST:PORT”, “:PORT” and “HOST:”

    jvmOptions
    string

    JVMOptions are additional startup arguments for Java Virtual Machine which runs agent

    availability
    string

    Availability controls when Jenkins starts and stops this agent.

    toolLocations
    []ToolLocation

    ToolLocations is list of tools location

    AgentReference

    (Appears on: JenkinsSeedJobSpec)

    AgentReference represents a Jenkins Kubernetes Agent Reference. It has enough information to retrieve agent in any namespace

    FieldDescription
    name
    string

    Name is unique within a namespace to reference a secret resource.

    namespace
    string

    Namespace defines the space within which the secret name must be unique.

    AgentUsage (string alias)

    (Appears on: AgentProperties)

    AgentUsage indicates how builds are being scheduled on this node

    AmazonS3Provider

    (Appears on: BackupStorageProviders)

    AmazonS3Provider is storage provider for Amazon Web Services cloud

    AuthenticationConfigType (string alias)

    (Appears on: JenkinsAuthenticationSpec)

    AuthenticationConfigType indicates which authentication provider is set

    AuthorizationConfigType (string alias)

    (Appears on: JenkinsAuthorizationSpec)

    AuthorizationConfigType indicates which authorization provider is set

    AuthorizationStrategy (string alias)

    (Appears on: JenkinsSpec)

    AuthorizationStrategy defines authorization strategy of the operator for the Jenkins API

    AzureFilesProvider

    (Appears on: BackupStorageProviders)

    AzureFilesProvider is Microsoft Azure storage provider

    FieldDescription
    connectionStringSecretKeySelector
    SecretKeySelector

    ConnectionStringSecretKeySelector is selector for Azure Storage Account connection string secret

    BackupData

    (Appears on: JenkinsBackupConfigSpec)

    BackupData configures which data will be included in backup

    FieldDescription
    jobs
    bool

    Jobs backup enable/disable toggle

    artifacts
    bool

    Artifacts backup enable/disable toggle

    buildHistory
    bool

    Artifacts backup enable/disable toggle

    BackupStorageProviders

    BackupStorageProviders contains the major cloud providers configuration

    FieldDescription
    persistentVolumeClaim
    PersistentVolumeClaimProvider

    PersistentVolumeClaim is default vanilla Kubernetes storage provider

    azureFiles
    AzureFilesProvider

    AzureFiles is Microsoft Azure storage provider

    amazonS3
    AmazonS3Provider

    AmazonS3 is storage provider for Amazon Web Services cloud

    gcpStorage
    GoogleCloudStorageProvider

    GoogleCloudStorage is storage provider used in Google Cloud Platform

    BackupTrigger

    (Appears on: JenkinsBackupConfigSpec)

    BackupTrigger defines the conditions when the backup is being created

    FieldDescription
    cronSchedule
    string

    CronSchedule is cron format schedule

    BuildSettings

    (Appears on: JenkinsSeedJobSpec)

    BuildSettings configures the job build options

    FieldDescription
    ignoreMissingFiles
    bool
    (Optional)

    IgnoreMissingFiles is setting for Job DSL API plugin to ignore files that are missing

    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

    ConditionReason (string alias)

    ConditionReason is the reason for the condition’s last transition

    ConditionType (string alias)

    (Appears on: ResourceCondition)

    ConditionType is the type of the condition.

    CredentialType (string alias)

    (Appears on: Repository)

    CredentialType defines type of Jenkins credential used to seed job mechanism.

    GitHubOAuthAuthenticationConfig

    (Appears on: JenkinsAuthenticationSpec)

    FieldDescription
    clientID
    string

    ClientID is the client ID you received from GitHub for your OAuth App.

    clientSecretRef
    Kubernetes core/v1.SecretReference

    ClientSecretRef is a secret reference which lets you safely pass the client secret to Authentication Spec. It has to contain the “clientSecret” key with value of the client secret from GitHub for your OAuth App.

    webUri
    string
    (Optional)

    WebURI used if you are using GitHub Enterprise. The URL to the web UI root of your GitHub installation. The ‘https://’ or ‘http://’ part needs to be specified. There should not be any trailing slash (/). By default set to ‘https://github.com’.

    apiUri
    string
    (Optional)

    APIURI used if you are using GitHub Enterprise. The URI to the API root of your GitHub installation. The ‘https://’ or ‘http://’ part needs to be specified. There should not be any trailing slash (/). By default set to ‘https://api.github.com’.

    scopes
    []string
    (Optional)

    Scopes let you specify exactly what your app is requesting access to. Scopes limit access for OAuth tokens. They do not grant any additional permission beyond that which the user already has. By default these are set to “read:org,user:email”

    GoogleCloudStorageProvider

    (Appears on: BackupStorageProviders)

    GoogleCloudStorageProvider is storage provider for Amazon Web Services cloud

    GoogleOAuthAuthenticationConfig

    (Appears on: JenkinsAuthenticationSpec)

    FieldDescription
    clientID
    string

    ClientID is the client ID you from Google OAuth credentials.

    clientSecretRef
    Kubernetes core/v1.SecretReference

    ClientSecretRef is a secret reference which lets you safely pass the client secret to Authentication Spec. It has to contain the “clientSecret” key with value of the client secret from Google OAuth credentials.

    domain
    string
    (Optional)

    Domain is the public domain of your Jenkins instance. Leave empty for localhost.

    Jenkins

    Jenkins is the Schema for the jenkins API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsSpec


    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
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

    podLabels
    map[string]string
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. Allows to add custom labels to Jenkins Controller Pod More info: http://kubernetes.io/docs/user-guide/labels

    podSpec
    Kubernetes core/v1.PodSpec
    (Optional)

    PodSpec allows to set Jenkins Kubernetes specific pod properties

    pvcSettings
    PVCOptions
    (Optional)

    HomePVC allows to set PersistentVolumeClaim properties for Jenkins home

    roles
    []Kubernetes rbac/v1.RoleRef
    (Optional)

    Roles defines list of extra RBAC roles for the Jenkins Controller pod service account

    plugins
    []Plugin
    (Optional)

    Plugins contains plugins required by user Can be overridden Defaults plugins: - name: kubernetes version: 1.25.2 - name: workflow-job version: “2.39” - name: workflow-aggregator version: “2.6” - name: git version: 4.2.2 - name: job-dsl version: “1.77” - name: configuration-as-code version: “1.38” - name: kubernetes-credentials-provider version: 0.13

    pluginsCache
    PVCOptions
    (Optional)

    PluginsCache allows to set plugins cache specific pvc properties

    services
    Services
    (Optional)

    Services allows to configure Jenkins services

    disableCSRFProtection
    bool

    DisableCSRFProtection allows you to toggle CSRF Protection on Jenkins

    authorizationStrategy
    AuthorizationStrategy
    status
    JenkinsStatus

    JenkinsAuthentication

    JenkinsAuthentication is the Schema for the JenkinsAuthentications API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsAuthenticationSpec


    type
    AuthenticationConfigType

    Type indicates which authentication provider is set

    githubOAuth
    GitHubOAuthAuthenticationConfig
    (Optional)

    GithubOAuth is configuration for GitHub OAuth provider

    googleOAuth
    GoogleOAuthAuthenticationConfig
    (Optional)

    GoogleOAuth is configuration for Google OAuth provider

    openIDConnectAuth
    OpenIDConnectAuthenticationConfig
    (Optional)

    OpenIDConnectAuth is configuration for OpenIDConnect protocol

    status
    JenkinsAuthenticationStatus

    JenkinsAuthenticationSpec

    (Appears on: JenkinsAuthentication)

    JenkinsAuthenticationSpec defines the desired state of JenkinsAuthentication. It’s used only for authentication purposes, to check if user with provided credentials exists. For granular access properties, look at JenkinsAuthorization CRD.

    FieldDescription
    type
    AuthenticationConfigType

    Type indicates which authentication provider is set

    githubOAuth
    GitHubOAuthAuthenticationConfig
    (Optional)

    GithubOAuth is configuration for GitHub OAuth provider

    googleOAuth
    GoogleOAuthAuthenticationConfig
    (Optional)

    GoogleOAuth is configuration for Google OAuth provider

    openIDConnectAuth
    OpenIDConnectAuthenticationConfig
    (Optional)

    OpenIDConnectAuth is configuration for OpenIDConnect protocol

    JenkinsAuthenticationStatus

    (Appears on: JenkinsAuthentication)

    JenkinsAuthenticationStatus defines the observed state of JenkinsAuthentication

    FieldDescription
    operatorVersion
    string
    (Optional)

    OperatorVersion is the operator version which manages this CR

    conditions
    []ResourceCondition

    Conditions contains JenkinsAuthentication statuses

    hash
    string

    Hash contains hash computed when running this script

    JenkinsAuthorization

    JenkinsAuthorization is the Schema for the JenkinsAuthorization API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsAuthorizationSpec


    type
    AuthorizationConfigType

    Type indicates which authorization provider is set

    matrix
    MatrixConfig

    Matrix is matrix-based authorization configuration NOTE: It requires additional plugin

    roleBased
    RoleBasedConfig

    RoleBased is role-based authorization configuration NOTE: It requires additional plugin

    status
    JenkinsAuthorizationStatus

    JenkinsAuthorizationSpec

    (Appears on: JenkinsAuthorization)

    JenkinsAuthorizationSpec defines the desired state of JenkinsAuthorization. It configures the granular access for users.

    FieldDescription
    type
    AuthorizationConfigType

    Type indicates which authorization provider is set

    matrix
    MatrixConfig

    Matrix is matrix-based authorization configuration NOTE: It requires additional plugin

    roleBased
    RoleBasedConfig

    RoleBased is role-based authorization configuration NOTE: It requires additional plugin

    JenkinsAuthorizationStatus

    (Appears on: JenkinsAuthorization)

    JenkinsAuthorizationStatus defines the observed state of JenkinsAuthorization

    FieldDescription
    conditions
    []ResourceCondition

    Conditions contains JenkinsAuthorization statuses

    hash
    string

    Hash contains hash computed when running this script

    JenkinsBackupConfig

    JenkinsBackupConfig is the Schema for the jenkinsbackupconfigs API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsBackupConfigSpec


    retention
    int

    Retention defines how much backups are being stored at the same time

    data
    BackupData

    Data configures which data will be included in backup

    trigger
    BackupTrigger

    Trigger defines the conditions when the backup is being created

    status
    JenkinsBackupConfigStatus

    JenkinsBackupConfigSpec

    (Appears on: JenkinsBackupConfig)

    JenkinsBackupConfigSpec defines the desired state of JenkinsBackupConfig. Using this CRD, the backup retention, data, trigger and providers can be set.

    FieldDescription
    retention
    int

    Retention defines how much backups are being stored at the same time

    data
    BackupData

    Data configures which data will be included in backup

    trigger
    BackupTrigger

    Trigger defines the conditions when the backup is being created

    JenkinsBackupConfigStatus

    (Appears on: JenkinsBackupConfig)

    JenkinsBackupConfigStatus defines the observed state of JenkinsBackupConfig

    FieldDescription
    operatorVersion
    string
    (Optional)

    OperatorVersion is the operator version which manages this CR

    conditions
    []ResourceCondition

    Conditions contains JenkinsBackupConfig statuses

    JenkinsConfigurationAsCode

    JenkinsConfigurationAsCode is the Schema for the jenkinsconfigurationascodes API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsConfigurationAsCodeSpec


    data
    string

    Data is inline configuration as code script

    secretRef
    Kubernetes core/v1.SecretReference

    SecretRef is secret reference which allows to inject the secrets into CASC code

    status
    JenkinsConfigurationAsCodeStatus

    JenkinsConfigurationAsCodeSpec

    (Appears on: JenkinsConfigurationAsCode)

    JenkinsConfigurationAsCodeSpec defines the desired state of JenkinsConfigurationAsCode. It allows to write CASC to modify the Jenkins.

    FieldDescription
    data
    string

    Data is inline configuration as code script

    secretRef
    Kubernetes core/v1.SecretReference

    SecretRef is secret reference which allows to inject the secrets into CASC code

    JenkinsConfigurationAsCodeStatus

    (Appears on: JenkinsConfigurationAsCode)

    JenkinsConfigurationAsCodeStatus defines the observed state of JenkinsConfigurationAsCode

    FieldDescription
    conditions
    []ResourceCondition

    Conditions contains JenkinsConfigurationAsCode statuses

    hash
    string

    Hash contains hash computed when running this CASC code

    JenkinsGroovyScript

    JenkinsGroovyScript is the Schema for the jenkinsgroovyscripts API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsGroovyScriptSpec


    data
    string

    Data is inline Groovy script

    secretRef
    Kubernetes core/v1.SecretReference

    SecretRef is secret reference which allows to inject the secrets into Groovy script code

    dependsOn
    JenkinsGroovyScriptRef

    DependsOn is JenkinsGroovyScript reference which determines the order of the Groovy scripts

    status
    JenkinsGroovyScriptStatus

    JenkinsGroovyScriptRef

    (Appears on: JenkinsGroovyScriptSpec)

    JenkinsGroovyScriptRef defines dependency with another JenkinsGroovyScript

    FieldDescription
    name
    string

    Name of the script being referenced

    namespace
    string

    Namespace of referenced JenkinsGroovyScript

    JenkinsGroovyScriptSpec

    (Appears on: JenkinsGroovyScript)

    JenkinsGroovyScriptSpec defines the desired state of JenkinsGroovyScript. It allows to write Groovy Scripts to modify the Jenkins.

    FieldDescription
    data
    string

    Data is inline Groovy script

    secretRef
    Kubernetes core/v1.SecretReference

    SecretRef is secret reference which allows to inject the secrets into Groovy script code

    dependsOn
    JenkinsGroovyScriptRef

    DependsOn is JenkinsGroovyScript reference which determines the order of the Groovy scripts

    JenkinsGroovyScriptStatus

    (Appears on: JenkinsGroovyScript)

    JenkinsGroovyScriptStatus defines the observed state of JenkinsGroovyScript

    FieldDescription
    operatorVersion
    string
    (Optional)

    OperatorVersion is the operator version which manages this CR

    conditions
    []ResourceCondition

    Conditions contains JenkinsAuthentication statuses

    hash
    string

    Hash contains hash computed when running this script

    JenkinsKubernetesAgent

    JenkinsKubernetesAgent is the Schema for the JenkinsKubernetesAgents API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsKubernetesAgentSpec


    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
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

    properties
    AgentProperties

    Properties configures the Jenkins agent

    podSpec
    Kubernetes core/v1.PodSpec
    (Optional)

    PodSpec allows to set Jenkins Kubernetes Agent specific pod properties

    roles
    []Kubernetes rbac/v1.RoleRef
    (Optional)

    Roles defines list of extra RBAC roles for the Jenkins Kubernetes Agent pod service account

    status
    JenkinsKubernetesAgentStatus

    JenkinsKubernetesAgentSpec

    (Appears on: JenkinsKubernetesAgent)

    JenkinsKubernetesAgentSpec defines the desired state of Jenkins Agent. It’s used as remote agent, running in separate pod, which connects to Jenkins Controller.

    FieldDescription
    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
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

    properties
    AgentProperties

    Properties configures the Jenkins agent

    podSpec
    Kubernetes core/v1.PodSpec
    (Optional)

    PodSpec allows to set Jenkins Kubernetes Agent specific pod properties

    roles
    []Kubernetes rbac/v1.RoleRef
    (Optional)

    Roles defines list of extra RBAC roles for the Jenkins Kubernetes Agent pod service account

    JenkinsKubernetesAgentStatus

    (Appears on: JenkinsKubernetesAgent)

    JenkinsKubernetesAgentStatus defines the observed state of JenkinsKubernetesAgent

    FieldDescription
    provisionStartTime
    Kubernetes meta/v1.Time
    (Optional)

    ProvisionStartTime is a time when Jenkins agent pod has been created

    conditions
    []ResourceCondition

    Conditions contains JenkinsKubernetesAgent statuses

    JenkinsNotification

    JenkinsNotification is a service configuration used to send notifications about Jenkins configuration status. Docs: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsNotificationSpec


    level
    NotificationLevel
    verbose
    bool
    name
    string
    slack
    Slack
    teams
    MicrosoftTeams
    mailgun
    Mailgun
    smtp
    SMTP
    status
    JenkinsNotificationStatus

    JenkinsNotificationSpec

    (Appears on: JenkinsNotification)

    JenkinsNotificationSpec is a service configuration used to send notifications about Jenkins configuration status. Docs: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/

    FieldDescription
    level
    NotificationLevel
    verbose
    bool
    name
    string
    slack
    Slack
    teams
    MicrosoftTeams
    mailgun
    Mailgun
    smtp
    SMTP

    JenkinsNotificationStatus

    (Appears on: JenkinsNotification)

    JenkinsNotificationStatus defines the observed state of JenkinsNotification

    FieldDescription
    operatorVersion
    string
    (Optional)

    OperatorVersion is the operator version which manages this CR

    conditions
    []ResourceCondition

    Conditions contains JenkinsNotification statuses

    JenkinsSeedJob

    JenkinsSeedJob is the Schema for the jenkinsseedjobs API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    JenkinsSeedJobSpec


    description
    string
    (Optional)

    Description is the description of the seed job

    repository
    Repository

    Repository is the place where seed job definitions are defined

    triggers
    Triggers
    (Optional)

    Triggers are used for Git servers web hooks

    agentRef
    AgentReference
    (Optional)

    AgentRef is reference to agent

    settings
    BuildSettings
    (Optional)

    Settings configures the Git specific properties

    status
    JenkinsSeedJobStatus

    JenkinsSeedJobSpec

    (Appears on: JenkinsSeedJob)

    JenkinsSeedJobSpec defines the desired state of JenkinsSeedJob. It allows to create Seed Jobs which are executed on Jenkins startup.

    FieldDescription
    description
    string
    (Optional)

    Description is the description of the seed job

    repository
    Repository

    Repository is the place where seed job definitions are defined

    triggers
    Triggers
    (Optional)

    Triggers are used for Git servers web hooks

    agentRef
    AgentReference
    (Optional)

    AgentRef is reference to agent

    settings
    BuildSettings
    (Optional)

    Settings configures the Git specific properties

    JenkinsSeedJobStatus

    (Appears on: JenkinsSeedJob)

    JenkinsSeedJobStatus defines the observed state of JenkinsSeedJob

    FieldDescription
    operatorVersion
    string
    (Optional)

    OperatorVersion is the operator version which manages this CR

    conditions
    []ResourceCondition

    Conditions contains JenkinsSeedJob statuses

    hash
    string

    Hash contains hash computed when running this script

    JenkinsSpec

    (Appears on: Jenkins)

    JenkinsSpec defines the desired state of Jenkins. It’s used for Jenkins Controller and Kubernetes pod configuration

    FieldDescription
    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
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

    podLabels
    map[string]string
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. Allows to add custom labels to Jenkins Controller Pod More info: http://kubernetes.io/docs/user-guide/labels

    podSpec
    Kubernetes core/v1.PodSpec
    (Optional)

    PodSpec allows to set Jenkins Kubernetes specific pod properties

    pvcSettings
    PVCOptions
    (Optional)

    HomePVC allows to set PersistentVolumeClaim properties for Jenkins home

    roles
    []Kubernetes rbac/v1.RoleRef
    (Optional)

    Roles defines list of extra RBAC roles for the Jenkins Controller pod service account

    plugins
    []Plugin
    (Optional)

    Plugins contains plugins required by user Can be overridden Defaults plugins: - name: kubernetes version: 1.25.2 - name: workflow-job version: “2.39” - name: workflow-aggregator version: “2.6” - name: git version: 4.2.2 - name: job-dsl version: “1.77” - name: configuration-as-code version: “1.38” - name: kubernetes-credentials-provider version: 0.13

    pluginsCache
    PVCOptions
    (Optional)

    PluginsCache allows to set plugins cache specific pvc properties

    services
    Services
    (Optional)

    Services allows to configure Jenkins services

    disableCSRFProtection
    bool

    DisableCSRFProtection allows you to toggle CSRF Protection on Jenkins

    authorizationStrategy
    AuthorizationStrategy

    JenkinsStatus

    (Appears on: Jenkins)

    JenkinsStatus defines the observed state of Jenkins

    FieldDescription
    operatorVersion
    string
    (Optional)

    OperatorVersion is the operator version which manages this CR

    provisionStartTime
    Kubernetes meta/v1.Time
    (Optional)

    ProvisionStartTime is a time when Jenkins Controller pod has been created

    baseGroovyScriptsAppliedTime
    Kubernetes meta/v1.Time
    (Optional)

    BaseGroovyScriptsAppliedTime is a time when base groovy scripts were applied

    userAndPasswordHash
    string
    (Optional)

    UserAndPasswordHash is a SHA256 hash made from user and password

    conditions
    []ResourceCondition

    Conditions contains Jenkins statuses

    Mailgun

    (Appears on: JenkinsNotificationSpec)

    Mailgun is handler for Mailgun email service notification channel.

    FieldDescription
    domain
    string
    apiKeySecretKeySelector
    SecretKeySelector
    recipient
    string
    from
    string

    MatrixConfig

    (Appears on: JenkinsAuthorizationSpec)

    MatrixConfig contains users with permissions

    FieldDescription
    users
    []User

    Users is list of the users with permissions

    MicrosoftTeams

    (Appears on: JenkinsNotificationSpec)

    MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel.

    FieldDescription
    webHookURLSecretKeySelector
    SecretKeySelector

    The web hook URL to MicrosoftTeams App

    NotificationLevel (string alias)

    (Appears on: JenkinsNotificationSpec)

    NotificationLevel defines the level of a Notification.

    OpenIDConnectAuthenticationConfig

    (Appears on: JenkinsAuthenticationSpec)

    FieldDescription
    clientID
    string

    ClientID is the client ID you received from your identity provider.

    clientSecretRef
    Kubernetes core/v1.SecretReference

    ClientSecretRef is a secret reference which lets you safely pass the client secret to Authentication Spec. It has to contain the “clientSecret” key with value of the client secret from OpenID Connect credentials.

    autoManualConfigure
    string

    AutoManualConfigure specifies configuration mode. This can be either auto or manual. If set to auto, WellKnownOpenIDConfigurationURL will be required and configuration will be fetched from the well-known configuration endpoint. If set to false, TokenServerURL, AuthorizationServerURL will be required.

    wellKnownOpenIDConfigurationURL
    string
    (Optional)

    WellKnownOpenIDConfigurationURL is an endpoint with well-known configuration endpoint, where your OpenID server publishes its metadata. Required when AutoManualConfigure is set to auto.

    tokenServerURL
    string
    (Optional)

    Required when AutoManualConfigure is set to “manual”.

    authorizationServerURL
    string
    (Optional)

    Required when AutoManualConfigure is set to “manual”.

    userInfoServerURL
    string
    (Optional)
    userNameField
    string
    (Optional)
    tokenFieldToCheckKey
    string
    (Optional)
    tokenFieldToCheckValue
    string
    (Optional)
    fullNameFieldName
    string
    (Optional)
    emailFieldName
    string
    (Optional)
    scopes
    string
    (Optional)
    groupsFieldName
    string
    (Optional)
    disableSSLVerification
    bool
    (Optional)
    logoutFromOpenIDProvider
    bool
    (Optional)
    endSessionEndpoint
    string
    (Optional)

    Required when LogoutFromOpenIDProvider is set to true.

    postLogoutRedirectURL
    string
    (Optional)
    escapeHatchEnabled
    bool
    (Optional)
    escapeHatchUsername
    string
    (Optional)

    Required when EscapeHatchEnabled is set to true.

    escapeHatchSecretRef
    Kubernetes core/v1.SecretReference
    (Optional)

    EscapeHatchSecretRef is a secret reference which lets you safely pass the escape hatch secret to Authentication Spec. It is required when EscapeHatchEnabled is set to true. It has to contain the “escapeHatchSecret” key with value of the escape hatch secret from OpenID Connect credentials.

    escapeHatchGroup
    string
    (Optional)

    PVCOptions

    (Appears on: JenkinsSpec)

    FieldDescription
    accessMode
    Kubernetes core/v1.PersistentVolumeAccessMode

    AccessMode specifies the way the plugins cache can be mounted

    resourceStorage
    string

    ResourceStorage is the plugins cache volume size

    storageClassName
    string

    StorageClassName is the name of the StorageClass required by the claim

    PersistentVolumeClaimProvider

    (Appears on: BackupStorageProviders)

    PersistentVolumeClaimProvider is default vanilla Kubernetes storage provider

    FieldDescription
    claimName
    string

    ClaimName is name of PVC which will be used as backup storage

    Plugin

    (Appears on: JenkinsSpec)

    FieldDescription
    name
    string

    Name is the name of Jenkins plugin

    version
    string

    Version is the version of Jenkins plugin

    downloadURL
    string

    DownloadURL is the custom url from where plugin has to be downloaded

    Repository

    (Appears on: JenkinsSeedJobSpec)

    Repository is VCS repository settings

    FieldDescription
    branch
    string

    Branch is the repository branch where seed job definitions are stored

    url
    string

    URL is the repository access URL. Can be SSH or HTTPS.

    targets
    string

    Targets is the path from repository root where seed job definitions are stored

    credentialID
    string

    CredentialID is the Kubernetes secret name which stores repository access credentials

    credentialType
    CredentialType
    (Optional)

    CredentialType is the https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/ credential type

    ResourceCondition

    (Appears on: JenkinsAuthenticationStatus, JenkinsAuthorizationStatus, JenkinsBackupConfigStatus, JenkinsConfigurationAsCodeStatus, JenkinsGroovyScriptStatus, JenkinsKubernetesAgentStatus, JenkinsNotificationStatus, JenkinsSeedJobStatus, JenkinsStatus)

    FieldDescription
    type
    ConditionType

    Type is the type of the condition. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

    status
    Kubernetes core/v1.ConditionStatus

    Status is the status of the condition. Can be True, False, Unknown. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

    lastProbeTime
    Kubernetes meta/v1.Time
    (Optional)

    Last time we probed the condition.

    lastTransitionTime
    Kubernetes meta/v1.Time
    (Optional)

    Last time the condition transitioned from one status to another.

    reason
    string
    (Optional)

    Unique, one-word, CamelCase reason for the condition’s last transition.

    message
    string
    (Optional)

    Human-readable message indicating details about last transition.

    Role

    (Appears on: RoleBasedConfig)

    FieldDescription
    name
    string

    Name of the role

    permissions
    []string

    Permissions assigned to the role

    usersOrGroups
    []string

    UsersOrGroups to which this role is assigned

    RoleBasedConfig

    (Appears on: JenkinsAuthorizationSpec)

    RoleBasedConfig contains roles with permissions

    FieldDescription
    roles
    []Role

    Roles is list of the users with permissions

    SMTP

    (Appears on: JenkinsNotificationSpec)

    SMTP is handler for sending emails via this protocol.

    FieldDescription
    usernameSecretKeySelector
    SecretKeySelector
    passwordSecretKeySelector
    SecretKeySelector
    port
    int
    server
    string
    tlsInsecureSkipVerify
    bool
    from
    string
    to
    string

    SecretKeySelector

    (Appears on: AzureFilesProvider, Mailgun, MicrosoftTeams, SMTP, Slack)

    SecretKeySelector selects a key of a Secret.

    FieldDescription
    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.

    Service

    (Appears on: Services)

    FieldDescription
    labels
    map[string]string
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

    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

    spec
    Kubernetes core/v1.ServiceSpec

    Spec describes the attributes that a user creates on a service.



    ports
    []Kubernetes core/v1.ServicePort

    The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

    selector
    map[string]string
    (Optional)

    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/

    clusterIP
    string
    (Optional)

    clusterIP is the IP address of the service and is usually assigned randomly. If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service; otherwise creation of the service will fail. This field may not be changed through updates unless the type field is also being changed to ExternalName (which requires this field to be blank) or the type field is being changed from ExternalName (in which case this field may optionally be specified, as describe above). Valid values are “None”, empty string (“”), or a valid IP address. Setting this to “None” makes a “headless service” (no virtual IP), which is useful when direct endpoint connections are preferred and proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. If this field is specified when creating a Service of type ExternalName, creation will fail. This field will be wiped when updating a Service to type ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

    clusterIPs
    []string
    (Optional)

    ClusterIPs is a list of IP addresses assigned to this service, and are usually assigned randomly. If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service; otherwise creation of the service will fail. This field may not be changed through updates unless the type field is also being changed to ExternalName (which requires this field to be empty) or the type field is being changed from ExternalName (in which case this field may optionally be specified, as describe above). Valid values are “None”, empty string (“”), or a valid IP address. Setting this to “None” makes a “headless service” (no virtual IP), which is useful when direct endpoint connections are preferred and proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. If this field is specified when creating a Service of type ExternalName, creation will fail. This field will be wiped when updating a Service to type ExternalName. If this field is not specified, it will be initialized from the clusterIP field. If this field is specified, clients must ensure that clusterIPs[0] and clusterIP have the same value.

    Unless the “IPv6DualStack” feature gate is enabled, this field is limited to one value, which must be the same as the clusterIP field. If the feature gate is enabled, this field may hold a maximum of two entries (dual-stack IPs, in either order). These IPs must correspond to the values of the ipFamilies field. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

    type
    Kubernetes core/v1.ServiceType
    (Optional)

    type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. “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 or EndpointSlice objects. If clusterIP is “None”, no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. “NodePort” builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. “LoadBalancer” builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. “ExternalName” aliases this service to the specified externalName. Several other fields do not apply to ExternalName services. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types

    externalIPs
    []string
    (Optional)

    externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system.

    sessionAffinity
    Kubernetes core/v1.ServiceAffinity
    (Optional)

    Supports “ClientIP” and “None”. Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

    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.

    loadBalancerSourceRanges
    []string
    (Optional)

    If specified and supported by the platform, this will restrict traffic through the cloud-provider 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/

    externalName
    string
    (Optional)

    externalName is the external reference that discovery mechanisms will return as an alias for this service (e.g. a DNS CNAME record). No proxying will be involved. Must be a lowercase RFC-1123 hostname (https://tools.ietf.org/html/rfc1123) and requires Type to be

    externalTrafficPolicy
    Kubernetes core/v1.ServiceExternalTrafficPolicyType
    (Optional)

    externalTrafficPolicy denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints. “Local” preserves the client source IP and avoids a second hop for LoadBalancer and Nodeport type services, but risks potentially imbalanced traffic spreading. “Cluster” obscures the client source IP and may cause a second hop to another node, but should have good overall load-spreading.

    healthCheckNodePort
    int32
    (Optional)

    healthCheckNodePort specifies the healthcheck nodePort for the service. This only applies when type is set to LoadBalancer and externalTrafficPolicy is set to Local. If a value is specified, is in-range, and is not in use, it will be used. If not specified, a value will be automatically allocated. External systems (e.g. load-balancers) can use this port to determine if a given node holds endpoints for this service or not. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type).

    publishNotReadyAddresses
    bool
    (Optional)

    publishNotReadyAddresses indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready. The primary use case for setting this field is for a StatefulSet’s Headless Service to propagate SRV DNS records for its Pods for the purpose of peer discovery. The Kubernetes controllers that generate Endpoints and EndpointSlice resources for Services interpret this to mean that all endpoints are considered “ready” even if the Pods themselves are not. Agents which consume only Kubernetes generated endpoints through the Endpoints or EndpointSlice resources can safely assume this behavior.

    sessionAffinityConfig
    Kubernetes core/v1.SessionAffinityConfig
    (Optional)

    sessionAffinityConfig contains the configurations of session affinity.

    topologyKeys
    []string
    (Optional)

    topologyKeys is a preference-order list of topology keys which implementations of services should use to preferentially sort endpoints when accessing this Service, it can not be used at the same time as externalTrafficPolicy=Local. Topology keys must be valid label keys and at most 16 keys may be specified. Endpoints are chosen based on the first topology key with available backends. If this field is specified and all entries have no backends that match the topology of the client, the service has no backends for that client and connections should fail. The special value “*” may be used to mean “any topology”. This catch-all value, if used, only makes sense as the last value in the list. If this is not specified or empty, no topology constraints will be applied. This field is alpha-level and is only honored by servers that enable the ServiceTopology feature.

    ipFamilies
    []Kubernetes core/v1.IPFamily
    (Optional)

    IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this service, and is gated by the “IPv6DualStack” feature gate. This field is usually assigned automatically based on cluster configuration and the ipFamilyPolicy field. If this field is specified manually, the requested family is available in the cluster, and ipFamilyPolicy allows it, it will be used; otherwise creation of the service will fail. This field is conditionally mutable: it allows for adding or removing a secondary IP family, but it does not allow changing the primary IP family of the Service. Valid values are “IPv4” and “IPv6”. This field only applies to Services of types ClusterIP, NodePort, and LoadBalancer, and does apply to “headless” services. This field will be wiped when updating a Service to type ExternalName.

    This field may hold a maximum of two entries (dual-stack families, in either order). These families must correspond to the values of the clusterIPs field, if specified. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.

    ipFamilyPolicy
    Kubernetes core/v1.IPFamilyPolicyType
    (Optional)

    IPFamilyPolicy represents the dual-stack-ness requested or required by this Service, and is gated by the “IPv6DualStack” feature gate. If there is no value provided, then this field will be set to SingleStack. Services can be “SingleStack” (a single IP family), “PreferDualStack” (two IP families on dual-stack configured clusters or a single IP family on single-stack clusters), or “RequireDualStack” (two IP families on dual-stack configured clusters, otherwise fail). The ipFamilies and clusterIPs fields depend on the value of this field. This field will be wiped when updating a service to type ExternalName.

    allocateLoadBalancerNodePorts
    bool
    (Optional)

    allocateLoadBalancerNodePorts defines if NodePorts will be automatically allocated for services with type LoadBalancer. Default is “true”. It may be set to “false” if the cluster load-balancer does not rely on NodePorts. allocateLoadBalancerNodePorts may only be set for services with type LoadBalancer and will be cleared if the type is changed to any other type. This field is alpha-level and is only honored by servers that enable the ServiceLBNodePortControl feature.

    Services

    (Appears on: JenkinsSpec)

    FieldDescription
    http
    Service

    Http is Jenkins web UI service

    agent
    Service

    Agent is Jenkins agent service

    Slack

    (Appears on: JenkinsNotificationSpec)

    Slack is handler for Slack notification channel.

    FieldDescription
    webHookURLSecretKeySelector
    SecretKeySelector

    The web hook URL to Slack App

    ToolLocation

    (Appears on: AgentProperties)

    ToolLocation defines the location of development tools

    FieldDescription
    home
    string

    Name of tool

    name
    string

    Home defines where the tool is located

    Trigger

    (Appears on: Triggers)

    Trigger defines in which conditions the Jenkins seed job will be executed

    FieldDescription
    push
    bool

    Push indicates that Jenkins seed job is executed on every detected push to corresponding Git repository

    Triggers

    (Appears on: JenkinsSeedJobSpec)

    Triggers define circumstances that execute jobs

    FieldDescription
    bitbucket
    Trigger
    (Optional)

    BitbucketTrigger is used for Bitbucket web hooks

    github
    Trigger
    (Optional)

    GitHubTrigger is used for GitHub web hooks

    buildPeriodically
    string
    (Optional)

    BuildPeriodically is used for scheduled timer trigger

    pollSCM
    string
    (Optional)

    PollSCM is setting for polling changes in SCM

    User

    (Appears on: MatrixConfig)

    User contains name and permissions

    FieldDescription
    name
    string

    Name is a name of a user

    permissions
    []string

    Permissions is list of permissions


    Generated with gen-crd-api-reference-docs on git commit ae96998.