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
- Variables
- type ClusterNodeConfig
- type ClusterNodeConfigAdvanced
- type DeploymentStatus
- type DeploymentStatuses
- type NodeConfig
- type PodStatuses
- type ServerType
- type SonarQube
- type SonarQubeList
- type SonarQubeServer
- type SonarQubeServerList
- type SonarQubeServerSpec
- type SonarQubeServerStatus
- type SonarQubeSpec
- type SonarQubeStatus
- type Upgrades
Constants ¶
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 status.ConditionType = "Unavailable" )
Condition Types
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
const ( SecretAnnotation = "sonarqube.sonarsource.parflesh.github.io/database" ServerSecretAnnotation = "sonarqubeserver.sonarsource.parflesh.github.io/database" )
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" )
const ( ApplicationWebPort int32 = 9000 ApplicationPort int32 = 9003 ApplicationCEPort int32 = 9004 SearchPort int32 = 9001 )
Variables ¶
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 ¶
func (in *ClusterNodeConfigAdvanced) DeepCopy() *ClusterNodeConfigAdvanced
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNodeConfigAdvanced.
func (*ClusterNodeConfigAdvanced) DeepCopyInto ¶
func (in *ClusterNodeConfigAdvanced) DeepCopyInto(out *ClusterNodeConfigAdvanced)
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" )
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SonarQube.
func (*SonarQube) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SonarQube) DeepCopyObject ¶
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 ¶
func (in *SonarQubeServerStatus) DeepCopy() *SonarQubeServerStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Upgrades.
func (*Upgrades) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.