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: 6 Imported by: 3

Documentation

Overview

+groupName=federation.maistra.io

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

Copyright Red Hat, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const MatchAny = "*"

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "federation.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 Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type DiscoveryConnectionStatus

type DiscoveryConnectionStatus struct {
	// Connected identfies an active connection with the remote mesh.
	// +required
	Connected bool `json:"connected"`
	// LastConnected represents the last time a connection with the remote mesh
	// was successful.
	// +optional
	LastConnected metav1.Time `json:"lastConnected,omitempty"`
	// LastEvent represents the last time an event was received from the remote
	// mesh.
	// +optional
	LastEvent metav1.Time `json:"lastEvent,omitempty"`
	// LastFullSync represents the last time a full sync was performed with the
	// remote mesh.
	// +optional
	LastFullSync metav1.Time `json:"lastFullSync,omitempty"`
	// LastDisconnect represents the last time the connection with the remote
	// mesh was disconnected.
	// +optional
	LastDisconnect metav1.Time `json:"lastDisconnect,omitempty"`
	// LastDisconnectStatus is the status returned the last time the connection
	// with the remote mesh was terminated.
	// +optional
	LastDisconnectStatus string `json:"lastDisconnectStatus,omitempty"`
}

DiscoveryConnectionStatus represents details related to connections with remote meshes.

func (*DiscoveryConnectionStatus) DeepCopy

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

func (*DiscoveryConnectionStatus) DeepCopyInto

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

type DiscoveryRemoteStatus

type DiscoveryRemoteStatus struct {
	DiscoveryConnectionStatus `json:",inline"`
	// Source represents the source of the remote watch.
	// +required
	Source string `json:"source"`
}

DiscoveryRemoteStatus represents details related to an inbound connection from a remote mesh.

func (*DiscoveryRemoteStatus) DeepCopy

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

func (*DiscoveryRemoteStatus) DeepCopyInto

func (in *DiscoveryRemoteStatus) DeepCopyInto(out *DiscoveryRemoteStatus)

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

type DiscoveryWatchStatus

type DiscoveryWatchStatus struct {
	DiscoveryConnectionStatus `json:",inline"`
}

DiscoveryWatchStatus represents details related to the outbound connection to the remote mesh.

func (*DiscoveryWatchStatus) DeepCopy

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

func (*DiscoveryWatchStatus) DeepCopyInto

func (in *DiscoveryWatchStatus) DeepCopyInto(out *DiscoveryWatchStatus)

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

type ExportedServiceRule

type ExportedServiceRule struct {
	// Type of rule.  One of NameSelector or LabelSelector.
	// +required
	Type ServiceImportExportSelectorType `json:"type"`
	// LabelSelector provides a mechanism for selecting services to export by
	// using a label selector to match Service resources for export.
	// +optional
	LabelSelector *ServiceImportExportLabelSelector `json:"labelSelector,omitempty"`
	// NameSelector provides a simple name matcher for exporting services in
	// the mesh.
	// +optional
	NameSelector *ServiceNameMapping `json:"nameSelector,omitempty"`
}

func (*ExportedServiceRule) DeepCopy

func (in *ExportedServiceRule) DeepCopy() *ExportedServiceRule

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

func (*ExportedServiceRule) DeepCopyInto

func (in *ExportedServiceRule) DeepCopyInto(out *ExportedServiceRule)

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

type ExportedServiceSet

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

	// Spec defines rules for matching services to be exported.
	Spec   ExportedServiceSetSpec   `json:"spec,omitempty"`
	Status ExportedServiceSetStatus `json:"status,omitempty"`
}

ExportedServiceSet is the Schema for configuring exported services. It must be created in the same namespace as the control plane. The name of the ExportedServiceSet resource must match the name of a ServiceMeshPeer resource defining the remote mesh to which the services will be exported. This implies there will be at most one ExportedServiceSet resource per peer and control plane.

func (*ExportedServiceSet) DeepCopy

func (in *ExportedServiceSet) DeepCopy() *ExportedServiceSet

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

func (*ExportedServiceSet) DeepCopyInto

func (in *ExportedServiceSet) DeepCopyInto(out *ExportedServiceSet)

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

func (*ExportedServiceSet) DeepCopyObject

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

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

type ExportedServiceSetList

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

ExportedServiceSetList contains a list of ExportedServiceSet

func (*ExportedServiceSetList) DeepCopy

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

func (*ExportedServiceSetList) DeepCopyInto

func (in *ExportedServiceSetList) DeepCopyInto(out *ExportedServiceSetList)

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

func (*ExportedServiceSetList) DeepCopyObject

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

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

type ExportedServiceSetSpec

type ExportedServiceSetSpec struct {
	// ExportRules are the rules that determine which services are exported from the
	// mesh.  The list is processed in order and the first spec in the list that
	// applies to a service is the one that will be applied.  This allows more
	// specific selectors to be placed before more general selectors.
	ExportRules []ExportedServiceRule `json:"exportRules,omitempty"`
}

func (*ExportedServiceSetSpec) DeepCopy

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

func (*ExportedServiceSetSpec) DeepCopyInto

func (in *ExportedServiceSetSpec) DeepCopyInto(out *ExportedServiceSetSpec)

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

type ExportedServiceSetStatus

type ExportedServiceSetStatus struct {
	// Exports provides details about the services exported by this mesh.
	// +required
	// +listType=map
	// +listMapKey=exportedName
	// +patchMergeKey=exportedName
	// +patchStrategy=merge,retainKeys
	ExportedServices []PeerServiceMapping `json:"exportedServices"`
}

func (*ExportedServiceSetStatus) DeepCopy

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

func (*ExportedServiceSetStatus) DeepCopyInto

func (in *ExportedServiceSetStatus) DeepCopyInto(out *ExportedServiceSetStatus)

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

type ImportedServiceLocality

type ImportedServiceLocality struct {
	// Region within which imported services are located.
	Region string `json:"region,omitempty"`
	// Zone within which imported services are located.  If Zone is specified,
	// Region must also be specified.
	Zone string `json:"zone,omitempty"`
	// Subzone within which imported services are located.  If Subzone is
	// specified, Zone must also be specified.
	Subzone string `json:"subzone,omitempty"`
}

func (*ImportedServiceLocality) DeepCopy

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

func (*ImportedServiceLocality) DeepCopyInto

func (in *ImportedServiceLocality) DeepCopyInto(out *ImportedServiceLocality)

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

type ImportedServiceRule

type ImportedServiceRule struct {
	// DomainSuffix applies the specified suffix to services imported by this
	// rule.  The behavior is identical to that of ImportedServiceSetSpec.DomainSuffix.
	// +optional
	DomainSuffix string `json:"domainSuffix,omitempty"`
	// ImportAsLocal imports the service as a local service in the mesh.  For
	// example, if an exported service, foo/bar is imported as some-ns/service,
	// the service will be imported as service.some-ns.svc.cluster.local in the
	// some-ns namespace.  If a service of this name already exists in the mesh,
	// the imported service's endpoints will be aggregated with any other
	// workloads associated with the service.  This setting overrides DomainSuffix.
	// +optional
	ImportAsLocal bool `json:"importAsLocal,omitempty"`
	// Type of rule.  Only NameSelector type is supported.
	// +required
	Type ServiceImportExportSelectorType `json:"type"`
	// NameSelector provides a simple name matcher for importing services in
	// the mesh.
	// +optional
	NameSelector *ServiceNameMapping `json:"nameSelector,omitempty"`
}

func (*ImportedServiceRule) DeepCopy

func (in *ImportedServiceRule) DeepCopy() *ImportedServiceRule

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

func (*ImportedServiceRule) DeepCopyInto

func (in *ImportedServiceRule) DeepCopyInto(out *ImportedServiceRule)

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

type ImportedServiceSet

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

	// Spec defines rules for matching services to be imported.
	Spec   ImportedServiceSetSpec   `json:"spec,omitempty"`
	Status ImportedServiceSetStatus `json:"status,omitempty"`
}

ImportedServiceSet is the Schema for configuring imported services. It must be created in the same namespace as the control plane. The name of the ImportedServiceSet resource must match the name of a ServiceMeshPeer resource defining the remote mesh from which the services will be imported. This implies there will be at most one ImportedServiceSet resource per peer and control plane.

func (*ImportedServiceSet) DeepCopy

func (in *ImportedServiceSet) DeepCopy() *ImportedServiceSet

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

func (*ImportedServiceSet) DeepCopyInto

func (in *ImportedServiceSet) DeepCopyInto(out *ImportedServiceSet)

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

func (*ImportedServiceSet) DeepCopyObject

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

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

type ImportedServiceSetList

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

ImportedServiceSetList contains a list of ImportedService

func (*ImportedServiceSetList) DeepCopy

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

func (*ImportedServiceSetList) DeepCopyInto

func (in *ImportedServiceSetList) DeepCopyInto(out *ImportedServiceSetList)

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

func (*ImportedServiceSetList) DeepCopyObject

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

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

type ImportedServiceSetSpec

type ImportedServiceSetSpec struct {
	// DomainSuffix specifies the domain suffix to be applies to imported
	// services.  If no domain suffix is specified, imported services will be
	// named as follows:
	//    <imported-name>.<imported-namespace>.svc.<mesh-name>-imports.local
	// If a domain suffix is specified, imported services will be named as
	// follows:
	//    <imported-name>.<imported-namespace>.<domain-suffix>
	// +optional
	DomainSuffix string `json:"domainSuffix,omitempty"`
	// Locality within which imported services should be associated.
	Locality *ImportedServiceLocality `json:"locality,omitempty"`
	// ImportRules are the rules that determine which services are imported to the
	// mesh.  The list is processed in order and the first spec in the list that
	// applies to a service is the one that will be applied.  This allows more
	// specific selectors to be placed before more general selectors.
	ImportRules []ImportedServiceRule `json:"importRules,omitempty"`
}

func (*ImportedServiceSetSpec) DeepCopy

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

func (*ImportedServiceSetSpec) DeepCopyInto

func (in *ImportedServiceSetSpec) DeepCopyInto(out *ImportedServiceSetSpec)

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

type ImportedServiceSetStatus

type ImportedServiceSetStatus struct {
	// Imports provides details about the services imported by this mesh.
	// +required
	// +listType=map
	// +listMapKey=exportedName
	// +patchMergeKey=exportedName
	// +patchStrategy=merge,retainKeys
	ImportedServices []PeerServiceMapping `json:"importedServices"`
}

func (*ImportedServiceSetStatus) DeepCopy

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

func (*ImportedServiceSetStatus) DeepCopyInto

func (in *ImportedServiceSetStatus) DeepCopyInto(out *ImportedServiceSetStatus)

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

type PeerDiscoveryStatus

type PeerDiscoveryStatus struct {
	// Remotes represents details related to the inbound connections from remote
	// meshes.
	// +optional
	// +listType=map
	// +listMapKey=source
	// +patchMergeKey=source
	// +patchStrategy=merge,retainKeys
	Remotes []DiscoveryRemoteStatus `json:"remotes,omitempty"`
	// Watch represents details related to the outbound connection to the
	// remote mesh.
	// +required
	Watch DiscoveryWatchStatus `json:"watch,omitempty"`
}

PeerDiscoveryStatus represents the status of the discovery connection between meshes.

func (*PeerDiscoveryStatus) DeepCopy

func (in *PeerDiscoveryStatus) DeepCopy() *PeerDiscoveryStatus

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

func (*PeerDiscoveryStatus) DeepCopyInto

func (in *PeerDiscoveryStatus) DeepCopyInto(out *PeerDiscoveryStatus)

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

type PeerServiceMapping

type PeerServiceMapping struct {
	// LocalService represents the service in the local (i.e. this) mesh. For an
	// exporting mesh, this would be the service being exported. For an
	// importing mesh, this would be the imported service.
	// +required
	LocalService ServiceKey `json:"localService"`
	// ExportedName represents the fully qualified domain name (FQDN) of an
	// exported service.  For an exporting mesh, this is the name that is
	// exported to the remote mesh. For an importing mesh, this would be the
	// name of the service exported by the remote mesh.
	// +required
	ExportedName string `json:"exportedName"`
}

PeerServiceMapping represents the name mapping between an exported service and its local counterpart.

func (*PeerServiceMapping) DeepCopy

func (in *PeerServiceMapping) DeepCopy() *PeerServiceMapping

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

func (*PeerServiceMapping) DeepCopyInto

func (in *PeerServiceMapping) DeepCopyInto(out *PeerServiceMapping)

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

type PodPeerDiscoveryStatus

type PodPeerDiscoveryStatus struct {
	// PeerDiscoveryStatus provides details about the connection to the remote mesh.
	// +required
	PeerDiscoveryStatus `json:",inline"`
	// Pod is the pod name to which these details apply.  This maps to a
	// a pilot/istiod pod.
	// +required
	Pod string `json:"pod"`
}

PodPeerDiscoveryStatus provides discovery details related to a specific pilot/istiod pod.

func (*PodPeerDiscoveryStatus) DeepCopy

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

func (*PodPeerDiscoveryStatus) DeepCopyInto

func (in *PodPeerDiscoveryStatus) DeepCopyInto(out *PodPeerDiscoveryStatus)

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

type ServiceImportExportLabelSelector

type ServiceImportExportLabelSelector struct {
	// Namespace specifies to which namespace the selector applies.  An empty
	// value applies to all namespaces in the mesh.
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// Selector used to select Service resources in the namespace/mesh.  An
	// empty selector selects all services.
	// +required
	Selector metav1.LabelSelector `json:"selector,omitempty"`

	// Aliases is a map of aliases to apply to exported services.  If a name is
	// not found in the map, the original service name is exported.  A '*' will
	// match any name. The Aliases list will be processed in order, with the
	// first match found being applied to the exported service.
	// Examples:
	// */foo->*/bar will match foo service in any namesapce, exporting it as bar from its original namespace.
	// */foo->bar/bar will match foo service in any namespace, exporting it as bar/bar.
	// foo/*->bar/* will match any service in foo namespace, exporting it from the bar namespace with its original name
	// */*->bar/* will match any service and export it from the bar namespace with its original name.
	// */*->*/* is the same as not specifying anything
	// +optional
	Aliases []ServiceNameMapping `json:"aliases,omitempty"`
}

func (*ServiceImportExportLabelSelector) DeepCopy

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

func (*ServiceImportExportLabelSelector) DeepCopyInto

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

type ServiceImportExportSelectorType

type ServiceImportExportSelectorType string
const (
	LabelSelectorType ServiceImportExportSelectorType = "LabelSelector"
	NameSelectorType  ServiceImportExportSelectorType = "NameSelector"
)

type ServiceKey

type ServiceKey struct {
	// Name represents the simple name of the service, e.g. the metadata.name
	// field of a kubernetes Service.
	// +required
	Name string `json:"name"`
	// Namespace represents the namespace within which the service resides.
	// +required
	Namespace string `json:"namespace"`
	// Hostname represents fully qualified domain name (FQDN) used to access
	// the service.
	// +required
	Hostname string `json:"hostname"`
}

ServiceKey provides all the details about a Service

func (*ServiceKey) DeepCopy

func (in *ServiceKey) DeepCopy() *ServiceKey

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

func (*ServiceKey) DeepCopyInto

func (in *ServiceKey) DeepCopyInto(out *ServiceKey)

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

type ServiceMeshPeer

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

	Spec   ServiceMeshPeerSpec   `json:"spec,omitempty"`
	Status ServiceMeshPeerStatus `json:"status,omitempty"`
}

ServiceMeshPeer is the Schema for joining two meshes together. The resource name will be used to identify the 'cluster' to which imported services belong.

func (*ServiceMeshPeer) DeepCopy

func (in *ServiceMeshPeer) DeepCopy() *ServiceMeshPeer

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

func (*ServiceMeshPeer) DeepCopyInto

func (in *ServiceMeshPeer) DeepCopyInto(out *ServiceMeshPeer)

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

func (*ServiceMeshPeer) DeepCopyObject

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

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

type ServiceMeshPeerDiscoveryStatus

type ServiceMeshPeerDiscoveryStatus struct {
	// Active represents the pilot/istiod pods actively watching the other mesh
	// for discovery.
	// +optional
	// +nullable
	// +listType=map
	// +listMapKey=pod
	// +patchMergeKey=pod
	// +patchStrategy=merge,retainKeys
	Active []PodPeerDiscoveryStatus `json:"active,omitempty"`
	// Inactive represents the pilot/istiod pods not actively watching the other
	// mesh for discovery.
	// +optional
	// +nullable
	// +listType=map
	// +listMapKey=pod
	// +patchMergeKey=pod
	// +patchStrategy=merge,retainKeys
	Inactive []PodPeerDiscoveryStatus `json:"inactive,omitempty"`
}

ServiceMeshPeerDiscoveryStatus provides details about the discovery status of each pilot/istiod instance in the mesh. This is separated into lists of active and inactive pods. Active pods will all have their watch.connected value set to true.

func (*ServiceMeshPeerDiscoveryStatus) DeepCopy

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

func (*ServiceMeshPeerDiscoveryStatus) DeepCopyInto

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

type ServiceMeshPeerGateways

type ServiceMeshPeerGateways struct {
	// Gateway through which inbound federated service traffic will travel.
	// +optional
	Ingress corev1.LocalObjectReference `json:"ingress,omitempty"`

	// Gateway through which outbound federated service traffic will travel.
	Egress corev1.LocalObjectReference `json:"egress,omitempty"`
}

func (*ServiceMeshPeerGateways) DeepCopy

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

func (*ServiceMeshPeerGateways) DeepCopyInto

func (in *ServiceMeshPeerGateways) DeepCopyInto(out *ServiceMeshPeerGateways)

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

type ServiceMeshPeerList

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

ServiceMeshPeerList contains a list of ServiceMeshPeer

func (*ServiceMeshPeerList) DeepCopy

func (in *ServiceMeshPeerList) DeepCopy() *ServiceMeshPeerList

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

func (*ServiceMeshPeerList) DeepCopyInto

func (in *ServiceMeshPeerList) DeepCopyInto(out *ServiceMeshPeerList)

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

func (*ServiceMeshPeerList) DeepCopyObject

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

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

type ServiceMeshPeerRemote

type ServiceMeshPeerRemote struct {
	// Addresses are the addresses to which discovery and service requests
	// should be sent (i.e. the addresses of ingress gateways on the remote
	// mesh).  These may be specified as resolveable DNS names or IP addresses.
	Addresses []string `json:"addresses,omitempty"`
	// DiscoveryPort is the port on which the addresses are handling discovery
	// requests.  Defaults to 8188, if unspecified.
	DiscoveryPort int32 `json:"discoveryPort,omitempty"`
	// ServicePort is the port on which the addresses are handling service
	// requests.  Defaults to 15443, if unspecified.
	ServicePort int32 `json:"servicePort,omitempty"`
}

func (*ServiceMeshPeerRemote) DeepCopy

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

func (*ServiceMeshPeerRemote) DeepCopyInto

func (in *ServiceMeshPeerRemote) DeepCopyInto(out *ServiceMeshPeerRemote)

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

type ServiceMeshPeerSecurity

type ServiceMeshPeerSecurity struct {
	// ClientID of the remote mesh.  This is used to authenticate incoming
	// requrests from the remote mesh's discovery client.
	// +required
	ClientID string `json:"clientID,omitempty"`

	// TrustDomain of remote mesh.
	// +required
	TrustDomain string `json:"trustDomain,omitempty"`

	// Name of ConfigMap containing certificate chain to be used to
	// validate the remote.  This is also used to validate certificates used by
	// the remote services (both client and server certificates).  The name of
	// the entry should be root-cert.pem.  If unspecified, it will look for a
	// ConfigMap named <meshfederation-name>-ca-root-cert, e.g. if this resource is
	// named mesh1, it will look for a ConfigMap named mesh1-ca-root-cert.
	// +optional
	CertificateChain corev1.TypedLocalObjectReference `json:"certificateChain,omitempty"`

	// AllowDirectInbound determines whether or not external service
	// invocations will be terminated at the ingress gateway.
	// XXX: should this also be configurable per exported service?
	// +optional
	AllowDirectInbound bool `json:"-"`

	// AllowDirectOutbound determines whether or not external service
	// invocations will be proxied through and terminated at the egress gateway
	// XXX: should this also be configurable per imported service?
	// +optional
	AllowDirectOutbound bool `json:"-"`
}

func (*ServiceMeshPeerSecurity) DeepCopy

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

func (*ServiceMeshPeerSecurity) DeepCopyInto

func (in *ServiceMeshPeerSecurity) DeepCopyInto(out *ServiceMeshPeerSecurity)

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

type ServiceMeshPeerSpec

type ServiceMeshPeerSpec struct {
	// Remote configures details related to the remote mesh with which this mesh
	// is federating.
	// +required
	Remote ServiceMeshPeerRemote `json:"remote,omitempty"`

	// Gateways configures the gateways used to facilitate ingress and egress
	// with the other mesh.
	Gateways ServiceMeshPeerGateways `json:"gateways,omitempty"`

	// Security configures details for securing communication with the other
	// mesh.
	Security ServiceMeshPeerSecurity `json:"security,omitempty"`
}

ServiceMeshPeerSpec configures details required to support federation with another service mesh.

func (*ServiceMeshPeerSpec) DeepCopy

func (in *ServiceMeshPeerSpec) DeepCopy() *ServiceMeshPeerSpec

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

func (*ServiceMeshPeerSpec) DeepCopyInto

func (in *ServiceMeshPeerSpec) DeepCopyInto(out *ServiceMeshPeerSpec)

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

type ServiceMeshPeerStatus

type ServiceMeshPeerStatus struct {
	// DiscoveryStatus represents the discovery status of each pilot/istiod pod
	// in the mesh.
	// +optional
	DiscoveryStatus ServiceMeshPeerDiscoveryStatus `json:"discoveryStatus,omitempty"`
}

ServiceMeshPeerStatus provides information related to the other mesh.

func (*ServiceMeshPeerStatus) DeepCopy

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

func (*ServiceMeshPeerStatus) DeepCopyInto

func (in *ServiceMeshPeerStatus) DeepCopyInto(out *ServiceMeshPeerStatus)

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

type ServiceName

type ServiceName struct {
	Namespace string `json:"namespace,omitempty"`
	Name      string `json:"name,omitempty"`
}

func (*ServiceName) DeepCopy

func (in *ServiceName) DeepCopy() *ServiceName

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

func (*ServiceName) DeepCopyInto

func (in *ServiceName) DeepCopyInto(out *ServiceName)

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

func (ServiceName) String

func (s ServiceName) String() string

type ServiceNameMapping

type ServiceNameMapping struct {
	ServiceName `json:",inline"`
	Alias       *ServiceName `json:"alias,omitempty"`
}

func (*ServiceNameMapping) DeepCopy

func (in *ServiceNameMapping) DeepCopy() *ServiceNameMapping

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

func (*ServiceNameMapping) DeepCopyInto

func (in *ServiceNameMapping) DeepCopyInto(out *ServiceNameMapping)

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