v1alpha1

package
v0.0.0-...-0979d6c Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2020 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the sonarsource v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=sonarsource.parflesh.github.io

Package v1alpha1 contains API Schema definitions for the sonarsource v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=sonarsource.parflesh.github.io

Index

Constants

View Source
const (
	// ConditionInvalid means that there is a misconfiguration that can not be corrected by the operator.
	ConditionInvalid status.ConditionType = "Invalid"
	// ConditionProgressing means that for some reason the state of the resources did not match the expected state.
	// Resources are being updated to meet expected state.
	ConditionProgressing status.ConditionType = "Progressing"
	// ConditionShutdown means that the resources have been shutdown.
	ConditionShutdown status.ConditionType = "Shutdown"
	// ConditionUnavailable means that the application is not available.
	ConditionUnavailable status.ConditionType = "Unavailable"
)

Condition Types

View Source
const (
	// ConditionResourcesCreating means that resources are being created
	ConditionResourcesCreating status.ConditionReason = "CreatingResources"
	// ConditionReasourceUpdating means that resources are updating
	ConditionReasourcesUpdating status.ConditionReason = "ResourcesUpdating"
	// ConditionReasourceInvalid means that one or more resources are invalid
	ConditionReasourcesInvalid status.ConditionReason = "ResourcesInvalid"
	// ConditionSpecInvalid means that the current spec would result in an invalid running configuration
	ConditionSpecInvalid status.ConditionReason = "SpecInvalid"
	// ConditionConfigured means that the current spec specified meeting this condition
	ConditionConfigured status.ConditionReason = "Configured"
)

Condition Reasons

View Source
const (
	SecretAnnotation       = "sonarqube.sonarsource.parflesh.github.io/database"
	ServerSecretAnnotation = "sonarqubeserver.sonarsource.parflesh.github.io/database"
)
View Source
const (
	KubeAppComponent = "app.kubernetes.io/component"
	KubeAppPartof    = "app.kubernetes.io/part-of"
	KubeAppVersion   = "app.kubernetes.io/version"
	KubeAppInstance  = "app.kubernetes.io/instance"
	KubeAppManagedby = "app.kubernetes.io/managed-by"
	KubeAppName      = "app.kubernetes.io/name"
	TypeLabel        = "sonarsource.parflesh.github.io/SonarQube"
	ServerTypeLabel  = "sonarsource.parflesh.github.io/SonarQubeServer"
)
View Source
const (
	ApplicationWebPort int32 = 9000
	ApplicationPort    int32 = 9003
	ApplicationCEPort  int32 = 9004
	SearchPort         int32 = 9001
)

Variables

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

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

Functions

This section is empty.

Types

type ClusterNodeConfig

type ClusterNodeConfig struct {
	// Node type (all, application, or search)
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Type"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:select:all,urn:alm:descriptor:com.tectonic.ui:select:application,urn:alm:descriptor:com.tectonic.ui:select:search,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfig,urn:alm:descriptor:com.tectonic.ui:advanced"
	Type string `json:"type"`

	// Storage class
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Storage Class"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:StorageClass,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfig,urn:alm:descriptor:com.tectonic.ui:advanced"
	StorageClass *string `json:"storageClass,omitempty"`

	// Size of Storage (ex 1Gi)
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Storage Size"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfig,urn:alm:descriptor:com.tectonic.ui:advanced"
	StorageSize *string `json:"storageSize,omitempty"`
}

func (*ClusterNodeConfig) DeepCopy

func (in *ClusterNodeConfig) DeepCopy() *ClusterNodeConfig

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

func (*ClusterNodeConfig) DeepCopyInto

func (in *ClusterNodeConfig) DeepCopyInto(out *ClusterNodeConfig)

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

type ClusterNodeConfigAdvanced

type ClusterNodeConfigAdvanced struct {
	// Node type (all, application, or search)
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Type"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:select:all,urn:alm:descriptor:com.tectonic.ui:select:application,urn:alm:descriptor:com.tectonic.ui:select:search,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfigAdvanced,urn:alm:descriptor:com.tectonic.ui:advanced"
	Type string `json:"type"`

	// Node selector
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfigAdvanced,urn:alm:descriptor:com.tectonic.ui:advanced"
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// Node Affinity
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Affinity"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:nodeAffinity,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfigAdvanced,urn:alm:descriptor:com.tectonic.ui:advanced"
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`

	// Pod Affinity
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Pod Affinity"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:podAffinity,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfigAdvanced,urn:alm:descriptor:com.tectonic.ui:advanced"
	PodAffinity *corev1.PodAffinity `json:"podAffinity,omitempty"`

	// Pod AntiAffinity
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Pod AntiAffinity"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:podAntiAffinity,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfigAdvanced,urn:alm:descriptor:com.tectonic.ui:advanced"
	PodAntiAffinity *corev1.PodAntiAffinity `json:"podAntiAffinity,omitempty"`

	// Priority Class Name
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Priority Class"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfigAdvanced,urn:alm:descriptor:com.tectonic.ui:advanced"
	PriorityClass *string `json:"priorityClass,omitempty"`

	// Resource requirements
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resources"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:resourceRequirements,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:NodeConfigAdvanced,urn:alm:descriptor:com.tectonic.ui:advanced"
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*ClusterNodeConfigAdvanced) DeepCopy

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

func (*ClusterNodeConfigAdvanced) DeepCopyInto

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

type DeploymentStatus

type DeploymentStatus string
const (
	DeploymentReady       DeploymentStatus = "Ready"
	DeploymentAvailable   DeploymentStatus = "Available"
	DeploymentUpdating    DeploymentStatus = "Updating"
	DeploymentUnavailable DeploymentStatus = "Unavailable"
)

type DeploymentStatuses

type DeploymentStatuses map[DeploymentStatus][]string

func (DeploymentStatuses) DeepCopy

func (in DeploymentStatuses) DeepCopy() DeploymentStatuses

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

func (DeploymentStatuses) DeepCopyInto

func (in DeploymentStatuses) DeepCopyInto(out *DeploymentStatuses)

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

type NodeConfig

type NodeConfig struct {
	// Node selector
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node,urn:alm:descriptor:com.tectonic.ui:advanced"
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// Node Affinity
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Affinity"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:nodeAffinity,urn:alm:descriptor:com.tectonic.ui:advanced"
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`

	// Pod Affinity
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Pod Affinity"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:podAffinity,urn:alm:descriptor:com.tectonic.ui:advanced"
	PodAffinity *corev1.PodAffinity `json:"podAffinity,omitempty"`

	// Pod AntiAffinity
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Pod AntiAffinity"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:podAntiAffinity,urn:alm:descriptor:com.tectonic.ui:advanced"
	PodAntiAffinity *corev1.PodAntiAffinity `json:"podAntiAffinity,omitempty"`

	// Priority Class Name
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Priority Class"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:advanced"
	PriorityClass *string `json:"priorityClass,omitempty"`

	// Resource requirements
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resources"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:resourceRequirements,urn:alm:descriptor:com.tectonic.ui:advanced"
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Storage class
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Storage Class"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:StorageClass"
	StorageClass *string `json:"storageClass,omitempty"`

	// Size of Storage (ex 1Gi)
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Storage Size"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	StorageSize *string `json:"storageSize,omitempty"`
}

func (*NodeConfig) DeepCopy

func (in *NodeConfig) DeepCopy() *NodeConfig

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

func (*NodeConfig) DeepCopyInto

func (in *NodeConfig) DeepCopyInto(out *NodeConfig)

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

type PodStatuses

type PodStatuses map[corev1.PodPhase][]string

func (PodStatuses) DeepCopy

func (in PodStatuses) DeepCopy() PodStatuses

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

func (PodStatuses) DeepCopyInto

func (in PodStatuses) DeepCopyInto(out *PodStatuses)

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

type ServerType

type ServerType string
const (
	AIO         ServerType = "aio"
	Application ServerType = "application"
	Search      ServerType = "search"
)

type SonarQube

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

	Spec   SonarQubeSpec   `json:"spec,omitempty"`
	Status SonarQubeStatus `json:"status,omitempty"`
}

SonarQube is the Schema for the sonarqubes API +kubebuilder:subresource:status +kubebuilder:resource:path=sonarqubes,scope=Namespaced +operator-sdk:gen-csv:customresourcedefinitions.displayName="SonarQube Cluster" +operator-sdk:gen-csv:customresourcedefinitions.resources="SonarQube,v1alpha1,\"\"" +operator-sdk:gen-csv:customresourcedefinitions.resources="Service,v1,\"\"" +operator-sdk:gen-csv:customresourcedefinitions.resources="Secret,v1,\"\""

func (*SonarQube) DeepCopy

func (in *SonarQube) DeepCopy() *SonarQube

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

func (*SonarQube) DeepCopyInto

func (in *SonarQube) DeepCopyInto(out *SonarQube)

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

func (*SonarQube) DeepCopyObject

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

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

type SonarQubeList

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

SonarQubeList contains a list of SonarQube

func (*SonarQubeList) DeepCopy

func (in *SonarQubeList) DeepCopy() *SonarQubeList

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

func (*SonarQubeList) DeepCopyInto

func (in *SonarQubeList) DeepCopyInto(out *SonarQubeList)

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

func (*SonarQubeList) DeepCopyObject

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

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

type SonarQubeServer

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

	Spec   SonarQubeServerSpec   `json:"spec,omitempty"`
	Status SonarQubeServerStatus `json:"status,omitempty"`
}

SonarQubeServer is the Schema for the sonarqubeservers API +kubebuilder:subresource:status +kubebuilder:resource:path=sonarqubeservers,scope=Namespaced +operator-sdk:gen-csv:customresourcedefinitions.displayName="SonarQube Server" +operator-sdk:gen-csv:customresourcedefinitions.resources="Service,v1,\"\"" +operator-sdk:gen-csv:customresourcedefinitions.resources="Secret,v1,\"\"" +operator-sdk:gen-csv:customresourcedefinitions.resources="Deployment,v1,\"\""

func (*SonarQubeServer) DeepCopy

func (in *SonarQubeServer) DeepCopy() *SonarQubeServer

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

func (*SonarQubeServer) DeepCopyInto

func (in *SonarQubeServer) DeepCopyInto(out *SonarQubeServer)

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

func (*SonarQubeServer) DeepCopyObject

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

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

type SonarQubeServerList

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

SonarQubeServerList contains a list of SonarQubeServer

func (*SonarQubeServerList) DeepCopy

func (in *SonarQubeServerList) DeepCopy() *SonarQubeServerList

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

func (*SonarQubeServerList) DeepCopyInto

func (in *SonarQubeServerList) DeepCopyInto(out *SonarQubeServerList)

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

func (*SonarQubeServerList) DeepCopyObject

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

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

type SonarQubeServerSpec

type SonarQubeServerSpec struct {
	// Shutdown SonarQube server
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Shutdown"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	Shutdown *bool `json:"shutdown,omitempty"`

	// if empty operator will start latest version of selected edition then lock the version
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Version"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:advanced"
	Version *string `json:"version,omitempty"`

	// community, developer, or enterprise (default is community)
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Edition"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:advanced"
	// +kubebuilder:validation:Enum=community;developer;enterprise
	Edition *string `json:"edition,omitempty"`

	// Automatically apply minor version updates
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Minor"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:checkbox,urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:fieldGroup:updates"
	UpdatesMinor *bool `json:"updatesMinor,omitempty"`

	// Automatically apply major version updates
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Major"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:checkbox,urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:fieldGroup:updates"
	UpdatesMajor *bool `json:"updatesMajor,omitempty"`

	// Secret with sonar configuration files (sonar.properties, wrapper.properties).
	// Don't add cluster properties to configuration files as this could cause unexpected results
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Secret"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret"
	Secret *string `json:"secret,omitempty"`

	// Sonar Node Type application or search when clustering is enabled otherwise aio (all-in-one)
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Server Type"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:select:aio,urn:alm:descriptor:com.tectonic.ui:select:application,urn:alm:descriptor:com.tectonic.ui:select:search"
	// +kubebuilder:validation:Enum=aio;application;search
	Type *ServerType `json:"type,omitempty"`

	// SonarQube application hosts list
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Hosts"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:hosts,urn:alm:descriptor:com.tectonic.ui:advanced"
	Hosts []string `json:"hosts,omitempty"`

	// SonarQube search hosts list
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Search Hosts"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:searchHosts,urn:alm:descriptor:com.tectonic.ui:advanced"
	SearchHosts []string `json:"searchHosts,omitempty"`

	// Service Account
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Service Account"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	ServiceAccount *string `json:"serviceAccount,omitempty"`

	// External base URL
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="External URL"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	ExternalURL *string `json:"externalURL,omitempty"`

	// Node Configuration
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=false
	NodeConfig NodeConfig `json:"nodeConfig,omitempty"`
}

SonarQubeServerSpec defines the desired state of SonarQubeServer

func (*SonarQubeServerSpec) DeepCopy

func (in *SonarQubeServerSpec) DeepCopy() *SonarQubeServerSpec

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

func (*SonarQubeServerSpec) DeepCopyInto

func (in *SonarQubeServerSpec) DeepCopyInto(out *SonarQubeServerSpec)

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

type SonarQubeServerStatus

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

	// Kubernetes service that can be used to expose SonarQubeServer
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.displayName="Service"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Service"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Service string `json:"service,omitempty"`

	// Status of pods
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.displayName="Pod Statuses"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses"
	Deployment DeploymentStatuses `json:"deployment,omitempty"`

	// Hash of latest spec & controller version for revision tracking
	Revision string `json:"revision,omitempty"`

	// Current observed version of SonarQube
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.displayName="Observed Version"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=false
	ObservedVersion string `json:"observedVersion,omitempty"`

	Upgrades Upgrades `json:"upgrades,omitempty"`
}

SonarQubeServerStatus defines the observed state of SonarQubeServer

func (*SonarQubeServerStatus) DeepCopy

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

func (*SonarQubeServerStatus) DeepCopyInto

func (in *SonarQubeServerStatus) DeepCopyInto(out *SonarQubeServerStatus)

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

type SonarQubeSpec

type SonarQubeSpec struct {

	// Number of SonarQube application nodes
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Size"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:number"
	Size int32 `json:"size"`

	// if empty operator will start latest version of selected edition
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Version"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:advanced"
	Version *string `json:"version,omitempty"`

	// community, developer, or enterprise (default is community)
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Edition"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:advanced"
	Edition *string `json:"edition,omitempty"`

	// Automatically apply minor version updates
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Minor"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:checkbox,urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:fieldGroup:updates"
	UpdatesMinor *bool `json:"updatesMinor,omitempty"`

	// Automatically apply major version updates
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Major"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:checkbox,urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:fieldGroup:updates"
	UpdatesMajor *bool `json:"updatesMajor,omitempty"`

	// Secret with sonar configuration files (sonar.properties, wrapper.properties).
	// Don't add cluster properties to configuration files as this could cause unexpected results
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Secret"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret"
	Secret *string `json:"secret,omitempty"`

	// Shutdown SonarQube cluster
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Shutdown"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	Shutdown *bool `json:"shutdown,omitempty"`

	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=false
	NodeConfig []ClusterNodeConfig `json:"nodeConfig,omitempty"`

	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=false
	NodeConfigAdvanced []ClusterNodeConfigAdvanced `json:"nodeConfigAdvanced,omitempty"`

	// Service Account
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Service Account"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text,urn:alm:descriptor:com.tectonic.ui:advanced"
	ServiceAccount *string `json:"serviceAccount,omitempty"`
}

SonarQubeSpec defines the desired state of SonarQube

func (*SonarQubeSpec) DeepCopy

func (in *SonarQubeSpec) DeepCopy() *SonarQubeSpec

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

func (*SonarQubeSpec) DeepCopyInto

func (in *SonarQubeSpec) DeepCopyInto(out *SonarQubeSpec)

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

type SonarQubeStatus

type SonarQubeStatus struct {
	// Conditions represent the latest available observations of an object's state
	// +optional
	Conditions status.Conditions `json:"conditions,omitempty"`

	// Kubernetes service that can be used to expose SonarQube
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.displayName="Service"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Service"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Service string `json:"service,omitempty"`

	// Status of pods
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.displayName="Pod Statuses"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses"
	Deployments DeploymentStatuses `json:"deployments,omitempty"`

	// Status of search pods
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.displayName="Search Pod Statuses"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	SearchDeployments DeploymentStatuses `json:"searchDeployments,omitempty"`

	// Hash of latest revision for tracking
	Revision string `json:"revision,omitempty"`
}

SonarQubeStatus defines the observed state of SonarQube

func (*SonarQubeStatus) DeepCopy

func (in *SonarQubeStatus) DeepCopy() *SonarQubeStatus

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

func (*SonarQubeStatus) DeepCopyInto

func (in *SonarQubeStatus) DeepCopyInto(out *SonarQubeStatus)

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

type Upgrades

type Upgrades struct {
	Compatible   []string `json:"compatible,omitempty"`
	Incompatible []string `json:"incompatible,omitempty"`
}

func (*Upgrades) DeepCopy

func (in *Upgrades) DeepCopy() *Upgrades

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

func (*Upgrades) DeepCopyInto

func (in *Upgrades) DeepCopyInto(out *Upgrades)

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