Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the opstrace v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=opstrace.com
Package v1alpha1 contains API Schema definitions for the opstrace.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=opstrace.com
Index ¶
- Variables
- type ClickHouseCRSpec
- type ClickHouseComponentsSpec
- type ClickHouseOverridesSpec
- type ClickHouseSpec
- type Cluster
- type ClusterList
- type ClusterOverridesSpec
- type ClusterSpec
- type ClusterStatus
- type ComponentsSpec
- type DNSSpec
- type Deployment
- type DeploymentSpec
- type ExternalDNSCloudflareSpec
- type ExternalDNSGCPSpec
- type ExternalDNSProviderSpec
- type GeneralOverridesSpec
- type GitLabNamespace
- type GitLabNamespaceList
- type GitLabNamespaceSpec
- type GitLabNamespaceStatus
- type GitLabObservabilityTenant
- type GitLabObservabilityTenantList
- type GitLabObservabilityTenantOverridesSpec
- type GitLabObservabilityTenantSpec
- type GitLabObservabilityTenantStatus
- type GitLabSpec
- type Ingress
- type KustomizeOverridesSpec
- type LogLevel
- type ProjectConfig
- type Service
- type ServiceMonitor
- type ServiceMonitorSpec
- type StatefulSet
- type StatefulSetSpec
- type TenantOverridesSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "opstrace.com", Version: "v1alpha1"} // 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 )
Functions ¶
This section is empty.
Types ¶
type ClickHouseCRSpec ¶
type ClickHouseCRSpec struct { // +optional Labels map[string]string `json:"labels,omitempty"` // +optional Annotations map[string]string `json:"annotations,omitempty"` // This spec is actually a copy of the one provided in Clickhouse operator with changes made for optional fields. // +optional Spec *ClickHouseSpec `json:"spec,omitempty"` }
func (*ClickHouseCRSpec) DeepCopy ¶
func (in *ClickHouseCRSpec) DeepCopy() *ClickHouseCRSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClickHouseCRSpec.
func (*ClickHouseCRSpec) DeepCopyInto ¶
func (in *ClickHouseCRSpec) DeepCopyInto(out *ClickHouseCRSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClickHouseComponentsSpec ¶
type ClickHouseComponentsSpec struct { // +optional Service Service `json:"service,omitempty"` // +optional Deployment ClickHouseCRSpec `json:"deployment,omitempty"` // +optional ServiceMonitor ServiceMonitor `json:"serviceMonitor,omitempty"` }
func (*ClickHouseComponentsSpec) DeepCopy ¶
func (in *ClickHouseComponentsSpec) DeepCopy() *ClickHouseComponentsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClickHouseComponentsSpec.
func (*ClickHouseComponentsSpec) DeepCopyInto ¶
func (in *ClickHouseComponentsSpec) DeepCopyInto(out *ClickHouseComponentsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClickHouseOverridesSpec ¶
type ClickHouseOverridesSpec struct { // +optional Components ClickHouseComponentsSpec `json:"components,omitempty"` // +optional ClickHouseCloudDSN *v1.SecretKeySelector `json:"clickHouseCloudDSN,omitempty"` }
func (*ClickHouseOverridesSpec) DeepCopy ¶
func (in *ClickHouseOverridesSpec) DeepCopy() *ClickHouseOverridesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClickHouseOverridesSpec.
func (*ClickHouseOverridesSpec) DeepCopyInto ¶
func (in *ClickHouseOverridesSpec) DeepCopyInto(out *ClickHouseOverridesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClickHouseSpec ¶
type ClickHouseSpec struct { // Image is the ClickHouse docker image to be used for nodes. // +optional Image string `json:"image,omitempty"` // Replicas is the number of desired nodes to run. // The instance will always be deployed in distributed mode, even if replicas=1. // Optional to discriminate between explicit zero and not set. // +optional Replicas *int32 `json:"replicas,omitempty"` // ServerResourceRequirements is the description of resource requests & limits // for the ClickHouse server application container. // +optional ServerResourceRequirements *v1.ResourceRequirements `json:"resources,omitempty"` // StorageSize is the amount of block storage capacity to allocate per replica. // +optional StorageSize resource.Quantity `json:"storageSize,omitempty"` // NodeSelector applies pod template NodeSelector to the ClickHouse StatefulSets. // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional // +mapType=atomic NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Affinity has any restrictions on replica placement in the cluster. // This is copied through to the nodes. // +optional Affinity *v1.Affinity `json:"affinity,omitempty"` // Tolerations are optional pod template Tolerations for ClickHouse StatefulSets. // More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ // +optional Tolerations []v1.Toleration `json:"tolerations,omitempty"` // StorageClass is the storage class to use for data volumes // +optional StorageClass *string `json:"storageClass,omitempty"` // InternalSSL is a flag to enable ssl between server/clients of the Clickhouse deployment. // Defaults to false. Assumes that certmanager is installed in the cluster. // +optional // +kubebuilder:default=false InternalSSL *bool `json:"internalSSL,omitempty"` // AdminUsers contains one or more admin users (access_management=1) to create in the instance. // Additional non-admin users may be added via ClickHouse APIs using these credentials. // +optional AdminUsers []clickhousev1alpha1.ClickHouseAdmin `json:"adminUsers,omitempty"` // ObjectStorage is the configuration for the object storage that will be used by ClickHouse. // +optional ObjectStorage *clickhousev1alpha1.ClickHouseObjectStorage `json:"objectStorage,omitempty"` }
ClickHouseSpec defines the desired state of ClickHouse. This is copied from gitlab.com/gitlab-org/opstrace/opstrace/clickhouse-operator/api/v1alpha1/clickhouse_types.go with changes made to have all fields optional with omitempty for overrides.
func (*ClickHouseSpec) DeepCopy ¶
func (in *ClickHouseSpec) DeepCopy() *ClickHouseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClickHouseSpec.
func (*ClickHouseSpec) DeepCopyInto ¶
func (in *ClickHouseSpec) DeepCopyInto(out *ClickHouseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec,omitempty"` Status ClusterStatus `json:"status,omitempty"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope="Cluster" Cluster is the Schema for the Clusters API.
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status ClusterList contains a list of Cluster.
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterOverridesSpec ¶
type ClusterOverridesSpec struct { // +optional ClickHouseOperator *KustomizeOverridesSpec `json:"clickhouseOperator"` // +optional ClickHouse ClickHouseOverridesSpec `json:"clickhouse"` // +optional JaegerOperator *KustomizeOverridesSpec `json:"jaegerOperator"` // +optional CertManager *KustomizeOverridesSpec `json:"certManager"` // +optional PrometheusOperator *KustomizeOverridesSpec `json:"prometheusOperator"` // +optional Prometheus *KustomizeOverridesSpec `json:"prometheus"` // +optional RedisOperator *KustomizeOverridesSpec `json:"redisOperator"` // +optional Redis *KustomizeOverridesSpec `json:"redis"` // +optional ExternalDNS *KustomizeOverridesSpec `json:"externalDNS"` // +optional Gatekeeper *KustomizeOverridesSpec `json:"gatekeeper"` // +optional IngressController *KustomizeOverridesSpec `json:"ingressController"` // +optional ErrorTrackingAPI *KustomizeOverridesSpec `json:"errorTrackingAPI"` // +optional Reloader *KustomizeOverridesSpec `json:"reloader"` // +optional Monitoring *KustomizeOverridesSpec `json:"monitoring"` // +optional Storage *KustomizeOverridesSpec `json:"storage"` // +optional TraceQueryAPI *KustomizeOverridesSpec `json:"traceQueryAPI"` // +optional ProvisioningAPI *KustomizeOverridesSpec `json:"provisioningAPI"` // +optional OpenTelemetryOperator *KustomizeOverridesSpec `json:"openTelemetryOperator"` // +optional QueryAPI *KustomizeOverridesSpec `json:"queryAPI"` }
func (*ClusterOverridesSpec) DeepCopy ¶
func (in *ClusterOverridesSpec) DeepCopy() *ClusterOverridesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOverridesSpec.
func (*ClusterOverridesSpec) DeepCopyInto ¶
func (in *ClusterOverridesSpec) DeepCopyInto(out *ClusterOverridesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSpec ¶
type ClusterSpec struct { // Optional namespace for deploying cluster resources (tenants will still have separate namespaces). // Defaults to the default namespace // +optional Namespace string `json:"namespace"` // Target environment (aws, gcp, kind) Target common.EnvironmentTarget `json:"target"` // GitLab instance integration config GitLab GitLabSpec `json:"gitlab"` // Cluster-wide image pull secrets (NOTE: Not plumbed to all components yet) ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // DNS configuration // +optional DNS DNSSpec `json:"dns"` // Set overrides for components and config // +optional Overrides ClusterOverridesSpec `json:"overrides"` // Setup features for cluster and its resources // +optional Features map[string]string `json:"features,omitempty"` }
ClusterSpec defines the desired state of Cluster.
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSpec) GetHost ¶
func (t *ClusterSpec) GetHost() string
return host part of domain. Returns the same value for gob.local or gob.local:9443
func (*ClusterSpec) GetHostURL ¶
func (t *ClusterSpec) GetHostURL() string
func (*ClusterSpec) UseExternalDNS ¶
func (t *ClusterSpec) UseExternalDNS() bool
check if we should configure externalDNS.
type ClusterStatus ¶
type ClusterStatus struct { Conditions []metav1.Condition `json:"conditions,omitempty"` // Inventory contains the list of Kubernetes resource object references that have been successfully applied. // +optional Inventory map[string]*v1beta2.ResourceInventory `json:"inventory,omitempty"` // LastMigrationApplied refers to the version of the migrations last applied successfully // +optional LastMigrationApplied *string `json:"lastMigrationApplied,omitempty"` // LastCloudMigrationApplied refers to version of the migrations last applied for cloud instance. // +optional LastCloudMigrationApplied *string `json:"lastCloudMigrationApplied,omitempty"` }
ClusterStatus defines the observed state of Cluster.
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentsSpec ¶
type ComponentsSpec struct { // +optional Ingress Ingress `json:"ingress"` // +optional Service Service `json:"service"` // +optional Deployment Deployment `json:"deployment"` // +optional StatefulSet StatefulSet `json:"statefulset"` // +optional ServiceMonitor ServiceMonitor `json:"serviceMonitor"` }
func (*ComponentsSpec) DeepCopy ¶
func (in *ComponentsSpec) DeepCopy() *ComponentsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentsSpec.
func (*ComponentsSpec) DeepCopyInto ¶
func (in *ComponentsSpec) DeepCopyInto(out *ComponentsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSSpec ¶
type DNSSpec struct { // Certificate Issuer (letsencrypt-prod or letsencrypt-staging) CertificateIssuer string `json:"certificateIssuer,omitempty"` // Cluster domain e.g. observe.gitlab.com Domain *string `json:"domain,omitempty"` // Used to configure a DNS01 challenge provider to be used when solving DNS01 // challenges. // Only one DNS provider may be configured per solver. // +optional DNS01Challenge cmacme.ACMEChallengeSolverDNS01 `json:"dns01Challenge,omitempty"` // ACMEEmail is the email address to be associated with the ACME account. // It will be used to contact you in case of issues with your account or certificates, // including expiry notification emails. This field may be updated after the account is // initially registered // +optional ACMEEmail string `json:"acmeEmail,omitempty"` // ACMEServer is the URL used to access the ACME server's 'directory' endpoint. // For example, for Let's Encrypt's staging endpoint, // you would use: "https://acme-staging-v02.api.letsencrypt.org/directory". // Only ACME v2 endpoints (i.e. RFC 8555) are supported. ACMEserver *string `json:"acmeServer,omitempty"` // ExternalDNS provider config // +optional ExternalDNSProvider ExternalDNSProviderSpec `json:"externalDNSProvider,omitempty"` // GCPCertManagerServiceAccount is the service account for managing DNS on GCP. // This field is only relevant if the Domain specified is hosted in GCP. // +optional GCPCertManagerServiceAccount *string `json:"gcpCertManagerServiceAccount,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 FirewallSourceIPsAllowed []string `json:"firewallSourceIPsAllowed"` }
func (*DNSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSpec.
func (*DNSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Deployment ¶
type Deployment struct { // +optional Annotations map[string]string `json:"annotations,omitempty"` // +optional Labels map[string]string `json:"labels,omitempty"` // +optional Spec *DeploymentSpec `json:"spec,omitempty"` }
Deployment provides a means to configure the deployment.
func (*Deployment) DeepCopy ¶
func (in *Deployment) DeepCopy() *Deployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Deployment.
func (*Deployment) DeepCopyInto ¶
func (in *Deployment) DeepCopyInto(out *Deployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentSpec ¶
type DeploymentSpec struct { // Number of desired pods. This is a pointer to distinguish between explicit // zero and not specified. Defaults to 1. // +optional Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"` // Label selector for pods. Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. // It must match the pod template's labels. // +optional Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"` // Template describes the pods that will be created. // +optional Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"` // The deployment strategy to use to replace existing pods with new ones. // +optional // +patchStrategy=retainKeys Strategy appsv1.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys" protobuf:"bytes,4,opt,name=strategy"` // Minimum number of seconds for which a newly created pod should be ready // without any of its container crashing, for it to be considered available. // Defaults to 0 (pod will be considered available as soon as it is ready) // +optional MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,5,opt,name=minReadySeconds"` // The number of old ReplicaSets to retain to allow rollback. // This is a pointer to distinguish between explicit zero and not specified. // Defaults to 10. // +optional RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,6,opt,name=revisionHistoryLimit"` // Indicates that the deployment is paused. // +optional Paused bool `json:"paused,omitempty" protobuf:"varint,7,opt,name=paused"` // The maximum time in seconds for a deployment to make progress before it // is considered to be failed. The deployment controller will continue to // process failed deployments and a condition with a ProgressDeadlineExceeded // reason will be surfaced in the deployment status. Note that progress will // not be estimated during the time a deployment is paused. Defaults to 600s. ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"` }
////////////////////////////// Below is all copied from k8s.io/api/apps/v1 and changed all fields to be optional with omitempty for overrides. ///////////////////////////// DeploymentSpec is the specification of the desired behavior of the Deployment.
func (*DeploymentSpec) DeepCopy ¶
func (in *DeploymentSpec) DeepCopy() *DeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentSpec.
func (*DeploymentSpec) DeepCopyInto ¶
func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalDNSCloudflareSpec ¶
type ExternalDNSCloudflareSpec struct { // Reference to a Secret object containing auth credentials for your Cloudflare DNS setup // (see: https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/cloudflare.md#creating-cloudflare-credentials) CFAuthSecret v1.LocalObjectReference `json:"cloudflareSecret"` // Zone ID to restrict management to a specific zone // +optional ZoneID *string `json:"zoneId,omitempty"` }
func (*ExternalDNSCloudflareSpec) DeepCopy ¶
func (in *ExternalDNSCloudflareSpec) DeepCopy() *ExternalDNSCloudflareSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDNSCloudflareSpec.
func (*ExternalDNSCloudflareSpec) DeepCopyInto ¶
func (in *ExternalDNSCloudflareSpec) DeepCopyInto(out *ExternalDNSCloudflareSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalDNSGCPSpec ¶
type ExternalDNSGCPSpec struct { // Service account name in GCP IAM to use for managing dns zone DNSServiceAccountName string `json:"dnsServiceAccountName"` // ManagedZoneName is the name of the managed zone to use for DNS records. // If not specified, the zone name will be derived from the cluster domain. // +optional ManagedZoneName *string `json:"managedZoneName,omitempty"` }
func (*ExternalDNSGCPSpec) DeepCopy ¶
func (in *ExternalDNSGCPSpec) DeepCopy() *ExternalDNSGCPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDNSGCPSpec.
func (*ExternalDNSGCPSpec) DeepCopyInto ¶
func (in *ExternalDNSGCPSpec) DeepCopyInto(out *ExternalDNSGCPSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalDNSProviderSpec ¶
type ExternalDNSProviderSpec struct { // +optional GCP *ExternalDNSGCPSpec `json:"gcp,omitempty"` // +optional Cloudflare *ExternalDNSCloudflareSpec `json:"cloudflare,omitempty"` }
func (*ExternalDNSProviderSpec) DeepCopy ¶
func (in *ExternalDNSProviderSpec) DeepCopy() *ExternalDNSProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDNSProviderSpec.
func (*ExternalDNSProviderSpec) DeepCopyInto ¶
func (in *ExternalDNSProviderSpec) DeepCopyInto(out *ExternalDNSProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GeneralOverridesSpec ¶
type GeneralOverridesSpec struct { // +optional Components ComponentsSpec `json:"components"` }
func (*GeneralOverridesSpec) DeepCopy ¶
func (in *GeneralOverridesSpec) DeepCopy() *GeneralOverridesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GeneralOverridesSpec.
func (*GeneralOverridesSpec) DeepCopyInto ¶
func (in *GeneralOverridesSpec) DeepCopyInto(out *GeneralOverridesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitLabNamespace ¶
type GitLabNamespace struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GitLabNamespaceSpec `json:"spec,omitempty"` Status GitLabNamespaceStatus `json:"status,omitempty"` }
GitLabNamespace is the Schema for the gitlabnamespaces API.
func (*GitLabNamespace) DeepCopy ¶
func (in *GitLabNamespace) DeepCopy() *GitLabNamespace
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabNamespace.
func (*GitLabNamespace) DeepCopyInto ¶
func (in *GitLabNamespace) DeepCopyInto(out *GitLabNamespace)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitLabNamespace) DeepCopyObject ¶
func (in *GitLabNamespace) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GitLabNamespace) IsTopLevel ¶
func (c *GitLabNamespace) IsTopLevel() bool
Returns true if this namespace represents the toplevel/root namespace, i.e. this group is equivalent to the tenant.
func (*GitLabNamespace) Namespace ¶
func (c *GitLabNamespace) Namespace() string
We create a Kubernetes namespace that maps to the top level GitLab namespace.
type GitLabNamespaceList ¶
type GitLabNamespaceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GitLabNamespace `json:"items"` }
GitLabNamespaceList contains a list of GitLabNamespace.
func (*GitLabNamespaceList) DeepCopy ¶
func (in *GitLabNamespaceList) DeepCopy() *GitLabNamespaceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabNamespaceList.
func (*GitLabNamespaceList) DeepCopyInto ¶
func (in *GitLabNamespaceList) DeepCopyInto(out *GitLabNamespaceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitLabNamespaceList) DeepCopyObject ¶
func (in *GitLabNamespaceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitLabNamespaceSpec ¶
type GitLabNamespaceSpec struct { ID int64 `json:"id"` // The top level namespace in GitLab TopLevelNamespaceID int64 `json:"top_level_namespace_id"` Name string `json:"name"` Path string `json:"path"` FullPath string `json:"full_path"` AvatarURL string `json:"avatar_url"` WebURL string `json:"web_url"` // Set overrides for components and config // +optional Overrides TenantOverridesSpec `json:"overrides"` // Setup features for group and its resources // +optional Features map[string]string `json:"features,omitempty"` }
GitLabNamespaceSpec defines the desired state of GitLabNamespace.
func (*GitLabNamespaceSpec) DeepCopy ¶
func (in *GitLabNamespaceSpec) DeepCopy() *GitLabNamespaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabNamespaceSpec.
func (*GitLabNamespaceSpec) DeepCopyInto ¶
func (in *GitLabNamespaceSpec) DeepCopyInto(out *GitLabNamespaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitLabNamespaceStatus ¶
type GitLabNamespaceStatus struct { Conditions []metav1.Condition `json:"conditions,omitempty"` // Inventory contains the list of Kubernetes resource object references that have been successfully applied. // +optional Inventory map[string]*v1beta2.ResourceInventory `json:"inventory,omitempty"` }
GitLabNamespaceStatus defines the observed state of GitLabNamespace.
func (*GitLabNamespaceStatus) DeepCopy ¶
func (in *GitLabNamespaceStatus) DeepCopy() *GitLabNamespaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabNamespaceStatus.
func (*GitLabNamespaceStatus) DeepCopyInto ¶
func (in *GitLabNamespaceStatus) DeepCopyInto(out *GitLabNamespaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitLabObservabilityTenant ¶
type GitLabObservabilityTenant struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GitLabObservabilityTenantSpec `json:"spec,omitempty"` Status GitLabObservabilityTenantStatus `json:"status,omitempty"` }
GitLabObservabilityTenant is the Schema for the GitLabObservabilityTenants API.
func (*GitLabObservabilityTenant) DeepCopy ¶
func (in *GitLabObservabilityTenant) DeepCopy() *GitLabObservabilityTenant
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabObservabilityTenant.
func (*GitLabObservabilityTenant) DeepCopyInto ¶
func (in *GitLabObservabilityTenant) DeepCopyInto(out *GitLabObservabilityTenant)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitLabObservabilityTenant) DeepCopyObject ¶
func (in *GitLabObservabilityTenant) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GitLabObservabilityTenant) Namespace ¶
func (t *GitLabObservabilityTenant) Namespace() string
type GitLabObservabilityTenantList ¶
type GitLabObservabilityTenantList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GitLabObservabilityTenant `json:"items"` }
GitLabObservabilityTenantList contains a list of GitLabObservabilityTenant.
func (*GitLabObservabilityTenantList) DeepCopy ¶
func (in *GitLabObservabilityTenantList) DeepCopy() *GitLabObservabilityTenantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabObservabilityTenantList.
func (*GitLabObservabilityTenantList) DeepCopyInto ¶
func (in *GitLabObservabilityTenantList) DeepCopyInto(out *GitLabObservabilityTenantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitLabObservabilityTenantList) DeepCopyObject ¶
func (in *GitLabObservabilityTenantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitLabObservabilityTenantOverridesSpec ¶
type GitLabObservabilityTenantOverridesSpec struct { // +optional OTELCollector *KustomizeOverridesSpec `json:"otelcollector,omitempty"` }
func (*GitLabObservabilityTenantOverridesSpec) DeepCopy ¶
func (in *GitLabObservabilityTenantOverridesSpec) DeepCopy() *GitLabObservabilityTenantOverridesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabObservabilityTenantOverridesSpec.
func (*GitLabObservabilityTenantOverridesSpec) DeepCopyInto ¶
func (in *GitLabObservabilityTenantOverridesSpec) DeepCopyInto(out *GitLabObservabilityTenantOverridesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitLabObservabilityTenantSpec ¶
type GitLabObservabilityTenantSpec struct { // top level namespace in GitLab to which this tenant belongs TopLevelNamespaceID int64 `json:"topLevelNamespaceID"` // cluster to which this tenant belongs // +optional Cluster *string `json:"cluster,omitempty"` // set overrides for all tenant components and their configuration // +optional Overrides GitLabObservabilityTenantOverridesSpec `json:"overrides,omitempty"` }
func (*GitLabObservabilityTenantSpec) DeepCopy ¶
func (in *GitLabObservabilityTenantSpec) DeepCopy() *GitLabObservabilityTenantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabObservabilityTenantSpec.
func (*GitLabObservabilityTenantSpec) DeepCopyInto ¶
func (in *GitLabObservabilityTenantSpec) DeepCopyInto(out *GitLabObservabilityTenantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitLabObservabilityTenantStatus ¶
type GitLabObservabilityTenantStatus struct { Conditions []metav1.Condition `json:"conditions,omitempty"` // Inventory contains the list of Kubernetes resource object references that have been successfully applied. // +optional Inventory map[string]*v1beta2.ResourceInventory `json:"inventory,omitempty"` }
func (*GitLabObservabilityTenantStatus) DeepCopy ¶
func (in *GitLabObservabilityTenantStatus) DeepCopy() *GitLabObservabilityTenantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabObservabilityTenantStatus.
func (*GitLabObservabilityTenantStatus) DeepCopyInto ¶
func (in *GitLabObservabilityTenantStatus) DeepCopyInto(out *GitLabObservabilityTenantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitLabSpec ¶
type GitLabSpec struct { InstanceURL string `json:"instanceUrl"` AuthSecret v1.LocalObjectReference `json:"authSecret"` }
func (*GitLabSpec) DeepCopy ¶
func (in *GitLabSpec) DeepCopy() *GitLabSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabSpec.
func (*GitLabSpec) DeepCopyInto ¶
func (in *GitLabSpec) DeepCopyInto(out *GitLabSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitLabSpec) TrimInstanceURL ¶
func (g *GitLabSpec) TrimInstanceURL() string
Trims trailing slash from InstanceURL
type Ingress ¶
type Ingress struct { // +optional Annotations map[string]string `json:"annotations,omitempty"` // +optional Labels map[string]string `json:"labels,omitempty"` // +optional Spec *netv1.IngressSpec `json:"spec,omitempty"` }
Ingress provides a means to configure the ingress created.
func (*Ingress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KustomizeOverridesSpec ¶
type KustomizeOverridesSpec struct { // CommonLabels to add to all objects and selectors. CommonLabels map[string]string `json:"commonLabels,omitempty" yaml:"commonLabels,omitempty"` // Labels to add to all objects but not selectors. Follows schema of // sigs.k8s.io/kustomize/api/types/labels.Label Labels []types.Label `json:"labels,omitempty" yaml:"labels,omitempty"` // CommonAnnotations to add to all objects. CommonAnnotations map[string]string `json:"commonAnnotations,omitempty" yaml:"commonAnnotations,omitempty"` // Patches is a list of patches, where each one can be either a // Strategic Merge Patch or a JSON patch. // Each patch can be applied to multiple target objects. Patches []types.Patch `json:"patches,omitempty" yaml:"patches,omitempty"` // Images is a list of (image name, new name, new tag or digest) // for changing image names, tags or digests. This can also be achieved with a // patch, but this operator is simpler to specify. Images []types.Image `json:"images,omitempty" yaml:"images,omitempty"` // Replicas is a list of {resourcename, count} that allows for simpler replica // specification. This can also be done with a patch. Replicas []types.Replica `json:"replicas,omitempty" yaml:"replicas,omitempty"` }
func (*KustomizeOverridesSpec) DeepCopy ¶
func (in *KustomizeOverridesSpec) DeepCopy() *KustomizeOverridesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizeOverridesSpec.
func (*KustomizeOverridesSpec) DeepCopyInto ¶
func (in *KustomizeOverridesSpec) DeepCopyInto(out *KustomizeOverridesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogLevel ¶
type LogLevel string
LogLevel defines verbosity for cluster wide logging. Supported values are "info", "warn", "debug", "error". Default is "info" +kubebuilder:validation:Enum=trace;debug;error;warn;info
type ProjectConfig ¶
type ProjectConfig struct { metav1.TypeMeta `json:",inline"` // ControllerManagerConfigurationSpec returns the configurations for controllers cfg.ControllerManagerConfigurationSpec `json:",inline"` // Set Log level, default is "info" // +optional LogLevel LogLevel `json:"logLevel"` }
ProjectConfig is the Schema for the projectconfigs API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true
func (*ProjectConfig) DeepCopy ¶
func (in *ProjectConfig) DeepCopy() *ProjectConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfig.
func (*ProjectConfig) DeepCopyInto ¶
func (in *ProjectConfig) DeepCopyInto(out *ProjectConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProjectConfig) DeepCopyObject ¶
func (in *ProjectConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Service ¶
type Service struct { // +optional Annotations map[string]string `json:"annotations,omitempty"` // +optional Labels map[string]string `json:"labels,omitempty"` // +optional Spec *v1.ServiceSpec `json:"spec,omitempty"` }
Service provides a means to configure the service.
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceMonitor ¶
type ServiceMonitor struct { // +optional Annotations map[string]string `json:"annotations,omitempty"` // +optional Labels map[string]string `json:"labels,omitempty"` // +optional Spec *ServiceMonitorSpec `json:"spec,omitempty"` }
func (*ServiceMonitor) DeepCopy ¶
func (in *ServiceMonitor) DeepCopy() *ServiceMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMonitor.
func (*ServiceMonitor) DeepCopyInto ¶
func (in *ServiceMonitor) DeepCopyInto(out *ServiceMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceMonitorSpec ¶
type ServiceMonitorSpec struct { // Chooses the label of the Kubernetes `Endpoints`. // Its value will be used for the `job`-label's value of the created metrics. // // Default & fallback value: the name of the respective Kubernetes `Endpoint`. // +optional JobLabel string `json:"jobLabel,omitempty"` // TargetLabels transfers labels from the Kubernetes `Service` onto the created metrics. // +optional TargetLabels []string `json:"targetLabels,omitempty"` // PodTargetLabels transfers labels on the Kubernetes `Pod` onto the created metrics. // +optional PodTargetLabels []string `json:"podTargetLabels,omitempty"` // A list of endpoints allowed as part of this ServiceMonitor. // +optional Endpoints []monitoring.Endpoint `json:"endpoints,omitempty"` // Selector to select Endpoints objects. // +optional Selector metav1.LabelSelector `json:"selector,omitempty"` // Selector to select which namespaces the Kubernetes Endpoints objects are discovered from. // +optional NamespaceSelector monitoring.NamespaceSelector `json:"namespaceSelector,omitempty"` // SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. // +optional SampleLimit uint64 `json:"sampleLimit,omitempty"` // TargetLimit defines a limit on the number of scraped targets that will be accepted. // +optional TargetLimit uint64 `json:"targetLimit,omitempty"` // Per-scrape limit on number of labels that will be accepted for a sample. // Only valid in Prometheus versions 2.27.0 and newer. // +optional LabelLimit uint64 `json:"labelLimit,omitempty"` // Per-scrape limit on length of labels name that will be accepted for a sample. // Only valid in Prometheus versions 2.27.0 and newer. // +optional LabelNameLengthLimit uint64 `json:"labelNameLengthLimit,omitempty"` // Per-scrape limit on length of labels value that will be accepted for a sample. // Only valid in Prometheus versions 2.27.0 and newer. // +optional LabelValueLengthLimit uint64 `json:"labelValueLengthLimit,omitempty"` }
////////////////////////////// Below is all copied from github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1 and changed all fields to be optional with omitempty for overrides. ///////////////////////////// ServiceMonitorSpec contains specification parameters for a ServiceMonitor.
func (*ServiceMonitorSpec) DeepCopy ¶
func (in *ServiceMonitorSpec) DeepCopy() *ServiceMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMonitorSpec.
func (*ServiceMonitorSpec) DeepCopyInto ¶
func (in *ServiceMonitorSpec) DeepCopyInto(out *ServiceMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatefulSet ¶
type StatefulSet struct { // +optional Annotations map[string]string `json:"annotations,omitempty"` // +optional Labels map[string]string `json:"labels,omitempty"` // +optional Spec *StatefulSetSpec `json:"spec,omitempty"` }
StatefulSet provides a means to configure the deployment.
func (*StatefulSet) DeepCopy ¶
func (in *StatefulSet) DeepCopy() *StatefulSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSet.
func (*StatefulSet) DeepCopyInto ¶
func (in *StatefulSet) DeepCopyInto(out *StatefulSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatefulSetSpec ¶
type StatefulSetSpec struct { // replicas is the desired number of replicas of the given Template. // These are replicas in the sense that they are instantiations of the // same Template, but individual replicas also have a consistent identity. // If unspecified, defaults to 1. // TODO: Consider a rename of this field. // +optional Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"` // selector is a label query over pods that should match the replica count. // It must match the pod template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors // +optional Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"` // template is the object that describes the pod that will be created if // insufficient replicas are detected. Each pod stamped out by the StatefulSet // will fulfill this Template, but have a unique identity from the rest // of the StatefulSet. // +optional Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"` // volumeClaimTemplates is a list of claims that pods are allowed to reference. // The StatefulSet controller is responsible for mapping network identities to // claims in a way that maintains the identity of a pod. Every claim in // this list must have at least one matching (by name) volumeMount in one // container in the template. A claim in this list takes precedence over // any volumes in the template, with the same name. // TODO: Define the behavior if a claim already exists with the same name. // +optional VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty" protobuf:"bytes,4,rep,name=volumeClaimTemplates"` // serviceName is the name of the service that governs this StatefulSet. // This service must exist before the StatefulSet, and is responsible for // the network identity of the set. Pods get DNS/hostnames that follow the // pattern: pod-specific-string.serviceName.default.svc.cluster.local // where "pod-specific-string" is managed by the StatefulSet controller. // +optional ServiceName string `json:"serviceName" protobuf:"bytes,5,opt,name=serviceName"` // podManagementPolicy controls how pods are created during initial scale up, // when replacing pods on nodes, or when scaling down. The default policy is // `OrderedReady`, where pods are created in increasing order (pod-0, then // pod-1, etc) and the controller will wait until each pod is ready before // continuing. When scaling down, the pods are removed in the opposite order. // The alternative policy is `Parallel` which will create pods in parallel // to match the desired scale without waiting, and on scale down will delete // all pods at once. // +optional PodManagementPolicy appsv1.PodManagementPolicyType `json:"podManagementPolicy,omitempty" protobuf:"bytes,6,opt,name=podManagementPolicy,casttype=PodManagementPolicyType"` // updateStrategy indicates the StatefulSetUpdateStrategy that will be // employed to update Pods in the StatefulSet when a revision is made to // Template. // +optional UpdateStrategy appsv1.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty" protobuf:"bytes,7,opt,name=updateStrategy"` // revisionHistoryLimit is the maximum number of revisions that will // be maintained in the StatefulSet's revision history. The revision history // consists of all revisions not represented by a currently applied // StatefulSetSpec version. The default value is 10. // +optional RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,8,opt,name=revisionHistoryLimit"` // Minimum number of seconds for which a newly created pod should be ready // without any of its container crashing for it to be considered available. // Defaults to 0 (pod will be considered available as soon as it is ready) // This is an alpha field and requires enabling StatefulSetMinReadySeconds feature gate. // +optional MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,9,opt,name=minReadySeconds"` // persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent // volume claims created from volumeClaimTemplates. By default, all persistent // volume claims are created as needed and retained until manually deleted. This // policy allows the lifecycle to be altered, for example by deleting persistent // volume claims when their stateful set is deleted, or when their pod is scaled // down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, // which is alpha. +optional PersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty" protobuf:"bytes,10,opt,name=persistentVolumeClaimRetentionPolicy"` }
A StatefulSetSpec is the specification of a StatefulSet.
func (*StatefulSetSpec) DeepCopy ¶
func (in *StatefulSetSpec) DeepCopy() *StatefulSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSetSpec.
func (*StatefulSetSpec) DeepCopyInto ¶
func (in *StatefulSetSpec) DeepCopyInto(out *StatefulSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantOverridesSpec ¶
type TenantOverridesSpec struct { // +optional Operator GeneralOverridesSpec `json:"operator"` }
func (*TenantOverridesSpec) DeepCopy ¶
func (in *TenantOverridesSpec) DeepCopy() *TenantOverridesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantOverridesSpec.
func (*TenantOverridesSpec) DeepCopyInto ¶
func (in *TenantOverridesSpec) DeepCopyInto(out *TenantOverridesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.