v1

package
v0.0.0-...-dfc9681 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2023 License: Apache-2.0 Imports: 13 Imported by: 17

Documentation

Overview

Package v1 contains API Schema definitions for the maistra.io v1 API group +kubebuilder:object:generate=true +groupName=maistra.io

Index

Constants

View Source
const (
	FilterPhasePreAuthN  = "PreAuthN"
	FilterPhasePostAuthN = "PostAuthN"
	FilterPhasePreAuthZ  = "PreAuthZ"
	FilterPhasePostAuthZ = "PostAuthZ"
	FilterPhasePreStats  = "PreStats"
	FilterPhasePostStats = "PostStats"
)
View Source
const DefaultTemplate = "default"

Variables

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

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

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

Functions

func ComposeReconciledVersion

func ComposeReconciledVersion(operatorVersion string, generation int64) string

ComposeReconciledVersion returns a string for use in ReconciledVersion fields

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ComponentStatus

type ComponentStatus struct {
	StatusType `json:",inline"`

	// The name of the component this status pertains to.
	Resource string `json:"resource,omitempty"`

	// TODO: can we remove this? it's not used anywhere
	// The status of each resource that comprises this component.
	Resources []*StatusType `json:"children,omitempty"`
}

ComponentStatus represents the status of an object with children

func NewComponentStatus

func NewComponentStatus() *ComponentStatus

NewComponentStatus returns a new ComponentStatus object

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type ComponentStatusList

type ComponentStatusList struct {
	//+optional
	ComponentStatus []ComponentStatus `json:"components,omitempty"`
}

func (*ComponentStatusList) DeepCopy

func (in *ComponentStatusList) DeepCopy() *ComponentStatusList

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

func (*ComponentStatusList) DeepCopyInto

func (in *ComponentStatusList) DeepCopyInto(out *ComponentStatusList)

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

func (*ComponentStatusList) FindComponentByName

func (s *ComponentStatusList) FindComponentByName(name string) *ComponentStatus

FindComponentByName returns the status for a specific component

type Condition

type Condition struct {

	// The type of this condition.
	Type ConditionType `json:"type,omitempty"`

	// The status of this condition. Can be True, False or Unknown.
	Status ConditionStatus `json:"status,omitempty"`

	// Unique, single-word, CamelCase reason for the condition's last transition.
	Reason ConditionReason `json:"reason,omitempty"`

	// Human-readable message indicating details about the last transition.
	Message string `json:"message,omitempty"`

	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}

A Condition represents a specific observation of the object's state.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

func (*Condition) Matches

func (c *Condition) Matches(status ConditionStatus, reason ConditionReason, message string) bool

type ConditionReason

type ConditionReason string

ConditionReason represents a short message indicating how the condition came to be in its present state.

const (
	// ConditionReasonDeletionError ...
	ConditionReasonDeletionError ConditionReason = "DeletionError"
	// ConditionReasonInstallSuccessful ...
	ConditionReasonInstallSuccessful ConditionReason = "InstallSuccessful"
	// ConditionReasonInstallError ...
	ConditionReasonInstallError ConditionReason = "InstallError"
	// ConditionReasonReconcileSuccessful ...
	ConditionReasonReconcileSuccessful ConditionReason = "ReconcileSuccessful"
	// ConditionReasonValidationError ...
	ConditionReasonValidationError ConditionReason = "ValidationError"
	// ConditionReasonDependencyMissingError ...
	ConditionReasonDependencyMissingError ConditionReason = "DependencyMissingError"
	// ConditionReasonReconcileError ...
	ConditionReasonReconcileError ConditionReason = "ReconcileError"
	// ConditionReasonResourceCreated ...
	ConditionReasonResourceCreated ConditionReason = "ResourceCreated"
	// ConditionReasonSpecUpdated ...
	ConditionReasonSpecUpdated ConditionReason = "SpecUpdated"
	// ConditionReasonUpdateSuccessful ...
	ConditionReasonUpdateSuccessful ConditionReason = "UpdateSuccessful"
	// ConditionReasonComponentsReady ...
	ConditionReasonComponentsReady ConditionReason = "ComponentsReady"
	// ConditionReasonComponentsNotReady ...
	ConditionReasonComponentsNotReady ConditionReason = "ComponentsNotReady"
	// ConditionReasonProbeError ...
	ConditionReasonProbeError ConditionReason = "ProbeError"
	// ConditionReasonPausingInstall ...
	ConditionReasonPausingInstall ConditionReason = "PausingInstall"
	// ConditionReasonPausingUpdate ...
	ConditionReasonPausingUpdate ConditionReason = "PausingUpdate"
	// ConditionReasonDeleting ...
	ConditionReasonDeleting ConditionReason = "Deleting"
	// ConditionReasonDeleted ...
	ConditionReasonDeleted ConditionReason = "Deleted"
)

type ConditionStatus

type ConditionStatus string

ConditionStatus represents the status of the condition

const (
	// ConditionStatusTrue represents completion of the condition, e.g.
	// Initialized=True signifies that initialization has occurred.
	ConditionStatusTrue ConditionStatus = "True"
	// ConditionStatusFalse represents incomplete status of the condition, e.g.
	// Initialized=False signifies that initialization has not occurred or has
	// failed.
	ConditionStatusFalse ConditionStatus = "False"
	// ConditionStatusUnknown represents unknown completion of the condition, e.g.
	// Initialized=Unknown signifies that initialization may or may not have been
	// completed.
	ConditionStatusUnknown ConditionStatus = "Unknown"
)

type ConditionType

type ConditionType string

ConditionType represents the type of the condition. Condition stages are: Installed, Reconciled, Ready

const (
	// ConditionTypeInstalled signifies the whether or not the controller has
	// installed the resources defined through the CR.
	ConditionTypeInstalled ConditionType = "Installed"
	// ConditionTypeReconciled signifies the whether or not the controller has
	// reconciled the resources defined through the CR.
	ConditionTypeReconciled ConditionType = "Reconciled"
	// ConditionTypeReady signifies the whether or not any Deployment, StatefulSet,
	// etc. resources are Ready.
	ConditionTypeReady ConditionType = "Ready"
)

type ControlPlaneSpec

type ControlPlaneSpec struct {
	// Template selects the template to use for default values. Defaults to
	// "default" when not set.
	// DEPRECATED - use Profiles instead
	// +optional
	Template string `json:"template,omitempty"`

	// Profiles selects the profile to use for default values. Defaults to
	// "default" when not set.  Takes precedence over Template.
	// +optional
	Profiles []string `json:"profiles,omitempty"`

	// Version specifies what Maistra version of the control plane to install.
	// When creating a new ServiceMeshControlPlane with an empty version, the
	// admission webhook sets the version to the latest version supported by
	// the operator.
	// Existing ServiceMeshControlPlanes with an empty version are treated as
	// having the version set to "v1.0"
	// +optional
	Version string `json:"version,omitempty"`

	// DEPRECATED: No longer used anywhere.
	// Previously used to specify the NetworkType of the cluster. Defaults to "subnet".
	// +optional
	NetworkType NetworkType `json:"networkType,omitempty"`

	// Specifies the Istio configuration options that are passed to Helm when the
	// Istio charts are rendered. These options are usually populated from the
	// template specified in the spec.template field, but individual values can
	// be overridden here.
	// More info: https://maistra.io/docs/installation/installation-options/
	// +optional
	// +kubebuilder:validation:Optional
	Istio *HelmValues `json:"istio,omitempty"`

	// Specifies the 3Scale configuration options that are passed to Helm when the
	// 3Scale charts are rendered. These values are usually populated from the
	// template specified in the spec.template field, but individual values can
	// be overridden here.
	// More info: https://maistra.io/docs/installation/installation-options/#_3scale
	// +optional
	// +kubebuilder:validation:Optional
	ThreeScale *HelmValues `json:"threeScale,omitempty"`
}

ControlPlaneSpec represents the configuration for installing a control plane.

func (*ControlPlaneSpec) DeepCopy

func (in *ControlPlaneSpec) DeepCopy() *ControlPlaneSpec

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

func (*ControlPlaneSpec) DeepCopyInto

func (in *ControlPlaneSpec) DeepCopyInto(out *ControlPlaneSpec)

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

type ControlPlaneStatus

type ControlPlaneStatus struct {
	StatusBase `json:",inline"`

	StatusType `json:",inline"`

	// The generation observed by the controller during the most recent
	// reconciliation. The information in the status pertains to this particular
	// generation of the object.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// The last version that was reconciled.
	ReconciledVersion string `json:"reconciledVersion,omitempty"`

	// The list of components comprising the control plane and their statuses.
	// +nullable
	ComponentStatusList `json:",inline"`

	// The full specification of the configuration options that were applied
	// to the components of the control plane during the most recent reconciliation.
	// +optional
	LastAppliedConfiguration ControlPlaneSpec `json:"lastAppliedConfiguration"`
}

ControlPlaneStatus represents the current state of a ServiceMeshControlPlane.

func (*ControlPlaneStatus) DeepCopy

func (in *ControlPlaneStatus) DeepCopy() *ControlPlaneStatus

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

func (*ControlPlaneStatus) DeepCopyInto

func (in *ControlPlaneStatus) DeepCopyInto(out *ControlPlaneStatus)

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

func (*ControlPlaneStatus) GetReconciledVersion

func (s *ControlPlaneStatus) GetReconciledVersion() string

GetReconciledVersion returns the reconciled version, or a default for older resources

type DeploymentStatus

type DeploymentStatus struct {
	// +kubebuilder:validation:Optional
	Ready           bool   `json:"ready"`
	ContainerSHA256 string `json:"containerSha256,omitempty"`
	SHA256          string `json:"sha256,omitempty"`
	URL             string `json:"url,omitempty"`
	Message         string `json:"message,omitempty"`
}

func (*DeploymentStatus) DeepCopy

func (in *DeploymentStatus) DeepCopy() *DeploymentStatus

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

func (*DeploymentStatus) DeepCopyInto

func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)

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

type FilterPhase

type FilterPhase string

FilterPhase defines point of injection of Envoy filter

type HelmValues

type HelmValues struct {
	// contains filtered or unexported fields
}

HelmValues is typedef for Helm .Values +kubebuilder:validation:Type=object +kubebuilder:validation:XPreserveUnknownFields

func NewHelmValues

func NewHelmValues(values map[string]interface{}) *HelmValues

func (*HelmValues) DeepCopy

func (in *HelmValues) DeepCopy() *HelmValues

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

func (*HelmValues) DeepCopyInto

func (in *HelmValues) DeepCopyInto(out *HelmValues)

func (*HelmValues) GetAndRemoveBool

func (h *HelmValues) GetAndRemoveBool(path string) (bool, bool, error)

func (*HelmValues) GetAndRemoveFloat64

func (h *HelmValues) GetAndRemoveFloat64(path string) (float64, bool, error)

func (*HelmValues) GetAndRemoveForceNumberToString

func (h *HelmValues) GetAndRemoveForceNumberToString(path string) (string, bool, error)

func (*HelmValues) GetAndRemoveInt64

func (h *HelmValues) GetAndRemoveInt64(path string) (int64, bool, error)

func (*HelmValues) GetAndRemoveSlice

func (h *HelmValues) GetAndRemoveSlice(path string) ([]interface{}, bool, error)

func (*HelmValues) GetAndRemoveString

func (h *HelmValues) GetAndRemoveString(path string) (string, bool, error)

func (*HelmValues) GetAndRemoveStringSlice

func (h *HelmValues) GetAndRemoveStringSlice(path string) ([]string, bool, error)

func (*HelmValues) GetBool

func (h *HelmValues) GetBool(path string) (bool, bool, error)

func (*HelmValues) GetContent

func (h *HelmValues) GetContent() map[string]interface{}

func (*HelmValues) GetFieldNoCopy

func (h *HelmValues) GetFieldNoCopy(path string) (interface{}, bool, error)

func (*HelmValues) GetFloat64

func (h *HelmValues) GetFloat64(path string) (float64, bool, error)

func (*HelmValues) GetForceNumberToString

func (h *HelmValues) GetForceNumberToString(path string) (string, bool, error)

func (*HelmValues) GetInt64

func (h *HelmValues) GetInt64(path string) (int64, bool, error)

func (*HelmValues) GetMap

func (h *HelmValues) GetMap(path string) (map[string]interface{}, bool, error)

func (*HelmValues) GetSlice

func (h *HelmValues) GetSlice(path string) ([]interface{}, bool, error)

func (*HelmValues) GetString

func (h *HelmValues) GetString(path string) (string, bool, error)

func (*HelmValues) GetStringSlice

func (h *HelmValues) GetStringSlice(path string) ([]string, bool, error)

func (*HelmValues) MarshalJSON

func (h *HelmValues) MarshalJSON() ([]byte, error)

func (*HelmValues) RemoveField

func (h *HelmValues) RemoveField(path string)

func (*HelmValues) SetField

func (h *HelmValues) SetField(path string, value interface{}) error

func (*HelmValues) SetStringSlice

func (h *HelmValues) SetStringSlice(path string, value []string) error

func (*HelmValues) UnmarshalJSON

func (h *HelmValues) UnmarshalJSON(in []byte) error

type NetworkType

type NetworkType string

NetworkType is type definition representing the network type of the cluster

const (
	// NetworkTypeSubnet when using ovs-subnet
	NetworkTypeSubnet NetworkType = "subnet"
	// NetworkTypeMultitenant when using ovs-multitenant
	NetworkTypeMultitenant NetworkType = "multitenant"
	// NetworkTypeNetworkPolicy when using ovs-networkpolicy
	NetworkTypeNetworkPolicy NetworkType = "networkpolicy"
)

type ResourceKey

type ResourceKey string

ResourceKey is a typedef for key used in ManagedGenerations. It is a string with the format: namespace/name=group/version,kind

func NewResourceKey

func NewResourceKey(o metav1.Object, t metav1.Type) ResourceKey

NewResourceKey for the object and type

func (ResourceKey) ToUnstructured

func (key ResourceKey) ToUnstructured() *unstructured.Unstructured

ToUnstructured returns a an Unstructured object initialized with Namespace, Name, APIVersion, and Kind fields from the ResourceKey

type ServiceMeshControlPlane

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

	// The specification of the desired state of this ServiceMeshControlPlane.
	// This includes the configuration options for all components that comprise
	// the control plane.
	// +kubebuilder:validation:Required
	Spec ControlPlaneSpec `json:"spec"`

	// The current status of this ServiceMeshControlPlane and the components
	// that comprise the control plane. This data may be out of date by some
	// window of time.
	Status ControlPlaneStatus `json:"status,omitempty"`
}

ServiceMeshControlPlane represents a deployment of the service mesh control plane. The control plane components are deployed in the namespace in which the ServiceMeshControlPlane resides. The configuration options for the components that comprise the control plane are specified in this object. +genclient +k8s:openapi-gen=true +kubebuilder:resource:shortName=smcp,categories=maistra-io +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.annotations.readyComponentCount",description="How many of the total number of components are ready" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[?(@.type==\"Reconciled\")].reason",description="Whether or not the control plane installation is up to date." +kubebuilder:printcolumn:name="Template",type="string",JSONPath=".status.lastAppliedConfiguration.template",description="The configuration template to use as the base." +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".status.lastAppliedConfiguration.version",description="The actual current version of the control plane installation." +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the object" +kubebuilder:printcolumn:name="Image HUB",type="string",JSONPath=".status.lastAppliedConfiguration.istio.global.hub",description="The image hub used as the base for all component images.",priority=1

func (*ServiceMeshControlPlane) DeepCopy

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

func (*ServiceMeshControlPlane) DeepCopyInto

func (in *ServiceMeshControlPlane) DeepCopyInto(out *ServiceMeshControlPlane)

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

func (*ServiceMeshControlPlane) DeepCopyObject

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

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

type ServiceMeshControlPlaneList

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

ServiceMeshControlPlaneList contains a list of ServiceMeshControlPlane

func (*ServiceMeshControlPlaneList) DeepCopy

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

func (*ServiceMeshControlPlaneList) DeepCopyInto

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

func (*ServiceMeshControlPlaneList) DeepCopyObject

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

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

type ServiceMeshControlPlaneRef

type ServiceMeshControlPlaneRef struct {

	// The name of the referenced ServiceMeshControlPlane object.
	Name string `json:"name"`

	// The namespace of the referenced ServiceMeshControlPlane object.
	Namespace string `json:"namespace"`
}

ServiceMeshControlPlaneRef is a reference to a ServiceMeshControlPlane object

func (*ServiceMeshControlPlaneRef) DeepCopy

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

func (*ServiceMeshControlPlaneRef) DeepCopyInto

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

func (ServiceMeshControlPlaneRef) String

type ServiceMeshExtension

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

	Spec   ServiceMeshExtensionSpec   `json:"spec,omitempty"`
	Status ServiceMeshExtensionStatus `json:"status,omitempty"`
}

ServiceMeshExtension is the Schema for the servicemeshextensions API

func (*ServiceMeshExtension) DeepCopy

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

func (*ServiceMeshExtension) DeepCopyInto

func (in *ServiceMeshExtension) DeepCopyInto(out *ServiceMeshExtension)

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

func (*ServiceMeshExtension) DeepCopyObject

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

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

func (*ServiceMeshExtension) Hub

func (sme *ServiceMeshExtension) Hub()

Hub marks v1 SME resource as the storage version

type ServiceMeshExtensionConfig

type ServiceMeshExtensionConfig struct {
	Data map[string]interface{} `json:"-"`
}

func (*ServiceMeshExtensionConfig) DeepCopy

func (*ServiceMeshExtensionConfig) DeepCopyInto

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

func (*ServiceMeshExtensionConfig) MarshalJSON

func (smec *ServiceMeshExtensionConfig) MarshalJSON() ([]byte, error)

func (*ServiceMeshExtensionConfig) UnmarshalJSON

func (smec *ServiceMeshExtensionConfig) UnmarshalJSON(in []byte) error

type ServiceMeshExtensionList

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

ServiceMeshExtensionList contains a list of ServiceMeshExtension

func (*ServiceMeshExtensionList) DeepCopy

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

func (*ServiceMeshExtensionList) DeepCopyInto

func (in *ServiceMeshExtensionList) DeepCopyInto(out *ServiceMeshExtensionList)

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

func (*ServiceMeshExtensionList) DeepCopyObject

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

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

type ServiceMeshExtensionSpec

type ServiceMeshExtensionSpec struct {
	Image            string                        `json:"image,omitempty"`
	ImagePullPolicy  corev1.PullPolicy             `json:"imagePullPolicy,omitempty"`
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	WorkloadSelector WorkloadSelector              `json:"workloadSelector,omitempty"`
	Phase            *FilterPhase                  `json:"phase"`
	Priority         *int                          `json:"priority,omitempty"`

	// +kubebuilder:pruning:PreserveUnknownFields
	Config ServiceMeshExtensionConfig `json:"config,omitempty"`
}

ServiceMeshExtensionSpec defines the desired state of ServiceMeshExtension

func (*ServiceMeshExtensionSpec) DeepCopy

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

func (*ServiceMeshExtensionSpec) DeepCopyInto

func (in *ServiceMeshExtensionSpec) DeepCopyInto(out *ServiceMeshExtensionSpec)

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

type ServiceMeshExtensionStatus

type ServiceMeshExtensionStatus struct {
	Phase              FilterPhase      `json:"phase,omitempty"`
	Priority           int              `json:"priority,omitempty"`
	ObservedGeneration int64            `json:"observedGeneration,omitempty"`
	Deployment         DeploymentStatus `json:"deployment,omitempty"`
}

ServiceMeshExtensionStatus defines the observed state of ServiceMeshExtension

func (*ServiceMeshExtensionStatus) DeepCopy

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

func (*ServiceMeshExtensionStatus) DeepCopyInto

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

type ServiceMeshMember

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

	// The desired state of this ServiceMeshMember.
	// +kubebuilder:validation:Required
	Spec ServiceMeshMemberSpec `json:"spec"`

	// The current status of this ServiceMeshMember. This data may be out of
	// date by some window of time.
	// +optional
	Status ServiceMeshMemberStatus `json:"status,omitempty"`
}

A ServiceMeshMember object marks the namespace in which it lives as a member of the Service Mesh Control Plane referenced in the object. The ServiceMeshMember object should be created in each application namespace that must be part of the service mesh and must be named "default".

When the ServiceMeshMember object is created, it causes the namespace to be added to the ServiceMeshMemberRoll within the namespace of the ServiceMeshControlPlane object the ServiceMeshMember references.

To reference a ServiceMeshControlPlane, the user creating the ServiceMeshMember object must have the "use" permission on the referenced ServiceMeshControlPlane object. This permission is given via the mesh-users RoleBinding (and mesh-user Role) in the namespace of the referenced ServiceMeshControlPlane object. +genclient +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:resource:shortName=smm,categories=maistra-io +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Control Plane",type="string",JSONPath=".status.annotations.controlPlaneRef",description="The ServiceMeshControlPlane this namespace belongs to" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="Whether or not namespace is configured as a member of the mesh." +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the object"

func (*ServiceMeshMember) DeepCopy

func (in *ServiceMeshMember) DeepCopy() *ServiceMeshMember

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

func (*ServiceMeshMember) DeepCopyInto

func (in *ServiceMeshMember) DeepCopyInto(out *ServiceMeshMember)

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

func (*ServiceMeshMember) DeepCopyObject

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

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

type ServiceMeshMemberCondition

type ServiceMeshMemberCondition struct {
	Type               ServiceMeshMemberConditionType   `json:"type,omitempty"`
	Status             core.ConditionStatus             `json:"status,omitempty"`
	LastTransitionTime metav1.Time                      `json:"lastTransitionTime,omitempty"`
	Reason             ServiceMeshMemberConditionReason `json:"reason,omitempty"`
	Message            string                           `json:"message,omitempty"`
}

Condition represents a specific condition on a resource

func (*ServiceMeshMemberCondition) DeepCopy

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

func (*ServiceMeshMemberCondition) DeepCopyInto

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

type ServiceMeshMemberConditionReason

type ServiceMeshMemberConditionReason string
const (
	// ConditionReasonDeletionError ...
	ConditionReasonMemberCannotCreateMemberRoll          ServiceMeshMemberConditionReason = "CreateMemberRollFailed"
	ConditionReasonMemberCannotUpdateMemberRoll          ServiceMeshMemberConditionReason = "UpdateMemberRollFailed"
	ConditionReasonMemberCannotDeleteMemberRoll          ServiceMeshMemberConditionReason = "DeleteMemberRollFailed"
	ConditionReasonMemberNamespaceNotExists              ServiceMeshMemberConditionReason = "NamespaceNotExists"
	ConditionReasonMemberReferencesDifferentControlPlane ServiceMeshMemberConditionReason = "ReferencesDifferentControlPlane"
	ConditionReasonMemberTerminating                     ServiceMeshMemberConditionReason = "Terminating"
)

type ServiceMeshMemberConditionType

type ServiceMeshMemberConditionType string

ServiceMeshMemberConditionType represents the type of the condition. Condition types are: Reconciled, NamespaceConfigured

const (
	// ConditionTypeReconciled signifies whether or not the controller has
	// updated the ServiceMeshMemberRoll object based on this ServiceMeshMember.
	ConditionTypeMemberReconciled ServiceMeshMemberConditionType = "Reconciled"
	// ConditionTypeReady signifies whether the namespace has been configured
	// to use the mesh
	ConditionTypeMemberReady ServiceMeshMemberConditionType = "Ready" // TODO: remove the Ready condition in v2
)

type ServiceMeshMemberList

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

ServiceMeshMemberList contains a list of ServiceMeshMember objects

func (*ServiceMeshMemberList) DeepCopy

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

func (*ServiceMeshMemberList) DeepCopyInto

func (in *ServiceMeshMemberList) DeepCopyInto(out *ServiceMeshMemberList)

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

func (*ServiceMeshMemberList) DeepCopyObject

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

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

type ServiceMeshMemberRoll

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

	// Specification of the desired list of members of the service mesh.
	// +kubebuilder:validation:Required
	Spec ServiceMeshMemberRollSpec `json:"spec"`

	// The current status of this ServiceMeshMemberRoll. This data may be out
	// of date by some window of time.
	Status ServiceMeshMemberRollStatus `json:"status,omitempty"`
}

The ServiceMeshMemberRoll object configures which namespaces belong to a service mesh. Only namespaces listed in the ServiceMeshMemberRoll will be affected by the control plane. Any number of namespaces can be added, but a namespace may not exist in more than one service mesh. The ServiceMeshMemberRoll object must be created in the same namespace as the ServiceMeshControlPlane object and must be named "default". +genclient +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:resource:shortName=smmr,categories=maistra-io +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.annotations.configuredMemberCount",description="How many of the total number of member namespaces are configured" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].reason",description="Whether all member namespaces have been configured or why that's not the case" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the object" +kubebuilder:printcolumn:name="Members",type="string",JSONPath=".status.members",description="Namespaces that are members of this Control Plane",priority=1

func (*ServiceMeshMemberRoll) DeepCopy

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

func (*ServiceMeshMemberRoll) DeepCopyInto

func (in *ServiceMeshMemberRoll) DeepCopyInto(out *ServiceMeshMemberRoll)

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

func (*ServiceMeshMemberRoll) DeepCopyObject

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

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

type ServiceMeshMemberRollCondition

type ServiceMeshMemberRollCondition struct {
	Type               ServiceMeshMemberRollConditionType   `json:"type,omitempty"`
	Status             core.ConditionStatus                 `json:"status,omitempty"`
	LastTransitionTime metav1.Time                          `json:"lastTransitionTime,omitempty"`
	Reason             ServiceMeshMemberRollConditionReason `json:"reason,omitempty"`
	Message            string                               `json:"message,omitempty"`
}

Condition represents a specific condition on a resource

func (*ServiceMeshMemberRollCondition) DeepCopy

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

func (*ServiceMeshMemberRollCondition) DeepCopyInto

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

type ServiceMeshMemberRollConditionReason

type ServiceMeshMemberRollConditionReason string
const (
	// ConditionReasonConfigured indicates that all namespaces were configured
	ServiceMeshMemberRollConditionReasonConditionReasonConfigured ServiceMeshMemberRollConditionReason = "Configured"
	// ConditionReasonReconcileError indicates that one of the namespaces to configure could not be configured
	ServiceMeshMemberRollConditionReasonConditionReasonReconcileError ServiceMeshMemberRollConditionReason = "ReconcileError"
	// ConditionReasonSMCPMissing indicates that the ServiceMeshControlPlane resource does not exist
	ServiceMeshMemberRollConditionReasonConditionReasonSMCPMissing ServiceMeshMemberRollConditionReason = "ErrSMCPMissing"
	// ConditionReasonMultipleSMCP indicates that multiple ServiceMeshControlPlane resources exist in the namespace
	ServiceMeshMemberRollConditionReasonConditionReasonMultipleSMCP ServiceMeshMemberRollConditionReason = "ErrMultipleSMCPs"
	// ConditionReasonSMCPNotReconciled indicates that reconciliation of the SMMR was skipped because the SMCP has not been reconciled
	ServiceMeshMemberRollConditionReasonConditionReasonSMCPNotReconciled ServiceMeshMemberRollConditionReason = "SMCPReconciling"
)

type ServiceMeshMemberRollConditionType

type ServiceMeshMemberRollConditionType string

ServiceMeshMemberRollConditionType represents the type of the condition. Condition types are: Reconciled, NamespaceConfigured

const (
	// ConditionTypeMemberRollReady signifies whether the namespace has been configured
	// to use the mesh
	ConditionTypeMemberRollReady ServiceMeshMemberRollConditionType = "Ready"
)

type ServiceMeshMemberRollList

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

ServiceMeshMemberRollList contains a list of ServiceMeshMemberRoll

func (*ServiceMeshMemberRollList) DeepCopy

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

func (*ServiceMeshMemberRollList) DeepCopyInto

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

func (*ServiceMeshMemberRollList) DeepCopyObject

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

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

type ServiceMeshMemberRollSpec

type ServiceMeshMemberRollSpec struct {

	//  List of namespaces that should be members of the service mesh.
	// +optional
	// +nullable
	Members []string `json:"members,omitempty"`
}

ServiceMeshMemberRollSpec is the specification of the desired list of members of the service mesh.

func (*ServiceMeshMemberRollSpec) DeepCopy

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

func (*ServiceMeshMemberRollSpec) DeepCopyInto

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

type ServiceMeshMemberRollStatus

type ServiceMeshMemberRollStatus struct {
	StatusBase `json:",inline"`

	// The generation observed by the controller during the most recent
	// reconciliation. The information in the status pertains to this particular
	// generation of the object.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// The generation of the ServiceMeshControlPlane object observed by the
	// controller during the most recent reconciliation of this
	// ServiceMeshMemberRoll.
	ServiceMeshGeneration int64 `json:"meshGeneration,omitempty"`

	// The reconciled version of the ServiceMeshControlPlane object observed by
	// the controller during the most recent reconciliation of this
	// ServiceMeshMemberRoll.
	ServiceMeshReconciledVersion string `json:"meshReconciledVersion,omitempty"`

	// Complete list of namespaces that are configured as members of the service
	// mesh	- this includes namespaces specified in spec.members and those that
	// contain a ServiceMeshMember object
	// +optional
	// +nullable
	Members []string `json:"members"`

	// List of namespaces that are configured as members of the service mesh.
	// +optional
	// +nullable
	ConfiguredMembers []string `json:"configuredMembers"`

	// List of namespaces that haven't been configured as members of the service
	// mesh yet.
	// +optional
	// +nullable
	PendingMembers []string `json:"pendingMembers"`

	// List of namespaces that are being removed as members of the service
	// mesh.
	// +optional
	// +nullable
	TerminatingMembers []string `json:"terminatingMembers"`

	// Represents the latest available observations of this ServiceMeshMemberRoll's
	// current state.
	// +optional
	// +nullable
	Conditions []ServiceMeshMemberRollCondition `json:"conditions"`

	// Represents the latest available observations of each member's
	// current state.
	// +optional
	// +nullable
	MemberStatuses []ServiceMeshMemberStatusSummary `json:"memberStatuses"`
}

ServiceMeshMemberRollStatus represents the current state of a ServiceMeshMemberRoll.

func (*ServiceMeshMemberRollStatus) DeepCopy

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

func (*ServiceMeshMemberRollStatus) DeepCopyInto

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

func (*ServiceMeshMemberRollStatus) GetCondition

GetCondition removes a condition for the list of conditions

func (*ServiceMeshMemberRollStatus) SetCondition

SetCondition sets a specific condition in the list of conditions

type ServiceMeshMemberSpec

type ServiceMeshMemberSpec struct {

	// A reference to the ServiceMeshControlPlane object.
	ControlPlaneRef ServiceMeshControlPlaneRef `json:"controlPlaneRef"`
}

ServiceMeshMemberSpec defines the member of the mesh

func (*ServiceMeshMemberSpec) DeepCopy

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

func (*ServiceMeshMemberSpec) DeepCopyInto

func (in *ServiceMeshMemberSpec) DeepCopyInto(out *ServiceMeshMemberSpec)

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

type ServiceMeshMemberStatus

type ServiceMeshMemberStatus struct {
	StatusBase `json:",inline"`

	// The generation observed by the controller during the most recent
	// reconciliation. The information in the status pertains to this particular
	// generation of the object.
	ObservedGeneration int64 `json:"observedGeneration"`

	// The generation of the ServiceMeshControlPlane object observed by the
	// controller during the most recent reconciliation of this
	// ServiceMeshMember.
	ServiceMeshGeneration int64 `json:"meshGeneration,omitempty"` // TODO: do we need this field at all?

	// The reconciled version of the ServiceMeshControlPlane object observed by
	// the controller during the most recent reconciliation of this
	// ServiceMeshMember.
	ServiceMeshReconciledVersion string `json:"meshReconciledVersion,omitempty"` // TODO: do we need this field at all?

	// Represents the latest available observations of a ServiceMeshMember's
	// current state.
	Conditions []ServiceMeshMemberCondition `json:"conditions"`
}

ServiceMeshMemberStatus represents the current state of a ServiceMeshMember.

func (*ServiceMeshMemberStatus) DeepCopy

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

func (*ServiceMeshMemberStatus) DeepCopyInto

func (in *ServiceMeshMemberStatus) DeepCopyInto(out *ServiceMeshMemberStatus)

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

func (*ServiceMeshMemberStatus) GetCondition

GetCondition removes a condition for the list of conditions

func (*ServiceMeshMemberStatus) SetCondition

SetCondition sets a specific condition in the list of conditions

type ServiceMeshMemberStatusSummary

type ServiceMeshMemberStatusSummary struct {
	Namespace  string                       `json:"namespace"`
	Conditions []ServiceMeshMemberCondition `json:"conditions"`
}

ServiceMeshMemberStatusSummary represents a summary status of a ServiceMeshMember.

func (*ServiceMeshMemberStatusSummary) DeepCopy

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

func (*ServiceMeshMemberStatusSummary) DeepCopyInto

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

type StatusBase

type StatusBase struct {
	// Annotations is an unstructured key value map used to store additional,
	// usually redundant status information, such as the number of components
	// deployed by the ServiceMeshControlPlane (number is redundant because
	// you could just as easily count the elements in the ComponentStatus
	// array). The reason to add this redundant information is to make it
	// available to kubectl, which does not yet allow counting objects in
	// JSONPath expressions.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*StatusBase) DeepCopy

func (in *StatusBase) DeepCopy() *StatusBase

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

func (*StatusBase) DeepCopyInto

func (in *StatusBase) DeepCopyInto(out *StatusBase)

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

func (*StatusBase) GetAnnotation

func (s *StatusBase) GetAnnotation(name string) string

func (*StatusBase) RemoveAnnotation

func (s *StatusBase) RemoveAnnotation(name string)

func (*StatusBase) SetAnnotation

func (s *StatusBase) SetAnnotation(name string, value string)

type StatusType

type StatusType struct {

	// Represents the latest available observations of the object's current state.
	Conditions []Condition `json:"conditions,omitempty"`
}

StatusType represents the status for a control plane, component, or resource

func NewStatus

func NewStatus() StatusType

NewStatus returns a new StatusType object

func (*StatusType) DeepCopy

func (in *StatusType) DeepCopy() *StatusType

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

func (*StatusType) DeepCopyInto

func (in *StatusType) DeepCopyInto(out *StatusType)

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

func (*StatusType) GetCondition

func (s *StatusType) GetCondition(conditionType ConditionType) Condition

GetCondition removes a condition for the list of conditions

func (*StatusType) RemoveCondition

func (s *StatusType) RemoveCondition(conditionType ConditionType) *StatusType

RemoveCondition removes a condition for the list of conditions

func (*StatusType) SetCondition

func (s *StatusType) SetCondition(condition Condition) *StatusType

SetCondition sets a specific condition in the list of conditions

type WorkloadSelector

type WorkloadSelector struct {
	Labels map[string]string `json:"labels"`
}

WorkloadSelector is used to match workloads based on pod labels

func (*WorkloadSelector) DeepCopy

func (in *WorkloadSelector) DeepCopy() *WorkloadSelector

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

func (*WorkloadSelector) DeepCopyInto

func (in *WorkloadSelector) DeepCopyInto(out *WorkloadSelector)

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