base

package
v0.49.0 Latest Latest
Warning

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

Go to latest
Published: May 1, 2026 License: Apache-2.0 Imports: 5 Imported by: 3

Documentation

Overview

Package base contains the common base functions and types for all APIs +k8s:deepcopy-gen=package

Index

Constants

View Source
const (
	// DependenciesInstalled is a Condition indicating that potential dependencies have
	// been installed correctly.
	DependenciesInstalled apis.ConditionType = "DependenciesInstalled"
	// InstallSucceeded is a Condition indicating that the installation of the component
	// itself has been successful.
	InstallSucceeded apis.ConditionType = "InstallSucceeded"
	// DeploymentsAvailable is a Condition indicating whether or not the Deployments of
	// the respective component have come up successfully.
	DeploymentsAvailable apis.ConditionType = "DeploymentsAvailable"
	// VersionMigrationEligible is a Condition indicating whether or not the current version of
	// Knative component is eligible to upgrade or downgrade to the specified version.
	VersionMigrationEligible apis.ConditionType = "VersionMigrationEligible"
	// TargetClusterResolved is a Condition indicating whether the target cluster has been resolved.
	TargetClusterResolved apis.ConditionType = "TargetClusterResolved"
)
View Source
const (
	ReasonClusterProfileNotFound      = "ClusterProfileNotFound"
	ReasonClusterProfileNotReady      = "ClusterProfileNotReady"
	ReasonClusterProfileUnavailable   = "ClusterProfileUnavailable"
	ReasonAccessProviderFailed        = "AccessProviderFailed"
	ReasonRemoteClientCreationFailed  = "RemoteClientCreationFailed"
	ReasonMulticlusterDisabled        = "MulticlusterDisabled"
	ReasonAccessProviderNotConfigured = "AccessProviderNotConfigured"
	ReasonClusterProviderClosed       = "ClusterProviderClosed"
	ReasonRemoteClusterStale          = "RemoteClusterStale"
)

Reason strings used in the TargetClusterResolved condition.

Variables

This section is empty.

Functions

This section is empty.

Types

type AwssqsSourceConfiguration

type AwssqsSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

AwssqsSourceConfiguration specifies whether to enable the awssqs source.

func (*AwssqsSourceConfiguration) DeepCopy

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

func (*AwssqsSourceConfiguration) DeepCopyInto

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

type CephSourceConfiguration

type CephSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

CephSourceConfiguration specifies whether to enable the ceph source.

func (*CephSourceConfiguration) DeepCopy

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

func (*CephSourceConfiguration) DeepCopyInto

func (in *CephSourceConfiguration) DeepCopyInto(out *CephSourceConfiguration)

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

type ClusterProfileReference added in v0.49.0

type ClusterProfileReference struct {
	// Name is the name of the ClusterProfile resource.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Namespace is the namespace of the ClusterProfile resource.
	// +kubebuilder:validation:MinLength=1
	Namespace string `json:"namespace"`
}

ClusterProfileReference identifies a ClusterProfile for remote cluster deployment.

func (*ClusterProfileReference) DeepCopy added in v0.49.0

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

func (*ClusterProfileReference) DeepCopyInto added in v0.49.0

func (in *ClusterProfileReference) DeepCopyInto(out *ClusterProfileReference)

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

type CommonSpec

type CommonSpec struct {
	// A means to override the corresponding entries in the upstream configmaps
	// +optional
	Config ConfigMapData `json:"config,omitempty"`

	// A means to override the corresponding deployment images in the upstream.
	// If no registry is provided, the knative release images will be used.
	// +optional
	Registry Registry `json:"registry,omitempty"`

	// DEPRECATED.
	// DeprecatedResources overrides containers' resource requirements.
	// +optional
	DeprecatedResources []ResourceRequirementsOverride `json:"resources,omitempty"`

	// DEPRECATED. Use workloads
	// DeploymentOverride overrides Deployment configurations such as resources and replicas.
	// +optional
	DeploymentOverride []WorkloadOverride `json:"deployments,omitempty"`

	// NamespaceConfiguration overrides namespace configurations such as labels and annotations.
	// +optional
	NamespaceConfiguration *NamespaceConfiguration `json:"namespace,omitempty"`

	// Workloads overrides workloads configurations such as resources and replicas.
	// +optional
	Workloads []WorkloadOverride `json:"workloads,omitempty"`

	// ServiceOverride overrides Service configurations such as labels and annotations.
	// +optional
	ServiceOverride []ServiceOverride `json:"services,omitempty"`

	// WorkloadOverride containers' resource requirements
	// +optional
	Version string `json:"version,omitempty"`

	// A means to specify the manifests to install
	// +optional
	Manifests []Manifest `json:"manifests,omitempty"`

	// A means to specify the additional manifests to install
	// +optional
	AdditionalManifests []Manifest `json:"additionalManifests,omitempty"`

	// HighAvailability allows specification of HA control plane.
	// +optional
	HighAvailability *HighAvailability `json:"high-availability,omitempty"`

	// PodDisruptionBudgetOverride overrides PodDisruptionBudget configurations via minAvailable.
	// +optional
	PodDisruptionBudgetOverride []PodDisruptionBudgetOverride `json:"podDisruptionBudgets,omitempty"`

	// ClusterProfileRef optionally targets a ClusterProfile; when set, the
	// component is reconciled on the referenced remote cluster.
	// +optional
	ClusterProfileRef *ClusterProfileReference `json:"clusterProfileRef,omitempty"`
}

CommonSpec unifies common fields and functions on the Spec.

func (*CommonSpec) DeepCopy

func (in *CommonSpec) DeepCopy() *CommonSpec

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

func (*CommonSpec) DeepCopyInto

func (in *CommonSpec) DeepCopyInto(out *CommonSpec)

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

func (*CommonSpec) GetAdditionalManifests

func (c *CommonSpec) GetAdditionalManifests() []Manifest

GetAdditionalManifests implements KComponentSpec.

func (*CommonSpec) GetClusterProfileRef added in v0.49.0

func (c *CommonSpec) GetClusterProfileRef() *ClusterProfileReference

GetClusterProfileRef implements KComponentSpec.

func (*CommonSpec) GetConfig

func (c *CommonSpec) GetConfig() ConfigMapData

GetConfig implements KComponentSpec.

func (*CommonSpec) GetHighAvailability

func (c *CommonSpec) GetHighAvailability() *HighAvailability

GetHighAvailability implements KComponentSpec.

func (*CommonSpec) GetManifests

func (c *CommonSpec) GetManifests() []Manifest

GetManifests implements KComponentSpec.

func (*CommonSpec) GetNamespaceConfiguration added in v0.43.0

func (c *CommonSpec) GetNamespaceConfiguration() *NamespaceConfiguration

GetNamespaceConfiguration implements KComponentSpec.

func (*CommonSpec) GetPodDisruptionBudgetOverride added in v0.33.0

func (c *CommonSpec) GetPodDisruptionBudgetOverride() []PodDisruptionBudgetOverride

GetPodDisruptionBudgetOverride implements KComponentSpec.

func (*CommonSpec) GetRegistry

func (c *CommonSpec) GetRegistry() *Registry

GetRegistry implements KComponentSpec.

func (*CommonSpec) GetResources

func (c *CommonSpec) GetResources() []ResourceRequirementsOverride

GetResources implements KComponentSpec.

func (*CommonSpec) GetServiceOverride added in v0.31.0

func (c *CommonSpec) GetServiceOverride() []ServiceOverride

GetServiceOverride implements KComponentSpec.

func (*CommonSpec) GetVersion

func (c *CommonSpec) GetVersion() string

GetVersion implements KComponentSpec.

func (*CommonSpec) GetWorkloadOverrides added in v0.35.0

func (c *CommonSpec) GetWorkloadOverrides() []WorkloadOverride

GetDeploymentOverride implements KComponentSpec.

type ConfigMapData

type ConfigMapData map[string]map[string]string

ConfigMapData is a nested map of maps representing all upstream ConfigMaps. The first level key is the key to the ConfigMap itself (i.e. "logging") while the second level is the data to be filled into the respective ConfigMap.

func (ConfigMapData) DeepCopy

func (in ConfigMapData) DeepCopy() ConfigMapData

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

func (ConfigMapData) DeepCopyInto

func (in ConfigMapData) DeepCopyInto(out *ConfigMapData)

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

type ContourIngressConfiguration

type ContourIngressConfiguration struct {
	// +optional
	Enabled bool `json:"enabled,omitempty"`
}

ContourIngressConfiguration specifies whether to enable the contour ingresses.

func (*ContourIngressConfiguration) DeepCopy

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

func (*ContourIngressConfiguration) DeepCopyInto

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

type CouchdbSourceConfiguration

type CouchdbSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

CouchdbSourceConfiguration specifies whether to enable the couchdb source.

func (*CouchdbSourceConfiguration) DeepCopy

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

func (*CouchdbSourceConfiguration) DeepCopyInto

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

type CustomCerts

type CustomCerts struct {
	// One of ConfigMap or Secret
	Type string `json:"type"`

	// The name of the ConfigMap or Secret
	Name string `json:"name"`
}

CustomCerts refers to either a ConfigMap or Secret containing valid CA certificates

func (*CustomCerts) DeepCopy

func (in *CustomCerts) DeepCopy() *CustomCerts

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

func (*CustomCerts) DeepCopyInto

func (in *CustomCerts) DeepCopyInto(out *CustomCerts)

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

type EnvRequirementsOverride added in v0.32.0

type EnvRequirementsOverride struct {
	// The container name
	Container string `json:"container"`
	// The desired EnvVarRequirements
	EnvVars []corev1.EnvVar `json:"envVars,omitempty"`
}

EnvRequirementsOverride enables the user to override any container's env vars.

func (*EnvRequirementsOverride) DeepCopy added in v0.32.0

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

func (*EnvRequirementsOverride) DeepCopyInto added in v0.32.0

func (in *EnvRequirementsOverride) DeepCopyInto(out *EnvRequirementsOverride)

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

type GatewayAPIIngressConfiguration added in v0.49.0

type GatewayAPIIngressConfiguration struct {
	// +optional
	Enabled bool `json:"enabled,omitempty"`
}

GatewayAPIIngressConfiguration specifies whether to enable the gateway-api ingresses.

func (*GatewayAPIIngressConfiguration) DeepCopy added in v0.49.0

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

func (*GatewayAPIIngressConfiguration) DeepCopyInto added in v0.49.0

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

type GithubSourceConfiguration

type GithubSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

GithubSourceConfiguration specifies whether to enable the github source.

func (*GithubSourceConfiguration) DeepCopy

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

func (*GithubSourceConfiguration) DeepCopyInto

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

type GitlabSourceConfiguration

type GitlabSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

GitlabSourceConfiguration specifies whether to enable the gitlab source.

func (*GitlabSourceConfiguration) DeepCopy

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

func (*GitlabSourceConfiguration) DeepCopyInto

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

type HighAvailability

type HighAvailability struct {
	// Replicas is the number of replicas that HA parts of the control plane
	// will be scaled to.
	Replicas *int32 `json:"replicas"`
}

HighAvailability specifies options for deploying Knative Serving control plane in a highly available manner. Note that HighAvailability is still in progress and does not currently provide a completely HA control plane.

func (*HighAvailability) DeepCopy

func (in *HighAvailability) DeepCopy() *HighAvailability

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

func (*HighAvailability) DeepCopyInto

func (in *HighAvailability) DeepCopyInto(out *HighAvailability)

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

type IstioGatewayOverride

type IstioGatewayOverride struct {
	// A map of values to replace the "selector" values in the knative-ingress-gateway and knative-local-gateway(cluster-local-gateway)
	Selector map[string]string `json:"selector,omitempty"`

	// Servers is a list of server specifications applied to the Istio Gateway.
	// +optional
	Servers []IstioServer `json:"servers,omitempty"`
}

IstioGatewayOverride override the knative-ingress-gateway and knative-local-gateway(cluster-local-gateway)

func (*IstioGatewayOverride) DeepCopy

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

func (*IstioGatewayOverride) DeepCopyInto

func (in *IstioGatewayOverride) DeepCopyInto(out *IstioGatewayOverride)

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

type IstioIngressConfiguration

type IstioIngressConfiguration struct {
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// KnativeIngressGateway overrides the knative-ingress-gateway.
	// +optional
	KnativeIngressGateway *IstioGatewayOverride `json:"knative-ingress-gateway,omitempty"`

	// KnativeLocalGateway overrides the knative-local-gateway.
	// +optional
	KnativeLocalGateway *IstioGatewayOverride `json:"knative-local-gateway,omitempty"`
}

IstioIngressConfiguration specifies options for the istio ingresses.

func (*IstioIngressConfiguration) DeepCopy

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

func (*IstioIngressConfiguration) DeepCopyInto

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

type IstioPort added in v0.49.0

type IstioPort struct {
	// Number is a valid non-negative integer port number.
	// +optional
	Number uint32 `json:"number,omitempty"`

	// Protocol exposed on the port. MUST BE one of
	// HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS.
	// +optional
	Protocol string `json:"protocol,omitempty"`

	// Name is a label assigned to the port.
	// +optional
	Name string `json:"name,omitempty"`

	// TargetPort is the target port on the workload.
	// The snake_case JSON tag is preserved for backward compatibility with existing KnativeServing CRs.
	// +optional
	TargetPort uint32 `json:"target_port,omitempty"`
}

IstioPort describes the port on which a Gateway server should listen. See https://istio.io/latest/docs/reference/config/networking/gateway/#Port.

func (*IstioPort) DeepCopy added in v0.49.0

func (in *IstioPort) DeepCopy() *IstioPort

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

func (*IstioPort) DeepCopyInto added in v0.49.0

func (in *IstioPort) DeepCopyInto(out *IstioPort)

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

type IstioServer added in v0.49.0

type IstioServer struct {
	// Port on which the proxy should listen for incoming connections.
	// +optional
	Port *IstioPort `json:"port,omitempty"`

	// Bind is the IP or the Unix domain socket to which the listener should
	// be bound to. Format: `x.x.x.x` or `unix:///path/to/uds` or
	// `unix://@foobar` (Linux abstract namespace). When using Unix domain
	// sockets, the port number should be 0.
	// +optional
	Bind string `json:"bind,omitempty"`

	// Hosts is one or more hosts exposed by this gateway. A host is specified
	// as a `dnsName` with an optional `namespace/` prefix.
	// +optional
	Hosts []string `json:"hosts,omitempty"`

	// Name is an optional name of the server. When set it must be unique
	// across all servers on a single Gateway.
	// +optional
	Name string `json:"name,omitempty"`

	// Tls configures TLS settings for the server.
	// +optional
	Tls *IstioServerTLSSettings `json:"tls,omitempty"`

	// DefaultEndpoint is the loopback IP endpoint or Unix domain socket to
	// which traffic should be forwarded to by default.
	// +optional
	DefaultEndpoint string `json:"defaultEndpoint,omitempty"`
}

IstioServer describes the properties of the proxy on a given load balancer port. See https://istio.io/latest/docs/reference/config/networking/gateway/#Server.

func (*IstioServer) DeepCopy added in v0.49.0

func (in *IstioServer) DeepCopy() *IstioServer

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

func (*IstioServer) DeepCopyInto added in v0.49.0

func (in *IstioServer) DeepCopyInto(out *IstioServer)

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

type IstioServerTLSSettings added in v0.49.0

type IstioServerTLSSettings struct {
	// HttpsRedirect, if set to true, causes the load balancer to send a 301
	// redirect to HTTPS for all HTTP requests. Should only be used on HTTP
	// listeners and is mutually exclusive with all other TLS options.
	// +optional
	HttpsRedirect bool `json:"httpsRedirect,omitempty"`

	// Mode indicates whether connections should be secured by TLS.
	// +optional
	// +kubebuilder:validation:Enum=PASSTHROUGH;SIMPLE;MUTUAL;AUTO_PASSTHROUGH;ISTIO_MUTUAL
	Mode string `json:"mode,omitempty"`

	// ServerCertificate is the path to the file holding the server-side TLS
	// certificate to use.
	// +optional
	ServerCertificate string `json:"serverCertificate,omitempty"`

	// PrivateKey is the path to the file holding the server's private key.
	// +optional
	PrivateKey string `json:"privateKey,omitempty"`

	// CaCertificates is the path to a file containing certificate authority
	// certificates to use in verifying a presented client side certificate.
	// +optional
	CaCertificates string `json:"caCertificates,omitempty"`

	// CredentialName is the name of the secret holding the server-side TLS
	// certificate to use.
	// +optional
	CredentialName string `json:"credentialName,omitempty"`

	// SubjectAltNames is a list of alternate names to verify the subject
	// identity in the certificate presented by the client.
	// +optional
	SubjectAltNames []string `json:"subjectAltNames,omitempty"`

	// VerifyCertificateSpki is an optional list of base64-encoded SHA-256
	// hashes of the SPKIs of authorized client certificates.
	// +optional
	VerifyCertificateSpki []string `json:"verifyCertificateSpki,omitempty"`

	// VerifyCertificateHash is an optional list of hex-encoded SHA-256 hashes
	// of the authorized client certificates.
	// +optional
	VerifyCertificateHash []string `json:"verifyCertificateHash,omitempty"`

	// MinProtocolVersion is the minimum TLS protocol version.
	// +optional
	MinProtocolVersion int32 `json:"minProtocolVersion,omitempty"`

	// MaxProtocolVersion is the maximum TLS protocol version.
	// +optional
	MaxProtocolVersion int32 `json:"maxProtocolVersion,omitempty"`

	// CipherSuites is an optional list of cipher suites to be used when
	// negotiating TLS.
	// +optional
	CipherSuites []string `json:"cipherSuites,omitempty"`
}

IstioServerTLSSettings configures TLS for an Istio Gateway server. See https://istio.io/latest/docs/reference/config/networking/gateway/#ServerTLSSettings.

func (*IstioServerTLSSettings) DeepCopy added in v0.49.0

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

func (*IstioServerTLSSettings) DeepCopyInto added in v0.49.0

func (in *IstioServerTLSSettings) DeepCopyInto(out *IstioServerTLSSettings)

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

type KComponent

type KComponent interface {
	metav1.Object
	schema.ObjectKind

	// GetSpec returns the common spec for all known types.
	GetSpec() KComponentSpec
	// GetStatus returns the common status of all known types.
	GetStatus() KComponentStatus
}

KComponent is a common interface for accessing meta, spec and status of all known types.

type KComponentSpec

type KComponentSpec interface {
	// GetConfig returns means to override entries in upstream configmaps.
	GetConfig() ConfigMapData
	// GetRegistry returns means to override deployment images.
	GetRegistry() *Registry
	// GetResources returns a list of container resource overrides.
	GetResources() []ResourceRequirementsOverride
	// GetVersion gets the version to be installed
	GetVersion() string
	// GetManifests gets the list of manifests, which should ultimately be installed
	GetManifests() []Manifest
	// GetAdditionalManifests gets the list of additional manifests, which should be installed
	GetAdditionalManifests() []Manifest

	// GetNamespaceConfiguration gets the labels and annotations for the namespace
	GetNamespaceConfiguration() *NamespaceConfiguration

	// GetHighAvailability returns means to set the number of desired replicas
	GetHighAvailability() *HighAvailability

	// GetWorkloadOverrides gets the component configurations to override.
	GetWorkloadOverrides() []WorkloadOverride

	// GetServiceOverride gets the service configurations to override.
	GetServiceOverride() []ServiceOverride

	// GetPodDisruptionBudgetOverride gets the PodDisruptionBudget configurations to override.
	GetPodDisruptionBudgetOverride() []PodDisruptionBudgetOverride

	// GetClusterProfileRef gets the reference to a ClusterProfile for multi-cluster deployment.
	GetClusterProfileRef() *ClusterProfileReference
}

KComponentSpec is a common interface for accessing the common spec of all known types.

type KComponentStatus

type KComponentStatus interface {
	// MarkInstallSucceeded marks the InstallationSucceeded status as true.
	MarkInstallSucceeded()
	// MarkInstallFailed marks the InstallationSucceeded status as false with the given
	// message.
	MarkInstallFailed(msg string)

	// MarkDeploymentsAvailable marks the DeploymentsAvailable status as true.
	MarkDeploymentsAvailable()
	// MarkDeploymentsNotReady marks the DeploymentsAvailable status as false and calls out
	// it's waiting for deployments.
	MarkDeploymentsNotReady([]string)

	// MarkVersionMigrationEligible marks the VersionMigrationEligible status as true.
	MarkVersionMigrationEligible()
	// MarkVersionMigrationNotEligible marks the VersionMigrationEligible status as false with
	// the given message.
	MarkVersionMigrationNotEligible(msg string)

	// MarkDependenciesInstalled marks the DependenciesInstalled status as true.
	MarkDependenciesInstalled()
	// MarkDependencyInstalling marks the DependenciesInstalled status as false with the
	// given message.
	MarkDependencyInstalling(msg string)
	// MarkDependencyMissing marks the DependenciesInstalled status as false with the
	// given message.
	MarkDependencyMissing(msg string)

	// GetVersion gets the currently installed version of the component.
	GetVersion() string
	// SetVersion sets the currently installed version of the component.
	SetVersion(version string)

	// GetManifests gets the url links of the manifests
	GetManifests() []string
	// SetManifests sets the url links of the manifests
	SetManifests(manifests []string)

	// MarkTargetClusterResolved marks the TargetClusterResolved status as true.
	MarkTargetClusterResolved()
	// MarkTargetClusterNotResolved marks the TargetClusterResolved status as false with the given reason and message.
	MarkTargetClusterNotResolved(reason, msg string)

	// IsReady return true if all conditions are satisfied
	IsReady() bool
}

KComponentStatus is a common interface for status mutations of all known types.

type KafkaSourceConfiguration

type KafkaSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

KafkaSourceConfiguration specifies whether to enable the kafka source.

func (*KafkaSourceConfiguration) DeepCopy

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

func (*KafkaSourceConfiguration) DeepCopyInto

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

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

type KourierIngressConfiguration

type KourierIngressConfiguration struct {
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// ServiceType specifies the service type for kourier gateway.
	ServiceType v1.ServiceType `json:"service-type,omitempty"`

	// ServiceLoadBalancerIP specifies the service load balancer IP.
	ServiceLoadBalancerIP string `json:"service-load-balancer-ip,omitempty"`

	// HTTPPort specifies the port used in case of ServiceType = "NodePort" for http traffic
	HTTPPort int32 `json:"http-port,omitempty"`

	// HTTPSPort specifies the port used in case of ServiceType = "NodePort" for https (encrypted) traffic
	HTTPSPort int32 `json:"https-port,omitempty"`

	// BootstrapConfigmapName specifies the ConfigMap name which contains envoy bootstrap.
	BootstrapConfigmapName string `json:"bootstrap-configmap,omitempty"`
}

KourierIngressConfiguration specifies whether to enable the kourier ingresses.

func (*KourierIngressConfiguration) DeepCopy

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

func (*KourierIngressConfiguration) DeepCopyInto

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

type Manifest

type Manifest struct {
	// The link of the manifest URL
	Url string `json:"URL"`
}

Manifest enables the user to specify the links to the manifests' URLs

func (*Manifest) DeepCopy

func (in *Manifest) DeepCopy() *Manifest

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

func (*Manifest) DeepCopyInto

func (in *Manifest) DeepCopyInto(out *Manifest)

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

type NamespaceConfiguration added in v0.43.0

type NamespaceConfiguration struct {
	// Labels overrides labels for the namespace and its template.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations overrides labels for the namespace and its template.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

NamespaceConfiguration defines the configurations of namespaces to override.

func (*NamespaceConfiguration) DeepCopy added in v0.43.0

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

func (*NamespaceConfiguration) DeepCopyInto added in v0.43.0

func (in *NamespaceConfiguration) DeepCopyInto(out *NamespaceConfiguration)

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

type NatssSourceConfiguration

type NatssSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

NatssSourceConfiguration specifies whether to enable the natss source.

func (*NatssSourceConfiguration) DeepCopy

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

func (*NatssSourceConfiguration) DeepCopyInto

func (in *NatssSourceConfiguration) DeepCopyInto(out *NatssSourceConfiguration)

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

type PodDisruptionBudgetOverride added in v0.33.0

type PodDisruptionBudgetOverride struct {
	// Name is the name of the podDisruptionBudget to override.
	Name string `json:"name"`
	// The desired PodDisruptionBudgetSpec
	policyv1.PodDisruptionBudgetSpec `json:",inline"`
}

func (*PodDisruptionBudgetOverride) DeepCopy added in v0.33.0

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

func (*PodDisruptionBudgetOverride) DeepCopyInto added in v0.33.0

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

type ProbesRequirementsOverride added in v0.35.0

type ProbesRequirementsOverride struct {
	// The container name
	Container string `json:"container"`
	// Number of seconds after the container has started before liveness probes are initiated.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	// +optional
	InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty" protobuf:"varint,2,opt,name=initialDelaySeconds"`
	// Number of seconds after which the probe times out.
	// Defaults to 1 second. Minimum value is 1.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	// +optional
	TimeoutSeconds int32 `json:"timeoutSeconds,omitempty" protobuf:"varint,3,opt,name=timeoutSeconds"`
	// How often (in seconds) to perform the probe.
	// Default to 10 seconds. Minimum value is 1.
	// +optional
	PeriodSeconds int32 `json:"periodSeconds,omitempty" protobuf:"varint,4,opt,name=periodSeconds"`
	// Minimum consecutive successes for the probe to be considered successful after having failed.
	// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
	// +optional
	SuccessThreshold int32 `json:"successThreshold,omitempty" protobuf:"varint,5,opt,name=successThreshold"`
	// Minimum consecutive failures for the probe to be considered failed after having succeeded.
	// Defaults to 3. Minimum value is 1.
	// +optional
	FailureThreshold int32 `json:"failureThreshold,omitempty" protobuf:"varint,6,opt,name=failureThreshold"`
	// Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
	// The grace period is the duration in seconds after the processes running in the pod are sent
	// a termination signal and the time when the processes are forcibly halted with a kill signal.
	// Set this value longer than the expected cleanup time for your process.
	// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
	// value overrides the value provided by the pod spec.
	// Value must be non-negative integer. The value zero indicates stop immediately via
	// the kill signal (no opportunity to shut down).
	// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
	// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,7,opt,name=terminationGracePeriodSeconds"`
}

ProbesRequirementsOverride enables the user to override any container's env vars.

func (*ProbesRequirementsOverride) DeepCopy added in v0.35.0

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

func (*ProbesRequirementsOverride) DeepCopyInto added in v0.35.0

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

type PrometheusSourceConfiguration

type PrometheusSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

PrometheusSourceConfiguration specifies whether to enable the prometheus source.

func (*PrometheusSourceConfiguration) DeepCopy

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

func (*PrometheusSourceConfiguration) DeepCopyInto

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

type RabbitmqSourceConfiguration

type RabbitmqSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

RabbitmqSourceConfiguration specifies whether to enable the rabbitmq source.

func (*RabbitmqSourceConfiguration) DeepCopy

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

func (*RabbitmqSourceConfiguration) DeepCopyInto

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

type RedisSourceConfiguration

type RedisSourceConfiguration struct {
	Enabled bool `json:"enabled"`
}

RedisSourceConfiguration specifies whether to enable the redis source.

func (*RedisSourceConfiguration) DeepCopy

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

func (*RedisSourceConfiguration) DeepCopyInto

func (in *RedisSourceConfiguration) DeepCopyInto(out *RedisSourceConfiguration)

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

type Registry

type Registry struct {
	// The default image reference template to use for all knative images.
	// It takes the form of example-registry.io/custom/path/${NAME}:custom-tag
	// ${NAME} will be replaced by the deployment container name, or caching.internal.knative.dev/v1alpha1/Image name.
	// +optional
	Default string `json:"default,omitempty"`

	// A map of a container name or image name to the full image location of the individual knative image.
	// +optional
	Override map[string]string `json:"override,omitempty"`

	// A list of secrets to be used when pulling the knative images. The secret must be created in the
	// same namespace as the knative-serving deployments, and not the namespace of this resource.
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}

Registry defines image overrides of knative images. This affects both apps/v1.Deployment and caching.internal.knative.dev/v1beta1.Image. The default value is used as a default format to override for all knative deployments. The override values are specific to each knative deployment.

func (*Registry) DeepCopy

func (in *Registry) DeepCopy() *Registry

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

func (*Registry) DeepCopyInto

func (in *Registry) DeepCopyInto(out *Registry)

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

type ResourceRequirementsOverride

type ResourceRequirementsOverride struct {
	// The container name
	Container string `json:"container"`
	// The desired ResourceRequirements
	corev1.ResourceRequirements `json:",inline"`
}

ResourceRequirementsOverride enables the user to override any container's resource requests/limits specified in the embedded manifest

func (*ResourceRequirementsOverride) DeepCopy

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

func (*ResourceRequirementsOverride) DeepCopyInto

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

type SecurityGuardConfiguration added in v0.36.0

type SecurityGuardConfiguration struct {
	Enabled bool `json:"enabled"`
}

SecurityGuardConfiguration specifies options for the security guard component.

func (*SecurityGuardConfiguration) DeepCopy added in v0.36.0

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

func (*SecurityGuardConfiguration) DeepCopyInto added in v0.36.0

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

type ServiceOverride added in v0.31.0

type ServiceOverride struct {
	// Name is the name of the service to override.
	Name string `json:"name"`

	// Labels overrides labels for the service and its template.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations overrides labels for the service and its template.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Selector overrides the selector for the service
	// +optional
	Selector map[string]string `json:"selector,omitempty"`
}

ServiceOverride defines the configurations of the service to override.

func (*ServiceOverride) DeepCopy added in v0.31.0

func (in *ServiceOverride) DeepCopy() *ServiceOverride

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

func (*ServiceOverride) DeepCopyInto added in v0.31.0

func (in *ServiceOverride) DeepCopyInto(out *ServiceOverride)

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

type WorkloadOverride added in v0.35.0

type WorkloadOverride struct {
	// Name is the name of the deployment to override.
	Name string `json:"name"`

	// Labels overrides labels for the deployment and its template.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations overrides labels for the deployment and its template.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Replicas is the number of replicas that HA parts of the control plane
	// will be scaled to.
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// NodeSelector overrides nodeSelector for the deployment.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// TopologySpreadConstraints overrides topologySpreadConstraints for the deployment.
	// +optional
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`

	// Tolerations overrides tolerations for the deployment.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Affinities overrides affinity for the deployment.
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Resources overrides resources for the containers.
	// +optional
	Resources []ResourceRequirementsOverride `json:"resources,omitempty"`

	// Env overrides env vars for the containers.
	// +optional
	Env []EnvRequirementsOverride `json:"env,omitempty"`

	// ReadinessProbes overrides readiness probes for the containers.
	// +optional
	ReadinessProbes []ProbesRequirementsOverride `json:"readinessProbes,omitempty"`

	// LivenessProbes overrides liveness probes for the containers.
	// +optional
	LivenessProbes []ProbesRequirementsOverride `json:"livenessProbes,omitempty"`

	// HostNetwork overrides hostNetwork for the containers.
	// When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet automatically for the containers.
	// +optional
	HostNetwork *bool `json:"hostNetwork,omitempty"`

	// Version is retained for CRD backward compatibility and has no effect.
	// Deprecated: will be removed in a future release.
	// +optional
	Version string `json:"version,omitempty"`

	// VolumeMounts is retained for CRD backward compatibility and has no effect.
	// Deprecated: will be removed in a future release.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}

WorkloadOverride defines the configurations of deployments to override.

func (*WorkloadOverride) DeepCopy added in v0.35.0

func (in *WorkloadOverride) DeepCopy() *WorkloadOverride

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

func (*WorkloadOverride) DeepCopyInto added in v0.35.0

func (in *WorkloadOverride) DeepCopyInto(out *WorkloadOverride)

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