v1alpha2

package
v0.0.0-...-6241ad3 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2021 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the jenkins v1alpha2 API group +kubebuilder:object:generate=true +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 (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "jenkins.io", Version: "v1alpha2"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: "jenkins.io", Version: "v1alpha2"}

SchemeGroupVersion is group version used to register these objects

Functions

func JenkinsTypeMeta

func JenkinsTypeMeta() metav1.TypeMeta

JenkinsTypeMeta returns Jenkins type meta

Types

type AuthorizationStrategy

type AuthorizationStrategy string

AuthorizationStrategy defines authorization strategy of the operator for the Jenkins API

const (
	// CreateUserAuthorizationStrategy operator sets HudsonPrivateSecurityRealm and FullControlOnceLoggedInAuthorizationStrategy than creates user using init.d groovy script
	CreateUserAuthorizationStrategy AuthorizationStrategy = "createUser"
	// ServiceAccountAuthorizationStrategy operator gets token associated with Jenkins service account and uses it as bearer token
	ServiceAccountAuthorizationStrategy AuthorizationStrategy = "serviceAccount"
)

type Backup

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

	Spec   BackupSpec   `json:"spec,omitempty"`
	Status BackupStatus `json:"status,omitempty"`
}

Backup is the Schema for the backups API

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.

func (*Backup) DeepCopyObject

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

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

type BackupList

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

BackupList contains a list of Backup

func (*BackupList) DeepCopy

func (in *BackupList) DeepCopy() *BackupList

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

func (*BackupList) DeepCopyInto

func (in *BackupList) DeepCopyInto(out *BackupList)

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

func (*BackupList) DeepCopyObject

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

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

type BackupOptions

type BackupOptions struct {
	Jobs    bool `json:"jobs"`
	Plugins bool `json:"plugins"`
	Config  bool `json:"config"`
}

BackupOptions specifies the options provided to user to backup between. default BackupStrategy sets all to true

func (*BackupOptions) DeepCopy

func (in *BackupOptions) DeepCopy() *BackupOptions

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

func (*BackupOptions) DeepCopyInto

func (in *BackupOptions) DeepCopyInto(out *BackupOptions)

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

type BackupSpec

type BackupSpec struct {
	JenkinsRef      string `json:"jenkinsRef,omitempty"`
	StrategyRef     string `json:"strategyRef,omitempty"`
	BackupVolumeRef string `json:"backupVolumeRef,omitempty"`
}

BackupSpec defines the desired state of Backup

func (*BackupSpec) DeepCopy

func (in *BackupSpec) DeepCopy() *BackupSpec

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

func (*BackupSpec) DeepCopyInto

func (in *BackupSpec) DeepCopyInto(out *BackupSpec)

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

type BackupStatus

type BackupStatus struct {
	// Conditions represent the latest available observations of an object's state
	Conditions status.Conditions `json:"conditions"`
}

BackupStatus defines the observed state of Backup

func (*BackupStatus) DeepCopy

func (in *BackupStatus) DeepCopy() *BackupStatus

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

func (*BackupStatus) DeepCopyInto

func (in *BackupStatus) DeepCopyInto(out *BackupStatus)

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

type BackupStrategy

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

	Spec   BackupStrategySpec   `json:"spec,omitempty"`
	Status BackupStrategyStatus `json:"status,omitempty"`
}

BackupStrategy is a reusable and referencable strategy used for backing up Jenkins instances and information available inside

func (*BackupStrategy) DeepCopy

func (in *BackupStrategy) DeepCopy() *BackupStrategy

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

func (*BackupStrategy) DeepCopyInto

func (in *BackupStrategy) DeepCopyInto(out *BackupStrategy)

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

func (*BackupStrategy) DeepCopyObject

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

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

type BackupStrategyList

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

BackupStrategyList contains a list of BackupStrategy

func (*BackupStrategyList) DeepCopy

func (in *BackupStrategyList) DeepCopy() *BackupStrategyList

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

func (*BackupStrategyList) DeepCopyInto

func (in *BackupStrategyList) DeepCopyInto(out *BackupStrategyList)

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

func (*BackupStrategyList) DeepCopyObject

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

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

type BackupStrategySpec

type BackupStrategySpec struct {
	// QuietDownDuringBackup will put the Jenkins instance in a QuietDown mode which prevents any new builds from taking place
	QuietDownDuringBackup bool `json:"quietDownDuringBackup,omitempty"`
	// Options specifies the options provided to user to backup between. default BackupStrategy sets all to true
	Options BackupOptions `json:"backupOptions"`
	// RestartAfterRestore will restart the Jenkins instance after a Restore
	RestartAfterRestore RestartConfig `json:"restartAfterRestore"`
}

BackupStrategySpec defines the desired state of BackupStrategy

func (*BackupStrategySpec) DeepCopy

func (in *BackupStrategySpec) DeepCopy() *BackupStrategySpec

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

func (*BackupStrategySpec) DeepCopyInto

func (in *BackupStrategySpec) DeepCopyInto(out *BackupStrategySpec)

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

type BackupStrategyStatus

type BackupStrategyStatus struct {
}

BackupStrategyStatus defines the observed state of BackupStrategy

func (*BackupStrategyStatus) DeepCopy

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

func (*BackupStrategyStatus) DeepCopyInto

func (in *BackupStrategyStatus) DeepCopyInto(out *BackupStrategyStatus)

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

type BackupVolume

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

	Spec   BackupVolumeSpec   `json:"spec,omitempty"`
	Status BackupVolumeStatus `json:"status,omitempty"`
}

BackupVolume is the Schema for the backupvolumes API

func (*BackupVolume) DeepCopy

func (in *BackupVolume) DeepCopy() *BackupVolume

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

func (*BackupVolume) DeepCopyInto

func (in *BackupVolume) DeepCopyInto(out *BackupVolume)

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

func (*BackupVolume) DeepCopyObject

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

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

type BackupVolumeList

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

BackupVolumeList contains a list of BackupVolume

func (*BackupVolumeList) DeepCopy

func (in *BackupVolumeList) DeepCopy() *BackupVolumeList

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

func (*BackupVolumeList) DeepCopyInto

func (in *BackupVolumeList) DeepCopyInto(out *BackupVolumeList)

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

func (*BackupVolumeList) DeepCopyObject

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

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

type BackupVolumeSpec

type BackupVolumeSpec struct {
	PersistentVolumeClaimName string `json:"pvcName,omitempty"`
	StorageClassName          string `json:"storageClassName,omitempty"`
	Size                      string `json:"size,omitempty"`
}

BackupVolumeSpec defines the desired state of BackupVolume

func (*BackupVolumeSpec) DeepCopy

func (in *BackupVolumeSpec) DeepCopy() *BackupVolumeSpec

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

func (*BackupVolumeSpec) DeepCopyInto

func (in *BackupVolumeSpec) DeepCopyInto(out *BackupVolumeSpec)

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

type BackupVolumeStatus

type BackupVolumeStatus struct {
	Conditions status.Conditions `json:"conditions,omitempty"`
}

BackupVolumeStatus defines the observed state of BackupVolume

func (*BackupVolumeStatus) DeepCopy

func (in *BackupVolumeStatus) DeepCopy() *BackupVolumeStatus

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

func (*BackupVolumeStatus) DeepCopyInto

func (in *BackupVolumeStatus) DeepCopyInto(out *BackupVolumeStatus)

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

type ConfigMapRef

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

ConfigMapRef is reference to Kubernetes ConfigMap

func (*ConfigMapRef) DeepCopy

func (in *ConfigMapRef) DeepCopy() *ConfigMapRef

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

func (*ConfigMapRef) DeepCopyInto

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

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

type Configuration

type Configuration struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable this configuration",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	Enabled          bool           `json:"enabled"`
	DefaultConfig    bool           `json:"defaultConfig"`
	Secret           SecretRef      `json:"secret,omitempty"`
	Configurations   []ConfigMapRef `json:"configurations,omitempty"`
	EnableAutoReload bool           `json:"enableAutoReload"`
}

Configuration defines a Jenkins Configuration

func (*Configuration) DeepCopy

func (in *Configuration) DeepCopy() *Configuration

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

func (*Configuration) DeepCopyInto

func (in *Configuration) DeepCopyInto(out *Configuration)

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,omitempty"`

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

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

type Image struct {
	// The Image name
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Name string `json:"name"`
	// The tag name
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Tag string `json:"tag,omitempty"`
	// The registry to pull from or push to this image in the form fully.qdn/myrepository/
	// Image name will be appended for push
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Registry string `json:"registry,omitempty"`
	// Secret is an optional reference to a secret in the same namespace to use for pushing to or pulling from the registry.
	// +operator-sdk:csv:customresourcedefinitions:xDescriptors="urn:alm:descriptor:io.kubernetes:Secret"
	Secret string `json:"secret,omitempty"`
}

A JenkinsImage definition

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

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:object:root=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) GetCRName

func (jenkins *Jenkins) GetCRName() string

nolint: stylecheck

func (*Jenkins) GetNamespace

func (jenkins *Jenkins) GetNamespace() string

func (*Jenkins) GetObjectKind

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

GetObjectKind returns Jenkins object kind

func (*Jenkins) GroupVersionKind

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

GroupVersionKind returns GroupVersionKind

func (*Jenkins) SetGroupVersionKind

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

SetGroupVersionKind sets GroupVersionKind

type JenkinsAPISettings

type JenkinsAPISettings struct {
	AuthorizationStrategy AuthorizationStrategy `json:"authorizationStrategy"`
}

JenkinsAPISettings defines configuration used by the operator to gain admin access to the Jenkins API

func (*JenkinsAPISettings) DeepCopy

func (in *JenkinsAPISettings) DeepCopy() *JenkinsAPISettings

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

func (*JenkinsAPISettings) DeepCopyInto

func (in *JenkinsAPISettings) DeepCopyInto(out *JenkinsAPISettings)

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

type JenkinsImage

type JenkinsImage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              JenkinsImageSpec   `json:"spec,omitempty"`
	Status            JenkinsImageStatus `json:"status,omitempty"`
}

JenkinsImage is the Schema for the jenkinsimages API +kubebuilder:subresource:status +kubebuilder:resource:path=jenkinsimages,scope=Namespaced

func (*JenkinsImage) DeepCopy

func (in *JenkinsImage) DeepCopy() *JenkinsImage

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

func (*JenkinsImage) DeepCopyInto

func (in *JenkinsImage) DeepCopyInto(out *JenkinsImage)

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

func (*JenkinsImage) DeepCopyObject

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

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

type JenkinsImageBuild

type JenkinsImageBuild struct {
	// +operator-sdk:csv:customresourcedefinitions.type=status
	Image            string `json:"image,omitempty"`
	MD5Sum           string `json:"md5sum,omitempty"`
	InstalledPlugins string `json:"installedPlugins,omitempty"`
}

func (*JenkinsImageBuild) DeepCopy

func (in *JenkinsImageBuild) DeepCopy() *JenkinsImageBuild

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

func (*JenkinsImageBuild) DeepCopyInto

func (in *JenkinsImageBuild) DeepCopyInto(out *JenkinsImageBuild)

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

type JenkinsImageList

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

+kubebuilder:object:root=true JenkinsImageList contains a list of JenkinsImage

func (*JenkinsImageList) DeepCopy

func (in *JenkinsImageList) DeepCopy() *JenkinsImageList

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

func (*JenkinsImageList) DeepCopyInto

func (in *JenkinsImageList) DeepCopyInto(out *JenkinsImageList)

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

func (*JenkinsImageList) DeepCopyObject

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

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

type JenkinsImagePhase

type JenkinsImagePhase string
const (
	ImageBuildSuccessful JenkinsImagePhase = "ImageBuildSuccessful"
	ImageBuildPending    JenkinsImagePhase = "ImageBuildPending"
)

type JenkinsImageSpec

type JenkinsImageSpec struct {
	From Image `json:"from"`
	To   Image `json:"to"`
	// Plugins list
	Plugins []JenkinsPlugin `json:"plugins,omitempty"`
	// DefaultUpdateCenter is a customer update center url from which all plugins will be downloaded.
	// if not specified, https://updates.jenkins.io/ is used
	DefaultUpdateCenter string `json:"defaultUpdateCenter,omitempty"`
}

JenkinsImageSpec defines the desired state of JenkinsImage

func (*JenkinsImageSpec) DeepCopy

func (in *JenkinsImageSpec) DeepCopy() *JenkinsImageSpec

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

func (*JenkinsImageSpec) DeepCopyInto

func (in *JenkinsImageSpec) DeepCopyInto(out *JenkinsImageSpec)

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

type JenkinsImageStatus

type JenkinsImageStatus struct {
	Phase  JenkinsImagePhase   `json:"phase,default:ImageBuildPending"`
	Builds []JenkinsImageBuild `json:"builds"`
}

JenkinsImageStatus defines the observed state of JenkinsImage

func (*JenkinsImageStatus) DeepCopy

func (in *JenkinsImageStatus) DeepCopy() *JenkinsImageStatus

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

func (*JenkinsImageStatus) DeepCopyInto

func (in *JenkinsImageStatus) DeepCopyInto(out *JenkinsImageStatus)

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

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:"annotations,omitempty"`

	// 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
	// Deprecated: will be removed in the future, please use Annotations(annotations)
	// +optional
	AnnotationsDeprecated map[string]string `json:"masterAnnotations,omitempty"`

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

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

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

	// PriorityClassName for Jenkins master pod
	// +optional
	PriorityClassName string `json:"priorityClassName,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 JenkinsPersistentSpec

type JenkinsPersistentSpec struct {
	Enabled          bool   `json:"enabled,omitempty"`
	StorageClassName string `json:"storageClassName,omitempty"`
	VolumeSize       string `json:"volumeSize,omitempty"`
}

func (*JenkinsPersistentSpec) DeepCopy

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

func (*JenkinsPersistentSpec) DeepCopyInto

func (in *JenkinsPersistentSpec) DeepCopyInto(out *JenkinsPersistentSpec)

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

type JenkinsPlugin

type JenkinsPlugin struct {
	Name    string `json:"name"`
	Version string `json:"version,omitempty"`
	// UpdateCenter is a specific update center url from which this plugin will be downloaded. If not
	// specified, DefaultUpdateCenter is used.
	UpdateCenter string `json:"updateCenter,omitempty"`
}

Defines Jenkins Plugin structure

func (*JenkinsPlugin) DeepCopy

func (in *JenkinsPlugin) DeepCopy() *JenkinsPlugin

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

func (*JenkinsPlugin) DeepCopyInto

func (in *JenkinsPlugin) DeepCopyInto(out *JenkinsPlugin)

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

	// JenkinsImageRef a reference to a JenkinsImage in the current namespace. The JenkinsImage must have
	// status to be "SuccessfullyBuilt" ; then the image target image in JenkinsImage.To will be used
	// as the image of the Master container.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="JenkinsImage reference",xDescriptors="urn:alm:descriptor:io.jenkins:JenkinsImage"
	JenkinsImageRef string `json:"jenkinsImageRef,omitempty"`

	ForceBasePluginsInstall bool `json:"forceBasePluginsInstall,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 agent pods
	// Defaults to :
	// port: 50000
	// type: ClusterIP
	// +optional
	JNLPService Service `json:"jnlpService,omitempty"`

	// Roles defines list of extra RBAC roles for the Jenkins Master pod service account
	// +optional
	Roles []rbacv1.RoleRef `json:"roles,omitempty"`

	// ServiceAccount defines Jenkins master service account attributes
	// +optional
	ServiceAccount ServiceAccount `json:"serviceAccount,omitempty"`

	// JenkinsAPISettings defines configuration used by the operator to gain admin access to the Jenkins API
	JenkinsAPISettings JenkinsAPISettings `json:"jenkinsAPISettings,omitempty"`

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

	// BackupEnabled defines whether backup feature is enabled
	BackupVolumes []string `json:"backupVolumes,omitempty"`

	// MetricsEnabled defines whether prometheus metrics are enabled
	MetricsEnabled bool `json:"metricsEnabled,omitempty"`

	// ProxyConfigurationEnabled defines whether openshift global proxy configuration is enabled
	// if enabled, and if a global proxy is set in openshift, the operator will automatically
	// configure the jenkins proxy
	ProxyConfigurationEnabled bool `json:"proxyConfigurationEnabled,omitempty"`

	// PersistentSpec
	PersistentSpec JenkinsPersistentSpec `json:"persistentSpec,omitempty"`
}

JenkinsSpec defines the desired state of the Jenkins. +k8s:openapi-gen=true +operator-sdk:csv:customresourcedefinitions:displayName="Jenkins"

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

	// Conditions describes the state of the jenkins resource.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Conditions []conditionsv1.Condition `json:"conditions,omitempty"  patchStrategy:"merge" patchMergeKey:"type"`

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

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

	// Spec defines the effective state of the Jenkins
	Spec *JenkinsSpec `json:"spec,omitempty"`
}

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 NotificationLevel

type NotificationLevel string

NotificationLevel defines the level of a Notification.

const (
	// NotificationLevelWarning - Only Warnings
	NotificationLevelWarning NotificationLevel = "warning"

	// NotificationLevelInfo - Only info
	NotificationLevelInfo NotificationLevel = "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"`
	// DownloadURL is the custom url from where plugin has to be downloaded.
	DownloadURL string `json:"downloadURL,omitempty"`
}

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 RestartConfig

type RestartConfig struct {
	Enabled bool `json:"enabled"`
	Safe    bool `json:"safe,omitempty"`
}

Config for Restart (applies only to Restore

func (*RestartConfig) DeepCopy

func (in *RestartConfig) DeepCopy() *RestartConfig

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

func (*RestartConfig) DeepCopyInto

func (in *RestartConfig) DeepCopyInto(out *RestartConfig)

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

type Restore

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

	Spec   RestoreSpec   `json:"spec,omitempty"`
	Status RestoreStatus `json:"status,omitempty"`
}

Restore is the Schema for the restores API

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.

func (*Restore) DeepCopyObject

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

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

type RestoreList

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

RestoreList contains a list of Restore

func (*RestoreList) DeepCopy

func (in *RestoreList) DeepCopy() *RestoreList

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

func (*RestoreList) DeepCopyInto

func (in *RestoreList) DeepCopyInto(out *RestoreList)

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

func (*RestoreList) DeepCopyObject

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

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

type RestoreSpec

type RestoreSpec struct {
	BackupRef string `json:"backupRef,omitempty"`
}

RestoreSpec defines the desired state of Restore

func (*RestoreSpec) DeepCopy

func (in *RestoreSpec) DeepCopy() *RestoreSpec

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

func (*RestoreSpec) DeepCopyInto

func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec)

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

type RestoreStatus

type RestoreStatus struct {
	Conditions status.Conditions `json:"conditions"`
}

RestoreStatus defines the observed state of Restore

func (*RestoreStatus) DeepCopy

func (in *RestoreStatus) DeepCopy() *RestoreStatus

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

func (*RestoreStatus) DeepCopyInto

func (in *RestoreStatus) DeepCopyInto(out *RestoreStatus)

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

type SecretKeySelector

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

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

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

func (*SecretKeySelector) DeepCopyInto

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

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

SecretRef is reference to Kubernetes secret

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

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

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/
	// +optional
	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 PortName that are exposed by this service.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	PortName string `json:"portName,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 ServiceAccount

type ServiceAccount 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"`
}

ServiceAccount defines Kubernetes service account attributes

func (*ServiceAccount) DeepCopy

func (in *ServiceAccount) DeepCopy() *ServiceAccount

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

func (*ServiceAccount) DeepCopyInto

func (in *ServiceAccount) DeepCopyInto(out *ServiceAccount)

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