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
- Variables
- func Resource(resource string) schema.GroupResource
- type DiscoveryConnectionStatus
- type DiscoveryRemoteStatus
- type DiscoveryWatchStatus
- type ExportedServiceRule
- type ExportedServiceSet
- type ExportedServiceSetList
- type ExportedServiceSetSpec
- type ExportedServiceSetStatus
- type ImportedServiceLocality
- type ImportedServiceRule
- type ImportedServiceSet
- type ImportedServiceSetList
- type ImportedServiceSetSpec
- type ImportedServiceSetStatus
- type PeerDiscoveryStatus
- type PeerServiceMapping
- type PodPeerDiscoveryStatus
- type ServiceImportExportLabelSelector
- type ServiceImportExportSelectorType
- type ServiceKey
- type ServiceMeshPeer
- type ServiceMeshPeerDiscoveryStatus
- type ServiceMeshPeerGateways
- type ServiceMeshPeerList
- type ServiceMeshPeerRemote
- type ServiceMeshPeerSecurity
- type ServiceMeshPeerSpec
- type ServiceMeshPeerStatus
- type ServiceName
- type ServiceNameMapping
Constants ¶
const MatchAny = "*"
Variables ¶
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 ¶
func (in *DiscoveryConnectionStatus) DeepCopy() *DiscoveryConnectionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryConnectionStatus.
func (*DiscoveryConnectionStatus) DeepCopyInto ¶
func (in *DiscoveryConnectionStatus) DeepCopyInto(out *DiscoveryConnectionStatus)
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 ¶
func (in *DiscoveryRemoteStatus) DeepCopy() *DiscoveryRemoteStatus
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 ¶
func (in *DiscoveryWatchStatus) DeepCopy() *DiscoveryWatchStatus
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 ¶
func (in *ExportedServiceSetList) DeepCopy() *ExportedServiceSetList
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 ¶
func (in *ExportedServiceSetSpec) DeepCopy() *ExportedServiceSetSpec
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 ¶
func (in *ExportedServiceSetStatus) DeepCopy() *ExportedServiceSetStatus
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 ¶
func (in *ImportedServiceLocality) DeepCopy() *ImportedServiceLocality
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 ¶
func (in *ImportedServiceSetList) DeepCopy() *ImportedServiceSetList
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 ¶
func (in *ImportedServiceSetSpec) DeepCopy() *ImportedServiceSetSpec
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 ¶
func (in *ImportedServiceSetStatus) DeepCopy() *ImportedServiceSetStatus
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 ¶
func (in *PodPeerDiscoveryStatus) DeepCopy() *PodPeerDiscoveryStatus
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 ¶
func (in *ServiceImportExportLabelSelector) DeepCopy() *ServiceImportExportLabelSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceImportExportLabelSelector.
func (*ServiceImportExportLabelSelector) DeepCopyInto ¶
func (in *ServiceImportExportLabelSelector) DeepCopyInto(out *ServiceImportExportLabelSelector)
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 ¶
func (in *ServiceMeshPeerDiscoveryStatus) DeepCopy() *ServiceMeshPeerDiscoveryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMeshPeerDiscoveryStatus.
func (*ServiceMeshPeerDiscoveryStatus) DeepCopyInto ¶
func (in *ServiceMeshPeerDiscoveryStatus) DeepCopyInto(out *ServiceMeshPeerDiscoveryStatus)
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 ¶
func (in *ServiceMeshPeerGateways) DeepCopy() *ServiceMeshPeerGateways
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 ¶
func (in *ServiceMeshPeerRemote) DeepCopy() *ServiceMeshPeerRemote
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 ¶
func (in *ServiceMeshPeerSecurity) DeepCopy() *ServiceMeshPeerSecurity
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 ¶
func (in *ServiceMeshPeerStatus) DeepCopy() *ServiceMeshPeerStatus
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.