v1alpha1

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2026 License: Apache-2.0 Imports: 11 Imported by: 9

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the rcs v1alpha1 API group +kubebuilder:object:generate=true +groupName=rcs.dana.io

Index

Constants

View Source
const (
	// CappStateDisabled is the disabled state value for a Capp.
	CappStateDisabled = "disabled"

	// CappConditionReady indicates that all Capp child resources are healthy
	// and the workload is serving traffic.
	CappConditionReady = "Ready"

	// Reasons for the Ready condition.
	CappReadyReasonReady                 = "Ready"
	CappReadyReasonKnativeNotReady       = "KnativeServiceNotReady"
	CappReadyReasonLoggingNotReady       = "LoggingNotReady"
	CappReadyReasonDomainMappingNotReady = "DomainMappingNotReady"
	CappReadyReasonCertificateNotReady   = "CertificateNotReady"
	CappReadyReasonVolumesNotReady       = "VolumesNotReady"
	CappReadyReasonEventingNotReady      = "EventingNotReady"
)

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AutoscaleConfig added in v0.3.6

type AutoscaleConfig struct {
	// RPS is the desired requests per second to trigger upscaling.
	// +kubebuilder:validation:Minimum=1
	RPS int `json:"rps"`
	// CPU is the desired CPU utilization to trigger upscaling.
	// +kubebuilder:validation:Minimum=1
	CPU int `json:"cpu"`
	// Memory is the desired memory utilization to trigger upscaling.
	// +kubebuilder:validation:Minimum=1
	Memory int `json:"memory"`
	// Concurrency is the maximum concurrency of a Capp.
	// +kubebuilder:validation:Minimum=1
	Concurrency int `json:"concurrency"`
	// ActivationScale is the default number of replicas used when a scale-to-zero Capp scales up from idle.
	// +kubebuilder:validation:Minimum=2
	ActivationScale int `json:"activationScale"`
	// MinReplicasLimit is the global minimum scale. (maximum allowed value for minReplicas).
	// +kubebuilder:validation:Minimum=1
	MinReplicasLimit int `json:"minReplicasLimit"`
	// MaxReplicasLimit is the global maximum scale (maximum allowed value for maxReplicas).
	// +kubebuilder:validation:Minimum=1
	MaxReplicasLimit int `json:"maxReplicasLimit"`
	// MaxScaleDelay is the maximum delay in seconds before the Autoscaler scales down the Capp to zero.
	// +kubebuilder:default:=3600
	// +kubebuilder:validation:Minimum=0
	MaxScaleDelay int `json:"maxScaleDelay"`
}

func (*AutoscaleConfig) DeepCopy added in v0.3.6

func (in *AutoscaleConfig) DeepCopy() *AutoscaleConfig

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

func (*AutoscaleConfig) DeepCopyInto added in v0.3.6

func (in *AutoscaleConfig) DeepCopyInto(out *AutoscaleConfig)

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

type Capp

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

	// CappSpec defines the desired state of Capp.
	// +optional
	Spec CappSpec `json:"spec,omitempty"`

	// CappStatus defines the observed state of Capp.
	// +optional
	Status CappStatus `json:"status,omitempty"`
}

Capp is the Schema for the capps API.

func (*Capp) DeepCopy

func (in *Capp) DeepCopy() *Capp

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

func (*Capp) DeepCopyInto

func (in *Capp) DeepCopyInto(out *Capp)

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

func (*Capp) DeepCopyObject

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

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

type CappConfig added in v0.3.6

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

	Spec   CappConfigSpec   `json:"spec,omitempty"`
	Status CappConfigStatus `json:"status,omitempty"`
}

CappConfig is the Schema for the cappconfigs API

func (*CappConfig) DeepCopy added in v0.3.6

func (in *CappConfig) DeepCopy() *CappConfig

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

func (*CappConfig) DeepCopyInto added in v0.3.6

func (in *CappConfig) DeepCopyInto(out *CappConfig)

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

func (*CappConfig) DeepCopyObject added in v0.3.6

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

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

type CappConfigList added in v0.3.6

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

CappConfigList contains a list of CappConfig

func (*CappConfigList) DeepCopy added in v0.3.6

func (in *CappConfigList) DeepCopy() *CappConfigList

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

func (*CappConfigList) DeepCopyInto added in v0.3.6

func (in *CappConfigList) DeepCopyInto(out *CappConfigList)

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

func (*CappConfigList) DeepCopyObject added in v0.3.6

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

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

type CappConfigSpec added in v0.3.6

type CappConfigSpec struct {
	// +kubebuilder:validation:Required
	DNSConfig DNSConfig `json:"dnsConfig"`

	// +kubebuilder:validation:Required
	AutoscaleConfig AutoscaleConfig `json:"autoscaleConfig"`

	// DefaultResources is the default resources to be assigned to Capp.
	// If other resources are specified then they override the default values.
	DefaultResources corev1.ResourceRequirements `json:"defaultResources"`

	// AllowedHostnamePatterns is a list of hostname patterns used to validate Capp hostnames.
	// If the Capp hostname matches a pattern, it is allowed to be created.
	// Defaults to an empty list (all hostnames denied) if not specified.
	// +kubebuilder:default:={}
	AllowedHostnamePatterns []HostnamePattern `json:"allowedHostnamePatterns"`

	// RevisionHistoryLimit defines how many CappRevisions will be retained
	// +kubebuilder:default:=10
	// +kubebuilder:validation:Minimum=1
	RevisionHistoryLimit int `json:"revisionHistoryLimit,omitempty"`

	// MaxKafkaConsumers is the maximum allowed KafkaSource consumers per kafka source entry.
	// +kubebuilder:default:=5
	// +kubebuilder:validation:Minimum=1
	MaxKafkaConsumers int32 `json:"maxKafkaConsumers,omitempty"`
}

CappConfigSpec defines the desired state of CappConfig

func (*CappConfigSpec) DeepCopy added in v0.3.6

func (in *CappConfigSpec) DeepCopy() *CappConfigSpec

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

func (*CappConfigSpec) DeepCopyInto added in v0.3.6

func (in *CappConfigSpec) DeepCopyInto(out *CappConfigSpec)

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

type CappConfigStatus added in v0.3.6

type CappConfigStatus struct{}

CappConfigStatus defines the observed state of CappConfig

func (*CappConfigStatus) DeepCopy added in v0.3.6

func (in *CappConfigStatus) DeepCopy() *CappConfigStatus

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

func (*CappConfigStatus) DeepCopyInto added in v0.3.6

func (in *CappConfigStatus) DeepCopyInto(out *CappConfigStatus)

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

type CappList

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

CappList contains a list of Capp.

func (*CappList) DeepCopy

func (in *CappList) DeepCopy() *CappList

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

func (*CappList) DeepCopyInto

func (in *CappList) DeepCopyInto(out *CappList)

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

func (*CappList) DeepCopyObject

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

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

type CappRevision added in v0.2.0

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

	Spec CappRevisionSpec `json:"spec,omitempty"`
}

CappRevision is the Schema for the CappRevisions API

func (*CappRevision) DeepCopy added in v0.2.0

func (in *CappRevision) DeepCopy() *CappRevision

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

func (*CappRevision) DeepCopyInto added in v0.2.0

func (in *CappRevision) DeepCopyInto(out *CappRevision)

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

func (*CappRevision) DeepCopyObject added in v0.2.0

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

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

type CappRevisionList added in v0.2.0

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

CappRevisionList contains a list of CappRevision

func (*CappRevisionList) DeepCopy added in v0.2.0

func (in *CappRevisionList) DeepCopy() *CappRevisionList

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

func (*CappRevisionList) DeepCopyInto added in v0.2.0

func (in *CappRevisionList) DeepCopyInto(out *CappRevisionList)

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

func (*CappRevisionList) DeepCopyObject added in v0.2.0

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

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

type CappRevisionSpec added in v0.2.0

type CappRevisionSpec struct {
	// RevisionNumber represent the revision number of Capp
	RevisionNumber int `json:"revisionNumber"`

	// CappTemplate holds the manifest of a specific Capp corresponding to a particular RevisionNumber
	CappTemplate CappTemplate `json:"cappTemplate"`
}

CappRevisionSpec defines the desired state of CappRevision

func (*CappRevisionSpec) DeepCopy added in v0.2.0

func (in *CappRevisionSpec) DeepCopy() *CappRevisionSpec

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

func (*CappRevisionSpec) DeepCopyInto added in v0.2.0

func (in *CappRevisionSpec) DeepCopyInto(out *CappRevisionSpec)

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

type CappSpec

type CappSpec struct {
	// State defines the state of capp
	// Possible values examples: "enabled", "disabled".
	// +optional
	// +kubebuilder:default:="enabled"
	// +kubebuilder:validation:Enum=enabled;disabled
	State string `json:"state,omitempty"`

	// ScaleSpec holds the Capp scaling configuration.
	ScaleSpec ScaleSpec `json:"scaleSpec"`

	// ConfigurationSpec holds the desired state of the Configuration (from the client).
	ConfigurationSpec knativev1.ConfigurationSpec `json:"configurationSpec"`

	// RouteSpec defines the route specification for the Capp.
	// +optional
	RouteSpec RouteSpec `json:"routeSpec,omitempty"`

	// LogSpec defines the configuration for shipping Capp logs.
	LogSpec LogSpec `json:"logSpec,omitempty"`

	// VolumesSpec defines the volumes specification for the Capp.
	VolumesSpec VolumesSpec `json:"volumesSpec,omitempty"`

	// EventSourcesSpec defines the event sources for the Capp.
	// +optional
	EventSourcesSpec EventSourcesSpec `json:"eventSourcesSpec,omitempty"`
}

CappSpec defines the desired state of Capp.

func (*CappSpec) DeepCopy

func (in *CappSpec) DeepCopy() *CappSpec

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

func (*CappSpec) DeepCopyInto

func (in *CappSpec) DeepCopyInto(out *CappSpec)

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

type CappStatus

type CappStatus struct {
	// KnativeObjectStatus represents the Status stanza of the Service resource.
	// +optional
	KnativeObjectStatus knativev1.ServiceStatus `json:"knativeObjectStatus,omitempty"`

	// RevisionInfo shows the revision information.
	// +optional
	RevisionInfo []RevisionInfo `json:"revisions,omitempty"`

	// StateStatus shows the current Capp state
	// +optional
	StateStatus StateStatus `json:"stateStatus,omitempty"`

	// LoggingStatus defines the state of the Flow and Output objects linked to the Capp.
	// +optional
	LoggingStatus LoggingStatus `json:"loggingStatus,omitempty"`

	// RouteStatus shows the state of the DomainMapping object linked to the Capp.
	// +optional
	RouteStatus RouteStatus `json:"routeStatus,omitempty"`

	// VolumesStatus shows the state of the Volumes objects linked to the Capp.
	// +optional
	VolumesStatus VolumesStatus `json:"volumesStatus,omitempty"`

	// EventingStatus shows the state of event sources linked to the Capp.
	// +optional
	EventingStatus EventingStatus `json:"eventingStatus,omitempty"`

	// Conditions contain details about the current state of the Capp.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

CappStatus defines the observed state of Capp.

func (*CappStatus) DeepCopy

func (in *CappStatus) DeepCopy() *CappStatus

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

func (*CappStatus) DeepCopyInto

func (in *CappStatus) DeepCopyInto(out *CappStatus)

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

type CappTemplate added in v0.2.0

type CappTemplate struct {
	// Spec is the related Capp spec
	Spec CappSpec `json:"cappSpec,omitempty"`

	// Labels is a map of string keys and values which are the actual labels of the related Capp
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations is a map of string keys and values which are the actual annotations of the related Capp
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

CappTemplate template of Capp.

func (*CappTemplate) DeepCopy added in v0.2.0

func (in *CappTemplate) DeepCopy() *CappTemplate

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

func (*CappTemplate) DeepCopyInto added in v0.2.0

func (in *CappTemplate) DeepCopyInto(out *CappTemplate)

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

type DNSConfig added in v0.3.6

type DNSConfig struct {
	// Zone defines the DNS zone for Capp Hostnames.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self.endsWith('.')",message="zone must end with '.'"
	Zone string `json:"zone"`
	// CNAME defines the CNAME record that will be used for Capp Hostnames.
	// +kubebuilder:validation:MinLength=1
	CNAME string `json:"cname"`
	// Provider defines the DNS provider.
	// +kubebuilder:validation:MinLength=1
	Provider string `json:"provider"`
	// IssuerRef identifies the cert-manager issuer used to issue certificates.
	IssuerRef IssuerRef `json:"issuerRef"`
}

func (*DNSConfig) DeepCopy added in v0.3.6

func (in *DNSConfig) DeepCopy() *DNSConfig

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

func (*DNSConfig) DeepCopyInto added in v0.3.6

func (in *DNSConfig) DeepCopyInto(out *DNSConfig)

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

type DNSRecordObjectStatus added in v0.3.0

type DNSRecordObjectStatus struct {
	// CNAMERecordObjectStatus is the status of the underlying ARecordSet object
	// +optional
	CNAMERecordObjectStatus dnsrecordv1alpha1.CNAMERecordStatus `json:"cnameRecordObjectStatus,omitempty"`
}

func (*DNSRecordObjectStatus) DeepCopy added in v0.3.0

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

func (*DNSRecordObjectStatus) DeepCopyInto added in v0.3.0

func (in *DNSRecordObjectStatus) DeepCopyInto(out *DNSRecordObjectStatus)

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

type EventSourceStatus added in v0.9.0

type EventSourceStatus struct {
	// Name is the K8s name of the underlying source resource.
	// +optional
	Name string `json:"name,omitempty"`

	// Condition holds the readiness condition for the underlying source resource.
	Condition kapis.Condition `json:"condition"`
}

EventSourceStatus shows the observed state of a single event source resource.

func (*EventSourceStatus) DeepCopy added in v0.9.0

func (in *EventSourceStatus) DeepCopy() *EventSourceStatus

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

func (*EventSourceStatus) DeepCopyInto added in v0.9.0

func (in *EventSourceStatus) DeepCopyInto(out *EventSourceStatus)

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

type EventSourcesSpec added in v0.9.0

type EventSourcesSpec struct {
	// Sources is the list of event sources connected to the Capp's Knative Service.
	// +optional
	Sources []SourceConfiguration `json:"sources,omitempty"`
}

EventSourcesSpec defines all event sources for a Capp.

func (*EventSourcesSpec) DeepCopy added in v0.9.0

func (in *EventSourcesSpec) DeepCopy() *EventSourcesSpec

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

func (*EventSourcesSpec) DeepCopyInto added in v0.9.0

func (in *EventSourcesSpec) DeepCopyInto(out *EventSourcesSpec)

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

type EventingStatus added in v0.9.0

type EventingStatus struct {
	// EventSources lists the status of each owned event source resource.
	// +optional
	EventSources []EventSourceStatus `json:"eventSources,omitempty"`
}

EventingStatus shows the observed state of all event sources linked to the Capp.

func (*EventingStatus) DeepCopy added in v0.9.0

func (in *EventingStatus) DeepCopy() *EventingStatus

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

func (*EventingStatus) DeepCopyInto added in v0.9.0

func (in *EventingStatus) DeepCopyInto(out *EventingStatus)

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

type HostnamePattern added in v0.7.0

type HostnamePattern struct {
	// Match is a regex used to match Capp hostnames.
	// +kubebuilder:validation:MinLength=1
	Match string `json:"match"`
	// Explanation is a human-readable description shown in webhook error messages.
	// +kubebuilder:validation:MaxLength=100
	// +optional
	Explanation string `json:"explanation,omitempty"`
}

HostnamePattern defines a regex pattern for validating Capp hostnames.

func (*HostnamePattern) DeepCopy added in v0.7.0

func (in *HostnamePattern) DeepCopy() *HostnamePattern

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

func (*HostnamePattern) DeepCopyInto added in v0.7.0

func (in *HostnamePattern) DeepCopyInto(out *HostnamePattern)

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

type IssuerRef added in v0.9.1

type IssuerRef struct {
	// Name is the name of the certificate issuer.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Kind is the kind of the certificate issuer (e.g. ClusterIssuer).
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`
	// Group is the API group of the certificate issuer (e.g. cert-manager.io).
	// +kubebuilder:validation:MinLength=1
	Group string `json:"group"`
}

IssuerRef identifies a cert-manager issuer by name, kind, and API group.

func (*IssuerRef) DeepCopy added in v0.9.1

func (in *IssuerRef) DeepCopy() *IssuerRef

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

func (*IssuerRef) DeepCopyInto added in v0.9.1

func (in *IssuerRef) DeepCopyInto(out *IssuerRef)

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

type KafkaSourceConfiguration added in v0.9.1

type KafkaSourceConfiguration struct {
	// BootstrapServers is the list of Kafka broker addresses.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	BootstrapServers []string `json:"bootstrapServers"`

	// Topics is the list of Kafka topics to consume.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Topics []string `json:"topics"`

	// ConsumerGroup is the Kafka consumer group ID.
	// Optional; when unset the operator assigns a dedicated group for this source.
	// +optional
	ConsumerGroup string `json:"consumerGroup,omitempty"`

	// Consumers is the number of parallel KafkaSource consumers for this source.
	// +kubebuilder:validation:Minimum=1
	// +optional
	Consumers *int32 `json:"consumers,omitempty"`

	// SecretRef references a Secret in the Capp namespace with credentials for the Kafka cluster.
	// +kubebuilder:validation:Required
	SecretRef corev1.LocalObjectReference `json:"secretRef"`
}

KafkaSourceConfiguration defines the configuration for a Capp Kafka event source. +kubebuilder:validation:XValidation:rule="size(self.secretRef.name) > 0",message="secretRef.name is required"

func (*KafkaSourceConfiguration) DeepCopy added in v0.9.1

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

func (*KafkaSourceConfiguration) DeepCopyInto added in v0.9.1

func (in *KafkaSourceConfiguration) DeepCopyInto(out *KafkaSourceConfiguration)

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

type LogSpec added in v0.1.2

type LogSpec struct {
	// Type defines where to send the Capp logs
	// +kubebuilder:validation:Enum=elastic;elastic-datastream
	// +optional
	Type LogType `json:"type,omitempty"`

	// Host defines Elasticsearch or Splunk host.
	// Should include full URL with protocol and port (e.g. https://elasticsearch:9200/_bulk).
	// +optional
	Host string `json:"host,omitempty"`

	// Index defines the index name to write events to.
	// Ignored if type is set to "elastic-datastream".
	// +optional
	Index string `json:"index,omitempty"`

	// User defines a User for authentication.
	// +optional
	User string `json:"user,omitempty"`

	// PasswordSecret defines the name of the secret
	// containing the password for authentication.
	// +optional
	PasswordSecret string `json:"passwordSecret,omitempty"`
}

LogSpec defines the configuration for shipping Capp logs. +kubebuilder:validation:XValidation:rule="!has(self.type) || self.type != 'elastic' || (has(self.host) && size(self.host) > 0 && has(self.index) && size(self.index) > 0 && has(self.user) && size(self.user) > 0 && has(self.passwordSecret) && size(self.passwordSecret) > 0)",message="elastic log configuration requires host, index, user, and passwordSecret" +kubebuilder:validation:XValidation:rule="!has(self.type) || self.type != 'elastic-datastream' || (has(self.host) && size(self.host) > 0 && has(self.user) && size(self.user) > 0 && has(self.passwordSecret) && size(self.passwordSecret) > 0)",message="elastic-datastream log configuration requires host, user, and passwordSecret" +kubebuilder:validation:XValidation:rule="(!has(self.host) || size(self.host) == 0) && (!has(self.index) || size(self.index) == 0) && (!has(self.user) || size(self.user) == 0) && (!has(self.passwordSecret) || size(self.passwordSecret) == 0) || (has(self.type) && (self.type == 'elastic' || self.type == 'elastic-datastream'))",message="type must be elastic or elastic-datastream when log configuration fields are set"

func (*LogSpec) DeepCopy added in v0.1.2

func (in *LogSpec) DeepCopy() *LogSpec

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

func (*LogSpec) DeepCopyInto added in v0.1.2

func (in *LogSpec) DeepCopyInto(out *LogSpec)

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

type LogType added in v0.5.7

type LogType string
const (
	LogTypeElastic           LogType = "elastic"
	LogTypeElasticDataStream LogType = "elastic-datastream"
)

type LoggingStatus added in v0.1.4

type LoggingStatus struct {
	// SyslogNGFlow represents the Status of the SyslogNGFlow used by the Capp.
	// +optional
	SyslogNGFlow loggingv1beta1.SyslogNGFlowStatus `json:"syslogngflow,omitempty"`

	// SyslogNGOutput represents the Status of the SyslogNGOutput used by the Capp.
	// +optional
	SyslogNGOutput loggingv1beta1.SyslogNGOutputStatus `json:"syslogngoutput,omitempty"`

	// Conditions contain details about the current state of the SyslogNGFlow and SyslogNGOutput used by the Capp.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

LoggingStatus defines the state of the SyslogNGFlow and SyslogNGOutput objects linked to the Capp.

func (*LoggingStatus) DeepCopy added in v0.1.4

func (in *LoggingStatus) DeepCopy() *LoggingStatus

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

func (*LoggingStatus) DeepCopyInto added in v0.1.4

func (in *LoggingStatus) DeepCopyInto(out *LoggingStatus)

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

type NFSVolume added in v0.1.8

type NFSVolume struct {
	// Server is the hostname or IP address of the NFS server.
	// +kubebuilder:validation:MinLength=1
	Server string `json:"server"`

	// Path is the exported path on the NFS server.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self.startsWith('/')",message="path must start with '/'"
	Path string `json:"path"`

	// Name is the name of the volume.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`
	Name string `json:"name"`

	// Capacity is the capacity of the volume.
	Capacity corev1.ResourceList `json:"capacity"`
}

NFSVolume defines the NFS volume specification for the Capp.

func (*NFSVolume) DeepCopy added in v0.1.8

func (in *NFSVolume) DeepCopy() *NFSVolume

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

func (*NFSVolume) DeepCopyInto added in v0.1.8

func (in *NFSVolume) DeepCopyInto(out *NFSVolume)

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

type NFSVolumeStatus added in v0.1.8

type NFSVolumeStatus struct {
	// VolumeName is the name of the volume.
	VolumeName string `json:"volumeName,omitempty"`

	// NFSPVCStatus is the status of the underlying NfsPvc object.
	NFSPVCStatus nfspvcv1alpha1.NfsPvcStatus `json:"nfsPvcStatus,omitempty"`
}

func (*NFSVolumeStatus) DeepCopy added in v0.1.8

func (in *NFSVolumeStatus) DeepCopy() *NFSVolumeStatus

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

func (*NFSVolumeStatus) DeepCopyInto added in v0.1.8

func (in *NFSVolumeStatus) DeepCopyInto(out *NFSVolumeStatus)

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

type PingSourceConfiguration added in v0.9.0

type PingSourceConfiguration struct {

	// Schedule is the cron expression that defines the schedule for the PingSource.
	// +kubebuilder:default:="* * * * *"
	Schedule string `json:"schedule"`
	// Data is the payload that the PingSource will send when it triggers.
	// Must be valid JSON.
	// +optional
	Data string `json:"data,omitempty"`
}

PingSourceConfiguration defines the configuration for a Capp PingSource. This event source sends a specified payload to the capp at regular intervals defined by a cron expression schedule.

func (*PingSourceConfiguration) DeepCopy added in v0.9.0

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

func (*PingSourceConfiguration) DeepCopyInto added in v0.9.0

func (in *PingSourceConfiguration) DeepCopyInto(out *PingSourceConfiguration)

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

type RevisionInfo

type RevisionInfo struct {
	// RevisionStatus communicates the observed state of the Revision (from the controller).
	// +optional
	RevisionStatus knativev1.RevisionStatus `json:"revisionsStatus,omitempty"`

	// RevisionName is the name of the revision.
	// +optional
	RevisionName string `json:"name,omitempty"`
}

RevisionInfo shows the revision information.

func (*RevisionInfo) DeepCopy

func (in *RevisionInfo) DeepCopy() *RevisionInfo

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

func (*RevisionInfo) DeepCopyInto

func (in *RevisionInfo) DeepCopyInto(out *RevisionInfo)

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

type RouteSpec

type RouteSpec struct {
	// Hostname is the custom DNS name for the Capp route.
	// Required when tlsEnabled is true.
	// +optional
	Hostname string `json:"hostname,omitempty"`

	// TlsEnabled enables HTTPS and automatic certificate management for hostname.
	// +optional
	TlsEnabled bool `json:"tlsEnabled,omitempty"`

	// TrafficTarget holds a single entry of the routing table for the Capp route.
	// +optional
	TrafficTarget knativev1.TrafficTarget `json:"trafficTarget,omitempty"`

	// RouteTimeoutSeconds is the maximum duration in seconds
	// that the request instance is allowed to respond to a request.
	// +optional
	RouteTimeoutSeconds *int64 `json:"routeTimeoutSeconds,omitempty"`
}

RouteSpec defines the route specification for the Capp. +kubebuilder:validation:XValidation:rule="!has(self.tlsEnabled) || !self.tlsEnabled || (has(self.hostname) && size(self.hostname) > 0)",message="hostname must be set when tlsEnabled is true"

func (*RouteSpec) DeepCopy

func (in *RouteSpec) DeepCopy() *RouteSpec

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

func (*RouteSpec) DeepCopyInto

func (in *RouteSpec) DeepCopyInto(out *RouteSpec)

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

type RouteStatus added in v0.1.4

type RouteStatus struct {
	// DomainMappingObjectStatus is the status of the underlying DomainMapping object
	// +optional
	DomainMappingObjectStatus knativev1beta1.DomainMappingStatus `json:"domainMappingObjectStatus,omitempty"`

	// ARecordSetObjectStatus is the status of the underlying ARecordSet object
	// +optional
	DNSRecordObjectStatus DNSRecordObjectStatus `json:"dnsRecordObjectStatus,omitempty"`

	// CertificateObjectStatus is the status of the underlying Certificate object
	// +optional
	CertificateObjectStatus cmapi.CertificateStatus `json:"certificateObjectStatus,omitempty"`
}

RouteStatus shows the state of the DomainMapping object linked to the Capp.

func (*RouteStatus) DeepCopy added in v0.1.4

func (in *RouteStatus) DeepCopy() *RouteStatus

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

func (*RouteStatus) DeepCopyInto added in v0.1.4

func (in *RouteStatus) DeepCopyInto(out *RouteStatus)

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

type ScaleSpec added in v0.8.0

type ScaleSpec struct {
	// Metric defines which metric type is watched by the Autoscaler.
	// Possible values examples: "concurrency", "rps", "cpu", "memory".
	// +kubebuilder:default:="concurrency"
	// +kubebuilder:validation:Enum=cpu;memory;rps;concurrency
	Metric string `json:"metric,omitempty"`

	// MinReplicas is the minimum number of replicas for the Capp.
	// +kubebuilder:validation:Minimum=0
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`

	// MaxReplicas is the maximum number of replicas for the Capp.
	// +kubebuilder:validation:Minimum=1
	// +optional
	MaxReplicas *int32 `json:"maxReplicas,omitempty"`

	// ScaleDelaySeconds is the delay in seconds before the Autoscaler scales down the Capp to zero.
	// +kubebuilder:validation:Minimum=0
	// +optional
	ScaleDelaySeconds *int32 `json:"scaleDelaySeconds,omitempty"`
}

ScaleSpec defines the scale specification for the Capp.

func (*ScaleSpec) DeepCopy added in v0.8.0

func (in *ScaleSpec) DeepCopy() *ScaleSpec

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

func (*ScaleSpec) DeepCopyInto added in v0.8.0

func (in *ScaleSpec) DeepCopyInto(out *ScaleSpec)

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

type SourceConfiguration added in v0.9.0

type SourceConfiguration struct {
	// Name is a unique logical identifier for this source within the Capp.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// URI is a relative path appended to the resolved Capp Knative Service address (e.g. "/path").
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:XValidation:rule="self.startsWith('/')",message="uri must be a relative path"
	URI *kapis.URL `json:"uri,omitempty"`

	// Configuration for a PingSource.
	// +optional
	PingSourceConfiguration *PingSourceConfiguration `json:"pingSourceConfiguration,omitempty"`

	// Configuration for a KafkaSource.
	// +optional
	KafkaSourceConfiguration *KafkaSourceConfiguration `json:"kafkaSourceConfiguration,omitempty"`
}

SourceConfiguration defines a single Knative Eventing source connected to the Capp. +kubebuilder:validation:XValidation:rule="(has(self.pingSourceConfiguration) && !has(self.kafkaSourceConfiguration)) || (!has(self.pingSourceConfiguration) && has(self.kafkaSourceConfiguration))",message="exactly one of pingSourceConfiguration or kafkaSourceConfiguration must be set"

func (*SourceConfiguration) DeepCopy added in v0.9.0

func (in *SourceConfiguration) DeepCopy() *SourceConfiguration

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

func (*SourceConfiguration) DeepCopyInto added in v0.9.0

func (in *SourceConfiguration) DeepCopyInto(out *SourceConfiguration)

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

type StateStatus added in v0.1.4

type StateStatus struct {
	// State is actual enabled state of the capp
	// +optional
	State string `json:"state,omitempty"`

	// LastChange is the last time the state of capp changed
	// +optional
	LastChange metav1.Time `json:"lastChange,omitempty"`
}

func (*StateStatus) DeepCopy added in v0.1.4

func (in *StateStatus) DeepCopy() *StateStatus

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

func (*StateStatus) DeepCopyInto added in v0.1.4

func (in *StateStatus) DeepCopyInto(out *StateStatus)

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

type VolumesSpec added in v0.1.8

type VolumesSpec struct {
	// NFSVolumes is a list of NFS volumes to be mounted.
	NFSVolumes []NFSVolume `json:"nfsVolumes,omitempty"`
}

VolumesSpec defines the volumes specification for the Capp.

func (*VolumesSpec) DeepCopy added in v0.1.8

func (in *VolumesSpec) DeepCopy() *VolumesSpec

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

func (*VolumesSpec) DeepCopyInto added in v0.1.8

func (in *VolumesSpec) DeepCopyInto(out *VolumesSpec)

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

type VolumesStatus added in v0.1.8

type VolumesStatus struct {
	// NFSVolumeStatus is the status of the underlying NFSVolume objects.
	NFSVolumesStatus []NFSVolumeStatus `json:"nfsVolumesStatus,omitempty"`
}

VolumesStatus shows the state of the Volumes objects linked to the Capp.

func (*VolumesStatus) DeepCopy added in v0.1.8

func (in *VolumesStatus) DeepCopy() *VolumesStatus

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

func (*VolumesStatus) DeepCopyInto added in v0.1.8

func (in *VolumesStatus) DeepCopyInto(out *VolumesStatus)

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