Schema

This document contains API Schema definitions of Custom Resources used by Carthago Operator for Jenkins.

Packages:

carthago.cloud/v1beta1

Package v1beta1 contains API Schema definitions for the carthago.cloud v1beta1 API group

Resource Types:

    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: JenkinsKubernetesAgentSpec)

    AgentUsage indicates how builds are being scheduled on this node

    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

    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”

    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.

    Group

    (Appears on: MatrixConfig)

    FieldDescription
    name
    string

    Name of the group.

    permissions
    []string

    Permissions assigned to the group.

    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


    podLabels
    map[string]string
    (Optional)

    PodLabels allows adding custom labels to Jenkins Controller Pod. Deprecated as of 0.16. 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

    podMetadata
    PodMetadata
    (Optional)

    PodMetadata allows specifying custom labels and annotations for Jenkins Controller Pod

    podSpec
    Kubernetes core/v1.PodSpec
    (Optional)

    PodSpec allows setting Jenkins Kubernetes specific pod properties

    pvcSettings
    PVCOptions
    (Optional)

    HomePVC allows setting 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.31.1 - name: workflow-job version: “1145.v7f2433caa07f” - name: workflow-aggregator version: “2.6” - name: git version: 4.10.1 - name: job-dsl version: “1.78.1” - name: configuration-as-code version: “1414.v878271fc496f” - name: kubernetes-credentials-provider version: 0.20

    pluginsCache
    PVCOptions
    (Optional)

    PluginsCache allows setting plugins cache specific pvc properties. PluginsCache is not available in the free plan and requires a valid license.

    services
    Services
    (Optional)

    Services allows configuring Jenkins services

    disableCSRFProtection
    bool

    DisableCSRFProtection allows you to toggle CSRF Protection on Jenkins

    authorizationStrategy
    AuthorizationStrategy

    AuthorizationStrategy specifies the authorization strategy used by the Operator for the Jenkins API.

    pluginSnapshot
    PluginSnapshot

    PluginSnapshot allows you to create snapshots of plugins and restore from them

    status
    JenkinsStatus

    JenkinsAuthentication

    JenkinsAuthentication is the Schema for the JenkinsAuthentications API. It is not available in the free plan and requires a valid license.

    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

    samlAuth
    SAMLAuthenticationConfig
    (Optional)

    SAMLAuth is configuration for SAML 2.0 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

    samlAuth
    SAMLAuthenticationConfig
    (Optional)

    SAMLAuth is configuration for SAML 2.0 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. It is not available in the free plan and requires a valid license.

    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

    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. In the free plan, user can only have 1 JenkinsKubernetesAgent, and it’s name must be equal to “seed-job-agent”.

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


    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

    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

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

    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

    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

    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
    podLabels
    map[string]string
    (Optional)

    PodLabels allows adding custom labels to Jenkins Controller Pod. Deprecated as of 0.16. 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

    podMetadata
    PodMetadata
    (Optional)

    PodMetadata allows specifying custom labels and annotations for Jenkins Controller Pod

    podSpec
    Kubernetes core/v1.PodSpec
    (Optional)

    PodSpec allows setting Jenkins Kubernetes specific pod properties

    pvcSettings
    PVCOptions
    (Optional)

    HomePVC allows setting 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.31.1 - name: workflow-job version: “1145.v7f2433caa07f” - name: workflow-aggregator version: “2.6” - name: git version: 4.10.1 - name: job-dsl version: “1.78.1” - name: configuration-as-code version: “1414.v878271fc496f” - name: kubernetes-credentials-provider version: 0.20

    pluginsCache
    PVCOptions
    (Optional)

    PluginsCache allows setting plugins cache specific pvc properties. PluginsCache is not available in the free plan and requires a valid license.

    services
    Services
    (Optional)

    Services allows configuring Jenkins services

    disableCSRFProtection
    bool

    DisableCSRFProtection allows you to toggle CSRF Protection on Jenkins

    authorizationStrategy
    AuthorizationStrategy

    AuthorizationStrategy specifies the authorization strategy used by the Operator for the Jenkins API.

    pluginSnapshot
    PluginSnapshot

    PluginSnapshot allows you to create snapshots of plugins and restore from them

    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

    MatrixConfig

    (Appears on: JenkinsAuthorizationSpec)

    MatrixConfig contains users with permissions

    FieldDescription
    users
    []User

    Users is the list of Jenkins users and their permissions

    groups
    []Group

    Groups is the list of Jenkins user groups and their permissions

    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
    name
    string

    Name of the PVC

    accessMode
    Kubernetes core/v1.PersistentVolumeAccessMode

    AccessMode specifies the way the PVC can be mounted

    resourceStorage
    string

    ResourceStorage is the volume size of the PVC

    storageClassName
    string

    StorageClassName is the name of the StorageClass required by the claim

    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

    PluginSnapshot

    (Appears on: JenkinsSpec)

    FieldDescription
    restoreEnabled
    bool

    RestoreEnabled allows you to restore plugins from particular snapshot

    snapshotConfigMapRef
    Kubernetes core/v1.ConfigMapEnvSource

    SnapshotConfigMapRef is the reference to the ConfigMap for the snapshot to use

    snapshotHistoryLength
    int

    SnapshotHistoryLength specifies amount of historical snapshots to keep

    PodMetadata

    (Appears on: JenkinsSpec)

    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. Allows adding custom labels to Jenkins Controller Pod More info: http://kubernetes.io/docs/user-guide/labels

    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, JenkinsConfigurationAsCodeStatus, JenkinsGroovyScriptStatus, JenkinsKubernetesAgentStatus, 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

    SAMLAdvancedConfiguration

    (Appears on: SAMLAuthenticationConfig)

    FieldDescription
    forceAuthentication
    bool
    (Optional)

    ForceAuthentication specifies whether to request the SAML IdP to force (re)authentication of the user, rather than allowing an existing session with the IdP to be reused. Off by default

    authenticationContext
    string
    (Optional)

    AuthenticationContext makes SAML IdP use a specific authentication context instead of its default one. If left empty, default authentication context will be used.

    SPEntityID
    string
    (Optional)

    SPEntityID it overrides the default Entity ID for this Service Provider.

    nameIDPolicyFormat
    string
    (Optional)

    NameIDPolicyFormat

    SAMLAuthenticationConfig

    (Appears on: JenkinsAuthenticationSpec)

    FieldDescription
    idpMetadata
    string
    (Optional)

    IdPMetadata Identity Provider Metadata in XML format.

    idpMetadataURL
    string
    (Optional)

    IdPMetadataURL The Identity Provider metadata file source URL

    refreshPeriod
    int
    (Optional)

    RefreshPeriod in minutes between Identity Provider metadata refreshes. Setting it to 0 disables refreshing metadata. Required when IdPMetadataURL is provided.

    displayNameAttribute
    string
    (Optional)

    DisplayNameAttribute is the name of the attribute that carries the display name (optional)

    groupAttribute
    string
    (Optional)

    GroupAttribute is the name of the attribute that carries user groups (optional)

    maximumAuthenticationLifetime
    int
    (Optional)

    MaximumAuthenticationLifetime is the number of seconds since the user was authenticated in IdP for which his authentication is considering as active. Default value: 0

    usernameAttribute
    string
    (Optional)

    UsernameAttribute is the name of the attribute that carries user name which will be used as the Jenkins ID (optional).

    emailAttribute
    string
    (Optional)

    EmailAttribute is the field name of email attribute in SAML response.

    usernameCaseConversion
    string

    UsernameCaseConversion specifies how ID returned from SAML will be converted to the username for Authorization. Default value: none

    dataBindingMethod
    string

    DataBindingMethod SAML specifies the method of redirection binding that will be used by SAML plugin. The plugin supports HTTP-Redirect and HTTP-POST and by default it uses HTTP-Redirect.

    logoutURL
    string

    LogoutURL is the logout URL of your Identity Provider. Users will be redirected there on logout.

    advancedConfiguration
    SAMLAdvancedConfiguration
    (Optional)

    AdvancedConfiguration

    encryptionConfiguration
    SAMLEncryptionConfiguration
    (Optional)

    EncryptionConfiguration can be used to specify the keystore details if your provider requires encryption or signing.

    SAMLEncryptionConfiguration

    (Appears on: SAMLAuthenticationConfig)

    FieldDescription
    keystorePath
    string
    (Optional)

    KeystorePath is the path to the keystore file created with the keygen command.

    keystorePasswordRef
    Kubernetes core/v1.SecretReference
    (Optional)

    KeystorePassword is the password used in the -storepass argument of the keytool command.

    privateKeyAlias
    string
    (Optional)

    PrivateKeyAlias is the alias used in the -alias argument of the keytool< command.

    privateKeyPasswordRef
    Kubernetes core/v1.SecretReference
    (Optional)

    PrivateKeyPassword is the password used in the -keypass argument of keytool.

    authRequestSignature
    bool
    (Optional)

    AuthRequestSignature enables signature of the Redirect Binding Auth Request. If you enable it the encryption and signing key would available in the SP metadata file and URL (JENKINS_URL/securityRealm/metadata).

    wantsAssertionSigned
    bool
    (Optional)

    WantsAssertionSigned makes authentication accept only signed assertion sent by the IdP.

    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.

    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/create-external-load-balancer/

    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 “ExternalName”.

    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.

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

    IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this service. 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. 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. If the caller requests specific NodePorts (by specifying a value), those requests will be respected, regardless of this field. This field 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 beta-level and is only honored by servers that enable the ServiceLBNodePortControl feature.

    loadBalancerClass
    string
    (Optional)

    loadBalancerClass is the class of the load balancer implementation this Service belongs to. If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. “internal-vip” or “example.com/internal-vip”. Unprefixed names are reserved for end-users. This field can only be set when the Service type is ‘LoadBalancer’. If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration, but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field. This field can only be set when creating or updating a Service to type ‘LoadBalancer’. Once set, it can not be changed. This field will be wiped when a service is updated to a non ‘LoadBalancer’ type.

    internalTrafficPolicy
    Kubernetes core/v1.ServiceInternalTrafficPolicyType
    (Optional)

    InternalTrafficPolicy specifies if the cluster internal traffic should be routed to all endpoints or node-local endpoints only. “Cluster” routes internal traffic to a Service to all endpoints. “Local” routes traffic to node-local endpoints only, traffic is dropped if no node-local endpoints are ready. The default value is “Cluster”.

    Services

    (Appears on: JenkinsSpec)

    FieldDescription
    http
    Service

    HTTP is Jenkins web UI service

    agent
    Service

    Agent is Jenkins agent service

    ToolLocation

    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 of the user.

    permissions
    []string

    Permissions assigned to the group.


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