Configuration Reference

Packages:

config.jenkins.io/v1

Package v1 is the v1 version of the API.

Resource Types:

ProjectConfig

ProjectConfig defines Jenkins X Pipelines usually stored inside the jenkins-x.yml file in projects

Field Description
apiVersion
string
config.jenkins.io/v1
kind
string
ProjectConfig
env
[]Kubernetes core/v1.EnvVar

List of global environment variables to add to each branch build and each step

previewEnvironments
PreviewEnvironmentConfig
issueTracker
IssueTrackerConfig
chat
ChatConfig
wiki
WikiConfig
addons
[]*github.com/jenkins-x/jx/pkg/config.AddonConfig
buildPack
string
buildPackGitURL
string
buildPackGitRef
string
pipelineConfig
PipelineConfig
noReleasePrepare
bool
dockerRegistryHost
string
dockerRegistryOwner
string

AddonConfig

Field Description
name
string
version
string

AdminSecretsConfig

(Appears on: AdminSecretsService)

Field Description
JXBasicAuth
string
chartmuseum
ChartMuseum
grafana
Grafana
jenkins
Jenkins
nexus
Nexus
PipelineSecrets
PipelineSecrets
KanikoSecret
KanikoSecret

AdminSecretsFlags

(Appears on: AdminSecretsService)

Field Description
DefaultAdminUsername
string
DefaultAdminPassword
string
KanikoSecret
string

AdminSecretsService

Field Description
FileName
string
Secrets
AdminSecretsConfig
Flags
AdminSecretsFlags
ingressAuth
BasicAuth

Agent

(Appears on: ParsedPipeline, PipelineConfig, PipelineOverride, Stage, Step)

Agent defines where the pipeline, stage, or step should run.

Field Description
label
string

One of label or image is required.

image
string
container
string

Legacy fields from jenkinsfile.PipelineAgent

dir
string

AutoUpdateConfig

(Appears on: RequirementsConfig)

AutoUpdateConfig contains auto update config

Field Description
enabled
bool

Enabled autoupdate

schedule
string

Schedule cron of auto updates

AzureConfig

(Appears on: ClusterConfig)

AzureConfig contains Azure specific requirements

Field Description
registrySubscription
string

RegistrySubscription the registry subscription for defaulting the container registry. Not used if you specify a Registry explicitly

BasicAuth

(Appears on: AdminSecretsService)

BasicAuth keeps the credentials for basic authentication

Field Description
username
string

Username stores the basic authentication user name

password
string

Password stores the basic authentication password

CRDsFromPipelineParams

CRDsFromPipelineParams is how the parameters to GenerateCRDs are specified

Field Description
PipelineIdentifier
string
BuildIdentifier
string
ResourceIdentifier
string
Namespace
string
PodTemplates
map[string]*k8s.io/api/core/v1.Pod
VersionsDir
string
TaskParams
[]github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1.ParamSpec
SourceDir
string
Labels
map[string]string
DefaultImage
string
InterpretMode
bool

ChartMuseum

(Appears on: AdminSecretsConfig)

Field Description
env
ChartMuseumEnv

ChartMuseumEnv

(Appears on: ChartMuseum)

Field Description
secret
ChartMuseumSecret

ChartMuseumSecret

(Appears on: ChartMuseumEnv)

Field Description
BASIC_AUTH_USER
string
BASIC_AUTH_PASS
string

ChatConfig

(Appears on: ProjectConfig)

Field Description
kind
string
url
string
developerChannel
string
userChannel
string

ClusterConfig

(Appears on: RequirementsConfig)

ClusterConfig contains cluster specific requirements

Field Description
azure
AzureConfig

AzureConfig the azure specific configuration

chartRepository
string

ChartRepository the repository URL to deploy charts to

gke
GKEConfig

GKEConfig the gke specific configuration

environmentGitOwner
string

EnvironmentGitOwner the default git owner for environment repositories if none is specified explicitly

environmentGitPublic
bool

EnvironmentGitPublic determines whether jx boot create public or private git repos for the environments

gitPublic
bool

GitPublic determines whether jx boot create public or private git repos for the applications

provider
string

Provider the kubernetes provider (e.g. gke)

namespace
string

Namespace the namespace to install the dev environment

project
string

ProjectID the cloud project ID e.g. on GCP

clusterName
string

ClusterName the logical name of the cluster

vaultName
string

VaultName the name of the vault if using vault for secrets Deprecated

region
string

Region the cloud region being used

zone
string

Zone the cloud zone being used

gitName
string

GitName is the name of the default git service

gitKind
string

GitKind is the kind of git server (github, bitbucketserver etc)

gitServer
string

GitServer is the URL of the git server

externalDNSSAName
string

ExternalDNSSAName the service account name for external dns

registry
string

Registry the host name of the container registry

vaultSAName
string

VaultSAName the service account name for vault Deprecated

kanikoSAName
string

KanikoSAName the service account name for kaniko

helmMajorVersion
string

HelmMajorVersion contains the major helm version number. Assumes helm 2.x with no tiller if no value specified

CreateJenkinsfileArguments

CreateJenkinsfileArguments contains the arguents to generate a Jenkinsfiles dynamically

Field Description
ConfigFile
string
TemplateFile
string
OutputFile
string
JenkinsfileRunner
bool
ClearContainerNames
bool

CreatePipelineArguments

CreatePipelineArguments contains the arguments to translate a build pack into a pipeline

Field Description
Lifecycles
PipelineLifecycles
PodTemplates
map[string]*k8s.io/api/core/v1.Pod
CustomImage
string
DefaultImage
string
WorkspaceDir
string
GitHost
string
GitName
string
GitOrg
string
ProjectID
string
DockerRegistry
string
DockerRegistryOrg
string
KanikoImage
string
UseKaniko
bool
NoReleasePrepare
bool
StepCounter
int

EnabledConfig

(Appears on: HelmValuesConfig)

EnabledConfig to configure the feature on/off

Field Description
enabled
bool

EnvironmentConfig

(Appears on: RequirementsConfig)

EnvironmentConfig configures the organisation and repository name of the git repositories for environments

Field Description
key
string

Key is the key of the environment configuration

owner
string

Owner is the git user or organisation for the repository

repository
string

Repository is the name of the repository within the owner

gitServer
string

GitServer is the URL of the git server

gitKind
string

GitKind is the kind of git server (github, bitbucketserver etc)

ingress
IngressConfig

Ingress contains ingress specific requirements

remoteCluster
bool

RemoteCluster specifies this environment runs on a remote cluster to the development cluster

ExposeController

(Appears on: HelmValuesConfig, PreviewValuesConfig)

Field Description
config
ExposeControllerConfig
Annotations
map[string]string
production
bool

ExposeControllerConfig

(Appears on: ExposeController)

Field Description
domain
string
exposer
string
http
string
tlsacme
string
pathMode
string
urltemplate
string
ingressClass
string
tlsSecretName
string

GKEConfig

(Appears on: ClusterConfig)

GKEConfig contains GKE specific requirements

Field Description
projectNumber
string

ProjectNumber the unique project number GKE assigns to a project (required for workload identity).

GithubAppConfig

(Appears on: RequirementsConfig)

GithubAppConfig contains github app config

Field Description
enabled
bool

Enabled this determines whether this install should use the jenkins x github app for access tokens

schedule
string

Schedule cron of the github app token refresher

url
string

URL contains a URL to the github app

Grafana

(Appears on: AdminSecretsConfig)

Field Description
server
GrafanaSecret

GrafanaSecret

(Appears on: Grafana)

Field Description
adminUser
string
adminPassword
string

HelmValuesConfig

(Appears on: HelmValuesConfigService)

Field Description
expose
ExposeController
jenkins
JenkinsValuesConfig
prow
ProwValuesConfig
PipelineSecrets
JenkinsPipelineSecretsValuesConfig
controllerbuild
EnabledConfig
controllerworkflow
EnabledConfig
docker-registry
EnabledConfig
dockerRegistry
string

HelmValuesConfigService

Field Description
FileName
string
Config
HelmValuesConfig

Image

(Appears on: Preview)

Field Description
repository
string
tag
string

ImportFile

ImportFile represents an import of a file from a module (usually a version of a git repo)

Field Description
Import
string
File
string

ImportFileResolver

ImportFileResolver resolves a build pack file resolver strategy

IngressConfig

(Appears on: EnvironmentConfig, RequirementsConfig)

IngressConfig contains dns specific requirements

Field Description
externalDNS
bool

DNS is enabled

cloud_dns_secret_name
string

CloudDNSSecretName secret name which contains the service account for external-dns and cert-manager issuer to access the Cloud DNS service to resolve a DNS challenge

domain
string

Domain to expose ingress endpoints

ignoreLoadBalancer
bool

IgnoreLoadBalancer if the nginx-controller LoadBalancer service should not be used to detect and update the domain if you are using a dynamic domain resolver like .nip.io rather than a real DNS configuration. With this flag enabled the Domain value will be used and never re-created based on the current LoadBalancer IP address.

exposer
string

Exposer the exposer used to expose ingress endpoints. Defaults to “Ingress”

namespaceSubDomain
string

NamespaceSubDomain the sub domain expression to expose ingress. Defaults to “.jx.”

tls
TLSConfig

TLS enable automated TLS using certmanager

domainIssuerURL
string

DomainIssuerURL contains a URL used to retrieve a Domain

IssueTrackerConfig

(Appears on: ProjectConfig)

Field Description
kind
string
url
string
project
string

Jenkins

(Appears on: AdminSecretsConfig)

Field Description
Master
JenkinsAdminSecret

JenkinsAdminSecret

(Appears on: Jenkins)

Field Description
AdminPassword
string

JenkinsGiteaServersValuesConfig

(Appears on: JenkinsServersValuesConfig)

Field Description
Name
string
Url
string
Credential
string

JenkinsGithubServersValuesConfig

(Appears on: JenkinsServersValuesConfig)

Field Description
Name
string
Url
string

JenkinsPipelineSecretsValuesConfig

(Appears on: HelmValuesConfig)

Field Description
DockerConfig,flow
string

JenkinsServersGlobalConfig

(Appears on: JenkinsServersValuesConfig)

Field Description
EnvVars
map[string]string

JenkinsServersValuesConfig

(Appears on: JenkinsValuesConfig)

Field Description
Gitea
[]JenkinsGiteaServersValuesConfig
GHE
[]JenkinsGithubServersValuesConfig
Global
JenkinsServersGlobalConfig

JenkinsValuesConfig

(Appears on: HelmValuesConfig)

Field Description
Servers
JenkinsServersValuesConfig
enabled
bool

JxInstallProfile

JxInstallProfile contains the jx profile info

Field Description
InstallType
string

KanikoSecret

(Appears on: AdminSecretsConfig)

KanikoSecret store the kaniko service account

Field Description
Data
string

Loop

(Appears on: Step)

Loop is a special step that defines a variable, a list of possible values for that variable, and a set of steps to repeat for each value for the variable, with the variable set with that value in the environment for the execution of those steps.

Field Description
variable
string

The variable name.

values
[]string

The list of values to iterate over

steps
[]Step

The steps to run

Module

Module defines a dependent module for a build pack

Field Description
name
string
gitUrl
string
gitRef
string

Modules

Modules defines the dependent modules for a build pack

Field Description
modules
[]*github.com/jenkins-x/jx/pkg/jenkinsfile.Module

NamedLifecycle

NamedLifecycle a lifecycle and its name

Field Description
Name
string
Lifecycle
PipelineLifecycle

Nexus

(Appears on: AdminSecretsConfig)

Field Description
defaultAdminPassword
string

ParsedPipeline

(Appears on: PipelineLifecycles, Pipelines)

ParsedPipeline is the internal representation of the Pipeline, used to validate and create CRDs

Field Description
agent
Agent
env
[]Kubernetes core/v1.EnvVar
options
RootOptions
stages
[]Stage
post
[]Post
dir
string
environment
[]Kubernetes core/v1.EnvVar

Replaced by Env, retained for backwards compatibility

PipelineConfig

(Appears on: ProjectConfig)

PipelineConfig defines the pipeline configuration

Field Description
extends
PipelineExtends
agent
Agent
env
[]Kubernetes core/v1.EnvVar
environment
string
pipelines
Pipelines
containerOptions
Kubernetes core/v1.Container

PipelineExtends

(Appears on: PipelineConfig)

PipelineExtends defines the extension (e.g. parent pipeline which is overloaded

Field Description
import
string
file
string

PipelineLifecycle

(Appears on: NamedLifecycle, PipelineLifecycles, Pipelines)

PipelineLifecycle defines the steps of a lifecycle section

Field Description
steps
[]*github.com/jenkins-x/jx/pkg/tekton/syntax.Step
preSteps
[]*github.com/jenkins-x/jx/pkg/tekton/syntax.Step

PreSteps if using inheritance then invoke these steps before the base steps

replace
bool

Replace if using inheritance then replace steps from the base pipeline

PipelineLifecycleArray ([]github.com/jenkins-x/jx/pkg/jenkinsfile.NamedLifecycle alias)

PipelineLifecycleArray an array of named lifecycle pointers

PipelineLifecycles

(Appears on: CreatePipelineArguments, Pipelines)

PipelineLifecycles defines the steps of a lifecycle section

Field Description
setup
PipelineLifecycle
setVersion
PipelineLifecycle
preBuild
PipelineLifecycle
build
PipelineLifecycle
postBuild
PipelineLifecycle
promote
PipelineLifecycle
pipeline
ParsedPipeline

PipelineOverride

PipelineOverride allows for overriding named steps, stages, or pipelines in the build pack or default pipeline

Field Description
pipeline
string
stage
string
name
string
step
Step
steps
[]*github.com/jenkins-x/jx/pkg/tekton/syntax.Step
type
StepOverrideType
agent
Agent
containerOptions
Kubernetes core/v1.Container
volumes
[]*k8s.io/api/core/v1.Volume

PipelineSecrets

(Appears on: AdminSecretsConfig)

Field Description
MavenSettingsXML
string

Pipelines

(Appears on: PipelineConfig)

Pipelines contains all the different kinds of pipeline for different branches

Field Description
pullRequest
PipelineLifecycles
release
PipelineLifecycles
feature
PipelineLifecycles
post
PipelineLifecycle
overrides
[]*github.com/jenkins-x/jx/pkg/tekton/syntax.PipelineOverride
default
ParsedPipeline

Post

(Appears on: ParsedPipeline, Stage)

Post contains a PostCondition and one more actions to be executed after a pipeline or stage if the condition is met.

Field Description
condition
PostCondition

TODO: Conditional execution of something after a Task or Pipeline completes is not yet implemented

actions
[]PostAction

PostAction

(Appears on: Post)

PostAction contains the name of a built-in post action and options to pass to that action.

Field Description
name
string

TODO: Notifications are not yet supported in Build Pipeline per se.

options
map[string]string

Also, we’ll need to do some magic to do type verification during translation - i.e., this action wants a number for this option, so translate the string value for that option to a number.

PostCondition (string alias)

(Appears on: Post)

PostCondition is used to specify under what condition a post action should be executed.

Preview

(Appears on: PreviewValuesConfig)

Field Description
image
Image

PreviewEnvironmentConfig

(Appears on: ProjectConfig)

Field Description
disabled
bool
maximumInstances
int

PreviewValuesConfig

Field Description
expose
ExposeController
preview
Preview

ProwValuesConfig

(Appears on: HelmValuesConfig)

Field Description
user
string
hmacToken
string
oauthToken
string

RepositoryType (string alias)

(Appears on: RequirementsConfig)

RepositoryType is the type of a repository we use to store artifacts (jars, tarballs, npm packages etc)

RequirementsConfig

RequirementsConfig contains the logical installation requirements in the jx-requirements.yml file when installing, configuring or upgrading Jenkins X via jx boot

Field Description
autoUpdate
AutoUpdateConfig

AutoUpdate contains auto update config

bootConfigURL
string

BootConfigURL contains the url to which the dev environment is associated with

cluster
ClusterConfig

Cluster contains cluster specific requirements

environments
[]EnvironmentConfig

Environments the requirements for the environments

githubApp
GithubAppConfig

GithubApp contains github app config

gitops
bool

GitOps if enabled we will setup a webhook in the boot configuration git repository so that we can re-run ‘jx boot’ when changes merge to the master branch

kaniko
bool

Kaniko whether to enable kaniko for building docker images

ingress
IngressConfig

Ingress contains ingress specific requirements

repository
RepositoryType

Repository specifies what kind of artifact repository you wish to use for storing artifacts (jars, tarballs, npm modules etc)

secretStorage
SecretStorageType

SecretStorage how should we store secrets for the cluster

storage
StorageConfig

Storage contains storage requirements

terraform
bool

Terraform specifies if we are managing the kubernetes cluster and cloud resources with Terraform

vault
VaultConfig

Vault the configuration for vault

velero
VeleroConfig

Velero the configuration for running velero for backing up the cluster resources

versionStream
VersionStreamConfig

VersionStream contains version stream info

webhook
WebhookType

Webhook specifies what engine we should use for webhooks

RootOptions

(Appears on: ParsedPipeline, StageOptions)

RootOptions contains options that can be configured on either a pipeline or a stage

Field Description
timeout
Timeout
retry
byte
containerOptions
Kubernetes core/v1.Container

ContainerOptions allows for advanced configuration of containers for a single stage or the whole pipeline, adding to configuration that can be configured through the syntax already. This includes things like CPU/RAM requests/limits, secrets, ports, etc. Some of these things will end up with native syntax approaches down the road.

volumes
[]*k8s.io/api/core/v1.Volume
distributeParallelAcrossNodes
bool
tolerations
[]Kubernetes core/v1.Toleration
podLabels
map[string]string

SecretStorageType (string alias)

(Appears on: RequirementsConfig)

SecretStorageType is the type of storage used for secrets

Stage

(Appears on: ParsedPipeline, Stage)

Stage is a unit of work in a pipeline, corresponding either to a Task or a set of Tasks to be run sequentially or in parallel with common configuration.

Field Description
name
string
agent
Agent
env
[]Kubernetes core/v1.EnvVar
options
StageOptions
steps
[]Step
stages
[]Stage
parallel
[]Stage
post
[]Post
dir
string
environment
[]Kubernetes core/v1.EnvVar

Replaced by Env, retained for backwards compatibility

StageOptions

(Appears on: Stage)

StageOptions contains both options that can be configured on either a pipeline or a stage, via RootOptions, or stage-specific options.

Field Description
RootOptions
RootOptions

(Members of RootOptions are embedded into this type.)

stash
Stash

TODO: Not yet implemented in build-pipeline

unstash
Unstash
workspace
string

Stash

(Appears on: StageOptions)

Stash defines files to be saved for use in a later stage, marked with a name

Field Description
name
string
files
string

Eventually make this optional so that you can do volumes instead

Step

(Appears on: Loop, PipelineOverride, Stage)

Step defines a single step, from the author’s perspective, to be executed within a stage.

Field Description
name
string

An optional name to give the step for reporting purposes

command
string

One of command, step, or loop is required.

args
[]string

args is optional, but only allowed with command

dir
string

dir is optional, but only allowed with command. Refers to subdirectory of workspace

step
string
options
map[string]string

options is optional, but only allowed with step Also, we’ll need to do some magic to do type verification during translation - i.e., this step wants a number for this option, so translate the string value for that option to a number.

loop
Loop
agent
Agent

agent can be overridden on a step

image
string

Image alows the docker image for a step to be specified

env
[]Kubernetes core/v1.EnvVar

env allows defining per-step environment variables

comment
string

Legacy fields from jenkinsfile.PipelineStep before it was eliminated.

groovy
string
steps
[]*github.com/jenkins-x/jx/pkg/tekton/syntax.Step
when
string
container
string
sh
string

StepOverrideType (string alias)

(Appears on: PipelineOverride)

StepOverrideType is used to specify whether the existing step should be replaced (default), new step(s) should be prepended before the existing step, or new step(s) should be appended after the existing step.

StorageConfig

(Appears on: RequirementsConfig)

StorageConfig contains dns specific requirements

Field Description
logs
StorageEntryConfig

Logs for storing build logs

reports
StorageEntryConfig

Tests for storing test results, coverage + code quality reports

repository
StorageEntryConfig

Repository for storing repository artifacts

backup
StorageEntryConfig

Backup for backing up kubernetes resource

StorageEntryConfig

(Appears on: StorageConfig)

StorageEntryConfig contains dns specific requirements for a kind of storage

Field Description
enabled
bool

Enabled if the storage is enabled

url
string

URL the cloud storage bucket URL such as ‘gs://mybucket’ or ‘s3://foo’ or `azblob://thingy’ see https://jenkins-x.io/architecture/storage/

TLSConfig

(Appears on: IngressConfig)

TLSConfig contains TLS specific requirements

Field Description
enabled
bool

TLS enabled

email
string

Email address to register with services like LetsEncrypt

production
bool

Production false uses self-signed certificates from the LetsEncrypt staging server, true enables the production server which incurs higher rate limiting https://letsencrypt.org/docs/rate-limits/

secretName
string

SecretName the name of the secret which contains the TLS certificate

Timeout

(Appears on: RootOptions)

Timeout defines how long a stage or pipeline can run before timing out.

Field Description
time
int64
unit
TimeoutUnit

Has some sane default - probably seconds

TimeoutUnit (string alias)

(Appears on: Timeout)

TimeoutUnit is used for calculating timeout duration

Unstash

(Appears on: StageOptions)

Unstash defines a previously-defined stash to be copied into this stage’s workspace

Field Description
name
string
dir
string

VaultAWSConfig

(Appears on: VaultConfig)

VaultAWSConfig contains all the Vault configuration needed by Vault to be deployed in AWS

Field Description
VaultAWSUnsealConfig
VaultAWSUnsealConfig
autoCreate
bool
dynamoDBTable
string
dynamoDBRegion
string
iamUserName
string

VaultAWSUnsealConfig

(Appears on: VaultAWSConfig)

VaultAWSUnsealConfig contains references to existing AWS resources that can be used to install Vault

Field Description
kmsKeyId
string
kmsRegion
string
s3Bucket
string
s3Prefix
string
s3Region
string

VaultConfig

(Appears on: RequirementsConfig)

VaultConfig contains Vault configuration for boot

Field Description
name
string

Name the name of the vault if using vault for secrets

bucket
string
keyring
string
key
string
serviceAccount
string
recreateBucket
bool
disableURLDiscovery
bool

Optionally allow us to override the default lookup of the Vault URL, could be incluster service or external ingress

aws
VaultAWSConfig

VeleroConfig

(Appears on: RequirementsConfig)

VeleroConfig contains the configuration for velero

Field Description
namespace
string

Namespace the namespace to install velero into

serviceAccount
string

ServiceAccount the cloud service account used to run velero

VersionStreamConfig

(Appears on: RequirementsConfig)

VersionStreamConfig contains version stream config

Field Description
url
string

URL of the version stream to use

ref
string

Ref of the version stream to use

WebhookType (string alias)

(Appears on: RequirementsConfig)

WebhookType is the type of a webhook strategy

WikiConfig

(Appears on: ProjectConfig)

Field Description
kind
string
url
string
space
string

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


Last modified November 15, 2019: release 0.0.1252 (fba040c)