v1alpha2

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2019 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the jenkins.io v1alpha2 API group +k8s:deepcopy-gen=package,register +groupName=jenkins.io

Package v1alpha2 contains API Schema definitions for the jenkins.io v1alpha2 API group +k8s:deepcopy-gen=package,register +groupName=jenkins.io

Index

Constants

View Source
const (
	// Kind defines Jenkins CRD kind name
	Kind = "Jenkins"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "jenkins.io", Version: "v1alpha2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

AllowedJenkinsCredentialMap contains all allowed Jenkins credentials types

Functions

func JenkinsTypeMeta added in v0.1.1

func JenkinsTypeMeta() metav1.TypeMeta

JenkinsTypeMeta returns Jenkins type meta

Types

type AppliedGroovyScript added in v0.2.0

type AppliedGroovyScript struct {
	// ConfigurationType is the name of the configuration type(base-groovy, user-groovy, user-casc)
	ConfigurationType string `json:"configurationType"`
	// Source is the name of source where is located groovy script
	Source string `json:"source"`
	// Name is the name of the groovy script
	Name string `json:"name"`
	// Hash is the hash of the groovy script and secrets which it uses
	Hash string
}

AppliedGroovyScript is the applied groovy script in Jenkins by the operator

func (*AppliedGroovyScript) DeepCopy added in v0.2.0

func (in *AppliedGroovyScript) DeepCopy() *AppliedGroovyScript

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppliedGroovyScript.

func (*AppliedGroovyScript) DeepCopyInto added in v0.2.0

func (in *AppliedGroovyScript) DeepCopyInto(out *AppliedGroovyScript)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Backup

type Backup struct {
	// ContainerName is the container name responsible for backup operation
	ContainerName string `json:"containerName"`

	// Action defines action which performs backup in backup container sidecar
	Action Handler `json:"action"`

	// Interval tells how often make backup in seconds
	// Defaults to 30.
	Interval uint64 `json:"interval"`

	// MakeBackupBeforePodDeletion tells operator to make backup before Jenkins master pod deletion
	MakeBackupBeforePodDeletion bool `json:"makeBackupBeforePodDeletion"`
}

Backup defines configuration of Jenkins backup

func (*Backup) DeepCopy

func (in *Backup) DeepCopy() *Backup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup.

func (*Backup) DeepCopyInto

func (in *Backup) DeepCopyInto(out *Backup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigMapRef added in v0.2.0

type ConfigMapRef struct {
	Name string `json:"name"`
}

ConfigMapRef is reference to Kubernetes ConfigMap

func (*ConfigMapRef) DeepCopy added in v0.2.0

func (in *ConfigMapRef) DeepCopy() *ConfigMapRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapRef.

func (*ConfigMapRef) DeepCopyInto added in v0.2.0

func (in *ConfigMapRef) DeepCopyInto(out *ConfigMapRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigurationAsCode added in v0.2.0

type ConfigurationAsCode struct {
	Customization
}

ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin

func (*ConfigurationAsCode) DeepCopy added in v0.2.0

func (in *ConfigurationAsCode) DeepCopy() *ConfigurationAsCode

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationAsCode.

func (*ConfigurationAsCode) DeepCopyInto added in v0.2.0

func (in *ConfigurationAsCode) DeepCopyInto(out *ConfigurationAsCode)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Container

type Container struct {
	// Name of the container specified as a DNS_LABEL.
	// Each container in a pod must have a unique name (DNS_LABEL).
	Name string `json:"name"`

	// Docker image name.
	// More info: https://kubernetes.io/docs/concepts/containers/images
	Image string `json:"image"`

	// Image pull policy.
	// One of Always, Never, IfNotPresent.
	// Defaults to Always.
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy"`

	// Compute Resources required by this container.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	Resources corev1.ResourceRequirements `json:"resources"`

	// Entrypoint array. Not executed within a shell.
	// The docker image's ENTRYPOINT is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax
	// can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
	// regardless of whether the variable exists or not.
	// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	// +optional
	Command []string `json:"command,omitempty"`

	// Arguments to the entrypoint.
	// The docker image's CMD is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax
	// can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
	// regardless of whether the variable exists or not.
	// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	// +optional
	Args []string `json:"args,omitempty"`

	// Container's working directory.
	// If not specified, the container runtime's default will be used, which
	// might be configured in the container image.
	// +optional
	WorkingDir string `json:"workingDir,omitempty"`

	// List of ports to expose from the container. Exposing a port here gives
	// the system additional information about the network connections a
	// container uses, but is primarily informational. Not specifying a port here
	// DOES NOT prevent that port from being exposed. Any port which is
	// listening on the default "0.0.0.0" address inside a container will be
	// accessible from the network.
	// +optional
	Ports []corev1.ContainerPort `json:"ports,omitempty"`

	// List of sources to populate environment variables in the container.
	// The keys defined within a source must be a C_IDENTIFIER. All invalid keys
	// will be reported as an event when the container is starting. When a key exists in multiple
	// sources, the value associated with the last source will take precedence.
	// Values defined by an Env with a duplicate key will take precedence.
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// List of environment variables to set in the container.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Pod volumes to mount into the container's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// Periodic probe of container liveness.
	// Container will be restarted if the probe fails.
	// +optional
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`

	// Periodic probe of container service readiness.
	// Container will be removed from service endpoints if the probe fails.
	// +optional
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`

	// Actions that the management system should take in response to container lifecycle events.
	// +optional
	Lifecycle *corev1.Lifecycle `json:"lifecycle,omitempty"`

	// Security options the pod should run with.
	// More info: https://kubernetes.io/docs/concepts/policy/security-context/
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
	// +optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
}

Container defines Kubernetes container attributes

func (*Container) DeepCopy

func (in *Container) DeepCopy() *Container

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Customization added in v0.2.0

type Customization struct {
	Secret         SecretRef      `json:"secret"`
	Configurations []ConfigMapRef `json:"configurations"`
}

Customization defines configuration of Jenkins customization

func (*Customization) DeepCopy added in v0.2.0

func (in *Customization) DeepCopy() *Customization

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Customization.

func (*Customization) DeepCopyInto added in v0.2.0

func (in *Customization) DeepCopyInto(out *Customization)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroovyScripts added in v0.2.0

type GroovyScripts struct {
	Customization
}

GroovyScripts defines configuration of Jenkins customization via groovy scripts

func (*GroovyScripts) DeepCopy added in v0.2.0

func (in *GroovyScripts) DeepCopy() *GroovyScripts

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroovyScripts.

func (*GroovyScripts) DeepCopyInto added in v0.2.0

func (in *GroovyScripts) DeepCopyInto(out *GroovyScripts)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Handler

type Handler struct {
	// Exec specifies the action to take.
	Exec *corev1.ExecAction `json:"exec,omitempty"`
}

Handler defines a specific action that should be taken

func (*Handler) DeepCopy

func (in *Handler) DeepCopy() *Handler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Handler.

func (*Handler) DeepCopyInto

func (in *Handler) DeepCopyInto(out *Handler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Jenkins

type Jenkins struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of the Jenkins
	Spec JenkinsSpec `json:"spec,omitempty"`

	// Status defines the observed state of Jenkins
	Status JenkinsStatus `json:"status,omitempty"`
}

Jenkins is the Schema for the jenkins API +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Jenkins) DeepCopy

func (in *Jenkins) DeepCopy() *Jenkins

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Jenkins.

func (*Jenkins) DeepCopyInto

func (in *Jenkins) DeepCopyInto(out *Jenkins)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Jenkins) DeepCopyObject

func (in *Jenkins) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Jenkins) GetObjectKind

func (in *Jenkins) GetObjectKind() schema.ObjectKind

GetObjectKind returns Jenkins object kind

func (*Jenkins) GroupVersionKind added in v0.1.1

func (in *Jenkins) GroupVersionKind() schema.GroupVersionKind

GroupVersionKind returns GroupVersionKind

func (*Jenkins) SetGroupVersionKind added in v0.1.1

func (in *Jenkins) SetGroupVersionKind(kind schema.GroupVersionKind)

SetGroupVersionKind sets GroupVersionKind

type JenkinsCredentialType

type JenkinsCredentialType string

JenkinsCredentialType defines type of Jenkins credential used to seed job mechanism

const (
	// NoJenkinsCredentialCredentialType define none Jenkins credential type
	NoJenkinsCredentialCredentialType JenkinsCredentialType = ""
	// BasicSSHCredentialType define basic SSH Jenkins credential type
	BasicSSHCredentialType JenkinsCredentialType = "basicSSHUserPrivateKey"
	// UsernamePasswordCredentialType define username & password Jenkins credential type
	UsernamePasswordCredentialType JenkinsCredentialType = "usernamePassword"
)

type JenkinsList

type JenkinsList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Jenkins `json:"items"`
}

JenkinsList contains a list of Jenkins

func (*JenkinsList) DeepCopy

func (in *JenkinsList) DeepCopy() *JenkinsList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsList.

func (*JenkinsList) DeepCopyInto

func (in *JenkinsList) DeepCopyInto(out *JenkinsList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JenkinsList) DeepCopyObject

func (in *JenkinsList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type JenkinsMaster

type JenkinsMaster struct {
	// 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
	// +optional
	Annotations map[string]string `json:"masterAnnotations,omitempty"`

	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// SecurityContext that applies to all the containers of the Jenkins
	// Master. As per kubernetes specification, it can be overridden
	// for each container individually.
	// +optional
	// Defaults to:
	// runAsUser: 1000
	// fsGroup: 1000
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

	// List of containers belonging to the pod.
	// Containers cannot currently be added or removed.
	// There must be at least one container in a Pod.
	// Defaults to:
	// - image: jenkins/jenkins:lts
	//   imagePullPolicy: Always
	//   livenessProbe:
	//     failureThreshold: 12
	//     httpGet:
	//       path: /login
	//       port: http
	//       scheme: HTTP
	//     initialDelaySeconds: 80
	//     periodSeconds: 10
	//     successThreshold: 1
	//     timeoutSeconds: 5
	//   name: jenkins-master
	//   readinessProbe:
	//     failureThreshold: 3
	//     httpGet:
	//       path: /login
	//       port: http
	//       scheme: HTTP
	//     initialDelaySeconds: 30
	//     periodSeconds: 10
	//     successThreshold: 1
	//     timeoutSeconds: 1
	//   resources:
	//     limits:
	//       cpu: 1500m
	//       memory: 3Gi
	//     requests:
	//       cpu: "1"
	//       memory: 600Mi
	Containers []Container `json:"containers,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use. For example,
	// in the case of docker, only DockerConfig type secrets are honored.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// List of volumes that can be mounted by containers belonging to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// BasePlugins contains plugins required by operator
	// Defaults to :
	// - name: kubernetes
	// version: 1.15.7
	// - name: workflow-job
	// version: "2.32"
	// - name: workflow-aggregator
	// version: "2.6"
	// - name: git
	// version: 3.10.0
	// - name: job-dsl
	// version: "1.74"
	// - name: configuration-as-code
	// version: "1.19"
	// - name: configuration-as-code-support
	// version: "1.19"
	// - name: kubernetes-credentials-provider
	// version: 0.12.1
	BasePlugins []Plugin `json:"basePlugins,omitempty"`

	// Plugins contains plugins required by user
	// +optional
	Plugins []Plugin `json:"plugins,omitempty"`
}

JenkinsMaster defines the Jenkins master pod attributes and plugins, every single change requires a Jenkins master pod restart

func (*JenkinsMaster) DeepCopy

func (in *JenkinsMaster) DeepCopy() *JenkinsMaster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsMaster.

func (*JenkinsMaster) DeepCopyInto

func (in *JenkinsMaster) DeepCopyInto(out *JenkinsMaster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JenkinsSpec

type JenkinsSpec struct {
	// Master represents Jenkins master pod properties and Jenkins plugins.
	// Every single change here requires a pod restart.
	Master JenkinsMaster `json:"master,omitempty"`

	// SeedJobs defines list of Jenkins Seed Job configurations
	// More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines
	// +optional
	SeedJobs []SeedJob `json:"seedJobs,omitempty"`

	// Service is Kubernetes service of Jenkins master HTTP pod
	// Defaults to :
	// port: 8080
	// type: ClusterIP
	// +optional
	Service Service `json:"service,omitempty"`

	// Service is Kubernetes service of Jenkins slave pods
	// Defaults to :
	// port: 50000
	// type: ClusterIP
	// +optional
	SlaveService Service `json:"slaveService,omitempty"`

	// Backup defines configuration of Jenkins backup
	// More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore
	// +optional
	Backup Backup `json:"backup,omitempty"`

	// Backup defines configuration of Jenkins backup restore
	// More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore
	// +optional
	Restore Restore `json:"restore,omitempty"`

	// GroovyScripts defines configuration of Jenkins customization via groovy scripts
	// +optional
	GroovyScripts GroovyScripts `json:"groovyScripts,omitempty"`

	// ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin
	// +optional
	ConfigurationAsCode ConfigurationAsCode `json:"configurationAsCode,omitempty"`
}

JenkinsSpec defines the desired state of the Jenkins +k8s:openapi-gen=true

func (*JenkinsSpec) DeepCopy

func (in *JenkinsSpec) DeepCopy() *JenkinsSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsSpec.

func (*JenkinsSpec) DeepCopyInto

func (in *JenkinsSpec) DeepCopyInto(out *JenkinsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JenkinsStatus

type JenkinsStatus struct {
	// OperatorVersion is the operator version which manages this CR
	// +optional
	OperatorVersion string `json:"operatorVersion,omitempty"`

	// ProvisionStartTime is a time when Jenkins master pod has been created
	// +optional
	ProvisionStartTime *metav1.Time `json:"provisionStartTime,omitempty"`

	// BaseConfigurationCompletedTime is a time when Jenkins base configuration phase has been completed
	// +optional
	BaseConfigurationCompletedTime *metav1.Time `json:"baseConfigurationCompletedTime,omitempty"`

	// UserConfigurationCompletedTime is a time when Jenkins user configuration phase has been completed
	// +optional
	UserConfigurationCompletedTime *metav1.Time `json:"userConfigurationCompletedTime,omitempty"`

	// RestoredBackup is the restored backup number after Jenkins master pod restart
	// +optional
	RestoredBackup uint64 `json:"restoredBackup,omitempty"`

	// LastBackup is the latest backup number
	// +optional
	LastBackup uint64 `json:"lastBackup,omitempty"`

	// PendingBackup is the pending backup number
	// +optional
	PendingBackup uint64 `json:"pendingBackup,omitempty"`

	// BackupDoneBeforePodDeletion tells if backup before pod deletion has been made
	// +optional
	BackupDoneBeforePodDeletion bool `json:"backupDoneBeforePodDeletion,omitempty"`

	// UserAndPasswordHash is a SHA256 hash made from user and password
	// +optional
	UserAndPasswordHash string `json:"userAndPasswordHash,omitempty"`

	// CreatedSeedJobs contains list of seed job id already created in Jenkins
	// +optional
	CreatedSeedJobs []string `json:"createdSeedJobs,omitempty"`

	// AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator
	// +optional
	AppliedGroovyScripts []AppliedGroovyScript `json:"appliedGroovyScripts,omitempty"`
}

JenkinsStatus defines the observed state of Jenkins +k8s:openapi-gen=true

func (*JenkinsStatus) DeepCopy

func (in *JenkinsStatus) DeepCopy() *JenkinsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsStatus.

func (*JenkinsStatus) DeepCopyInto

func (in *JenkinsStatus) DeepCopyInto(out *JenkinsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Mailgun added in v0.2.0

type Mailgun struct {
	Domain                  string            `json:"domain"`
	APIKeySecretKeySelector SecretKeySelector `json:"apiKeySecretKeySelector"`
	Recipient               string            `json:"recipient"`
	From                    string            `json:"from"`
}

Mailgun is handler for Mailgun email service notification channel

func (*Mailgun) DeepCopy added in v0.2.0

func (in *Mailgun) DeepCopy() *Mailgun

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mailgun.

func (*Mailgun) DeepCopyInto added in v0.2.0

func (in *Mailgun) DeepCopyInto(out *Mailgun)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MicrosoftTeams added in v0.2.0

type MicrosoftTeams struct {
	// The web hook URL to MicrosoftTeams App
	WebHookURLSecretKeySelector SecretKeySelector `json:"webHookURLSecretKeySelector"`
}

MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel

func (*MicrosoftTeams) DeepCopy added in v0.2.0

func (in *MicrosoftTeams) DeepCopy() *MicrosoftTeams

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MicrosoftTeams.

func (*MicrosoftTeams) DeepCopyInto added in v0.2.0

func (in *MicrosoftTeams) DeepCopyInto(out *MicrosoftTeams)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Notification added in v0.2.0

type Notification struct {
	LoggingLevel NotificationLogLevel `json:"loggingLevel"`
	Verbose      bool                 `json:"verbose"`
	Name         string               `json:"name"`
	Slack        *Slack               `json:"slack,omitempty"`
	Teams        *MicrosoftTeams      `json:"teams,omitempty"`
	Mailgun      *Mailgun             `json:"mailgun,omitempty"`
}

Notification is a service configuration used to send notifications about Jenkins status

func (*Notification) DeepCopy added in v0.2.0

func (in *Notification) DeepCopy() *Notification

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Notification.

func (*Notification) DeepCopyInto added in v0.2.0

func (in *Notification) DeepCopyInto(out *Notification)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NotificationLogLevel added in v0.2.0

type NotificationLogLevel string

NotificationLogLevel defines logging level of Notification

const (
	// NotificationLogLevelWarning - Only Warnings
	NotificationLogLevelWarning NotificationLogLevel = "warning"

	// NotificationLogLevelInfo - Only info
	NotificationLogLevelInfo NotificationLogLevel = "info"
)

type Plugin

type Plugin struct {
	// Name is the name of Jenkins plugin
	Name string `json:"name"`
	// Version is the version of Jenkins plugin
	Version string `json:"version"`
}

Plugin defines Jenkins plugin

func (*Plugin) DeepCopy

func (in *Plugin) DeepCopy() *Plugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.

func (*Plugin) DeepCopyInto

func (in *Plugin) DeepCopyInto(out *Plugin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Restore

type Restore struct {
	// ContainerName is the container name responsible for restore backup operation
	ContainerName string `json:"containerName"`

	// Action defines action which performs restore backup in restore container sidecar
	Action Handler `json:"action"`

	// RecoveryOnce if want to restore specific backup set this field and then Jenkins will be restarted and desired backup will be restored
	// +optional
	RecoveryOnce uint64 `json:"recoveryOnce,omitempty"`
}

Restore defines configuration of Jenkins backup restore operation

func (*Restore) DeepCopy

func (in *Restore) DeepCopy() *Restore

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Restore.

func (*Restore) DeepCopyInto

func (in *Restore) DeepCopyInto(out *Restore)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretKeySelector added in v0.2.0

type SecretKeySelector struct {
	// The name of the secret in the pod's namespace to select from.
	corev1.LocalObjectReference `json:"secret"`
	// The key of the secret to select from.  Must be a valid secret key.
	Key string `json:"key"`
}

SecretKeySelector selects a key of a Secret.

func (*SecretKeySelector) DeepCopy added in v0.2.0

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeySelector.

func (*SecretKeySelector) DeepCopyInto added in v0.2.0

func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretRef added in v0.2.0

type SecretRef struct {
	Name string `json:"name"`
}

SecretRef is reference to Kubernetes secret

func (*SecretRef) DeepCopy added in v0.2.0

func (in *SecretRef) DeepCopy() *SecretRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.

func (*SecretRef) DeepCopyInto added in v0.2.0

func (in *SecretRef) DeepCopyInto(out *SecretRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedJob

type SeedJob struct {
	// ID is the unique seed job name
	ID string `json:"id,omitempty"`

	// CredentialID is the Kubernetes secret name which stores repository access credentials
	CredentialID string `json:"credentialID,omitempty"`

	// Description is the description of the seed job
	// +optional
	Description string `json:"description,omitempty"`

	// Targets is the repository path where are seed job definitions
	Targets string `json:"targets,omitempty"`

	// RepositoryBranch is the repository branch where are seed job definitions
	RepositoryBranch string `json:"repositoryBranch,omitempty"`

	// RepositoryURL is the repository access URL. Can be SSH or HTTPS.
	RepositoryURL string `json:"repositoryUrl,omitempty"`

	// JenkinsCredentialType is the https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/ credential type
	// +optional
	JenkinsCredentialType JenkinsCredentialType `json:"credentialType,omitempty"`

	// GitHubPushTrigger is used for GitHub web hooks
	// +optional
	GitHubPushTrigger bool `json:"githubPushTrigger"`

	// BuildPeriodically is setting for scheduled trigger
	// +optional
	BuildPeriodically string `json:"buildPeriodically"`

	// PollSCM is setting for polling changes in SCM
	// +optional
	PollSCM string `json:"pollSCM"`

	// IgnoreMissingFiles is setting for Job DSL API plugin to ignore files that miss
	// +optional
	IgnoreMissingFiles bool `json:"ignoreMissingFiles"`

	// AdditionalClasspath is setting for Job DSL API plugin to set Additional Classpath
	// +optional
	AdditionalClasspath string `json:"additionalClasspath"`

	// FailOnMissingPlugin is setting for Job DSL API plugin that fails job if required plugin is missing
	// +optional
	FailOnMissingPlugin bool `json:"failOnMissingPlugin"`

	// UnstableOnDeprecation is setting for Job DSL API plugin that sets build status as unstable if build using deprecated features
	// +optional
	UnstableOnDeprecation bool `json:"unstableOnDeprecation"`
}

SeedJob defines configuration for seed job More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines

func (*SeedJob) DeepCopy

func (in *SeedJob) DeepCopy() *SeedJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedJob.

func (*SeedJob) DeepCopyInto

func (in *SeedJob) DeepCopyInto(out *SeedJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Service

type Service struct {
	// 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
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// 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/
	Labels map[string]string `json:"labels,omitempty"`

	// Type determines how the Service is exposed. Defaults to ClusterIP. Valid
	// options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
	// "ExternalName" maps to the specified externalName.
	// "ClusterIP" allocates a cluster-internal IP address for load-balancing to
	// endpoints. Endpoints are determined by the selector or if that is not
	// specified, by manual construction of an Endpoints object. If clusterIP is
	// "None", no virtual IP is allocated and the endpoints are published as a
	// set of endpoints rather than a stable IP.
	// "NodePort" builds on ClusterIP and allocates a port on every node which
	// routes to the clusterIP.
	// "LoadBalancer" builds on NodePort and creates an
	// external load-balancer (if supported in the current cloud) which routes
	// to the clusterIP.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types
	// +optional
	Type corev1.ServiceType `json:"type,omitempty"`

	// The port that are exposed by this service.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	Port int32 `json:"port,omitempty"`

	// The port on each node on which this service is exposed when type=NodePort or LoadBalancer.
	// Usually assigned by the system. If specified, it will be allocated to the service
	// if unused or else creation of the service will fail.
	// Default is to auto-allocate a port if the ServiceType of this Service requires one.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
	// +optional
	NodePort int32 `json:"nodePort,omitempty"`

	// 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/
	// +optional
	LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`

	// 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.
	// +optional
	LoadBalancerIP string `json:"loadBalancerIP,omitempty"`
}

Service defines Kubernetes service attributes

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Slack added in v0.2.0

type Slack struct {
	// The web hook URL to Slack App
	WebHookURLSecretKeySelector SecretKeySelector `json:"webHookURLSecretKeySelector"`
}

Slack is handler for Slack notification channel

func (*Slack) DeepCopy added in v0.2.0

func (in *Slack) DeepCopy() *Slack

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Slack.

func (*Slack) DeepCopyInto added in v0.2.0

func (in *Slack) DeepCopyInto(out *Slack)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL