Documentation
¶
Index ¶
- func ConfigClient() (*rest.Config, error)
- func FilterByHost(host, serviceName, namespace string) bool
- func FilterByRoute(spec map[string]interface{}, protocols []string, service string, ...) bool
- func FilterByRouteAndSubset(spec map[string]interface{}, protocols []string, service string, ...) bool
- func FilterPodsForController(controllerName string, controllerType string, allPods []v1.Pod) []v1.Pod
- func FilterPodsForEndpoints(endpoints *v1.Endpoints, unfiltered []v1.Pod) []v1.Pod
- func FilterPodsForSelector(selector labels.Selector, allPods []v1.Pod) []v1.Pod
- func FilterPodsForService(s *v1.Service, allPods []v1.Pod) []v1.Pod
- func FilterServicesForSelector(selector labels.Selector, allServices []v1.Service) []v1.Service
- func GatewayNames(gateways []IstioObject) map[string]struct{}
- func GetDestinationRulesSubsets(destinationRules []IstioObject, serviceName, version string) []string
- func NewNotFound(name, group, resource string) error
- func ServiceEntryHostnames(serviceEntries []IstioObject) map[string]struct{}
- func ValidateVirtualServiceGateways(spec map[string]interface{}, gatewayNames map[string]struct{}) (bool, int)
- type DestinationRule
- func (in *DestinationRule) DeepCopy() *DestinationRule
- func (in *DestinationRule) DeepCopyInto(out *DestinationRule)
- func (in *DestinationRule) DeepCopyIstioObject() IstioObject
- func (in *DestinationRule) DeepCopyObject() runtime.Object
- func (in *DestinationRule) GetObjectMeta() meta_v1.ObjectMeta
- func (in *DestinationRule) GetSpec() map[string]interface{}
- func (in *DestinationRule) SetObjectMeta(metadata meta_v1.ObjectMeta)
- func (in *DestinationRule) SetSpec(spec map[string]interface{})
- type DestinationRuleList
- type Gateway
- func (in *Gateway) DeepCopy() *Gateway
- func (in *Gateway) DeepCopyInto(out *Gateway)
- func (in *Gateway) DeepCopyIstioObject() IstioObject
- func (in *Gateway) DeepCopyObject() runtime.Object
- func (in *Gateway) GetObjectMeta() meta_v1.ObjectMeta
- func (in *Gateway) GetSpec() map[string]interface{}
- func (in *Gateway) SetObjectMeta(metadata meta_v1.ObjectMeta)
- func (in *Gateway) SetSpec(spec map[string]interface{})
- type GatewayList
- type IstioClient
- func (in *IstioClient) DeleteIstioObject(api, namespace, resourceType, name string) error
- func (in *IstioClient) GetCronJobs(namespace string) ([]batch_v1beta1.CronJob, error)
- func (in *IstioClient) GetDeployment(namespace, deploymentName string) (*v1beta1.Deployment, error)
- func (in *IstioClient) GetDeploymentConfig(namespace, deploymentconfigName string) (*osappsv1.DeploymentConfig, error)
- func (in *IstioClient) GetDeploymentConfigs(namespace string) ([]osappsv1.DeploymentConfig, error)
- func (in *IstioClient) GetDeployments(namespace string) ([]v1beta1.Deployment, error)
- func (in *IstioClient) GetDestinationRule(namespace string, destinationrule string) (IstioObject, error)
- func (in *IstioClient) GetDestinationRules(namespace string, serviceName string) ([]IstioObject, error)
- func (in *IstioClient) GetEndpoints(namespace, serviceName string) (*v1.Endpoints, error)
- func (in *IstioClient) GetGateway(namespace string, gateway string) (IstioObject, error)
- func (in *IstioClient) GetGateways(namespace string) ([]IstioObject, error)
- func (client *IstioClient) GetIstioConfigApi() *rest.RESTClient
- func (in *IstioClient) GetIstioDetails(namespace string, serviceName string) (*IstioDetails, error)
- func (client *IstioClient) GetIstioNetworkingApi() *rest.RESTClient
- func (in *IstioClient) GetIstioRuleDetails(namespace string, istiorule string) (*IstioRuleDetails, error)
- func (in *IstioClient) GetIstioRules(namespace string) (*IstioRules, error)
- func (in *IstioClient) GetJobs(namespace string) ([]batch_v1.Job, error)
- func (client *IstioClient) GetK8sApi() *kube.Clientset
- func (in *IstioClient) GetNamespace(namespace string) (*v1.Namespace, error)
- func (in *IstioClient) GetNamespaces() ([]v1.Namespace, error)
- func (in *IstioClient) GetPods(namespace, labelSelector string) ([]v1.Pod, error)
- func (in *IstioClient) GetProject(name string) (*osv1.Project, error)
- func (in *IstioClient) GetProjects() ([]osv1.Project, error)
- func (in *IstioClient) GetQuotaSpec(namespace string, quotaSpecName string) (IstioObject, error)
- func (in *IstioClient) GetQuotaSpecBinding(namespace string, quotaSpecBindingName string) (IstioObject, error)
- func (in *IstioClient) GetQuotaSpecBindings(namespace string) ([]IstioObject, error)
- func (in *IstioClient) GetQuotaSpecs(namespace string) ([]IstioObject, error)
- func (in *IstioClient) GetReplicaSets(namespace string) ([]v1beta2.ReplicaSet, error)
- func (in *IstioClient) GetReplicationControllers(namespace string) ([]v1.ReplicationController, error)
- func (in *IstioClient) GetSelfSubjectAccessReview(namespace, api, resourceType string, verbs []string) ([]*auth_v1.SelfSubjectAccessReview, error)
- func (in *IstioClient) GetService(namespace, serviceName string) (*v1.Service, error)
- func (in *IstioClient) GetServiceEntries(namespace string) ([]IstioObject, error)
- func (in *IstioClient) GetServiceEntry(namespace string, serviceEntryName string) (IstioObject, error)
- func (in *IstioClient) GetServices(namespace string, selectorLabels map[string]string) ([]v1.Service, error)
- func (in *IstioClient) GetStatefulSet(namespace string, statefulsetName string) (*v1beta2.StatefulSet, error)
- func (in *IstioClient) GetStatefulSets(namespace string) ([]v1beta2.StatefulSet, error)
- func (in *IstioClient) GetVirtualService(namespace string, virtualservice string) (IstioObject, error)
- func (in *IstioClient) GetVirtualServices(namespace string, serviceName string) ([]IstioObject, error)
- func (in *IstioClient) IsOpenShift() bool
- func (in *IstioClient) Stop()
- type IstioClientInterface
- type IstioDetails
- type IstioObject
- type IstioObjectList
- type IstioRuleAction
- type IstioRuleDetails
- type IstioRules
- type MockIstioObject
- func (in *MockIstioObject) DeepCopy() *MockIstioObject
- func (in *MockIstioObject) DeepCopyInto(out *MockIstioObject)
- func (in *MockIstioObject) DeepCopyIstioObject() IstioObject
- func (in *MockIstioObject) DeepCopyObject() runtime.Object
- func (in *MockIstioObject) GetObjectMeta() meta_v1.ObjectMeta
- func (in *MockIstioObject) GetSpec() map[string]interface{}
- func (in *MockIstioObject) SetObjectMeta(metadata meta_v1.ObjectMeta)
- func (in *MockIstioObject) SetSpec(spec map[string]interface{})
- type MockIstioObjectList
- type OSRouteClient
- type QuotaSpec
- func (in *QuotaSpec) DeepCopy() *QuotaSpec
- func (in *QuotaSpec) DeepCopyInto(out *QuotaSpec)
- func (in *QuotaSpec) DeepCopyIstioObject() IstioObject
- func (in *QuotaSpec) DeepCopyObject() runtime.Object
- func (in *QuotaSpec) GetObjectMeta() meta_v1.ObjectMeta
- func (in *QuotaSpec) GetSpec() map[string]interface{}
- func (in *QuotaSpec) SetObjectMeta(metadata meta_v1.ObjectMeta)
- func (in *QuotaSpec) SetSpec(spec map[string]interface{})
- type QuotaSpecBinding
- func (in *QuotaSpecBinding) DeepCopy() *QuotaSpecBinding
- func (in *QuotaSpecBinding) DeepCopyInto(out *QuotaSpecBinding)
- func (in *QuotaSpecBinding) DeepCopyIstioObject() IstioObject
- func (in *QuotaSpecBinding) DeepCopyObject() runtime.Object
- func (in *QuotaSpecBinding) GetObjectMeta() meta_v1.ObjectMeta
- func (in *QuotaSpecBinding) GetSpec() map[string]interface{}
- func (in *QuotaSpecBinding) SetObjectMeta(metadata meta_v1.ObjectMeta)
- func (in *QuotaSpecBinding) SetSpec(spec map[string]interface{})
- type QuotaSpecBindingList
- type QuotaSpecList
- type ServiceDetails
- type ServiceEntry
- func (in *ServiceEntry) DeepCopy() *ServiceEntry
- func (in *ServiceEntry) DeepCopyInto(out *ServiceEntry)
- func (in *ServiceEntry) DeepCopyIstioObject() IstioObject
- func (in *ServiceEntry) DeepCopyObject() runtime.Object
- func (in *ServiceEntry) GetObjectMeta() meta_v1.ObjectMeta
- func (in *ServiceEntry) GetSpec() map[string]interface{}
- func (in *ServiceEntry) SetObjectMeta(metadata meta_v1.ObjectMeta)
- func (in *ServiceEntry) SetSpec(spec map[string]interface{})
- type ServiceEntryList
- type ServiceList
- type VirtualService
- func (in *VirtualService) DeepCopy() *VirtualService
- func (in *VirtualService) DeepCopyInto(out *VirtualService)
- func (in *VirtualService) DeepCopyIstioObject() IstioObject
- func (in *VirtualService) DeepCopyObject() runtime.Object
- func (in *VirtualService) GetObjectMeta() meta_v1.ObjectMeta
- func (in *VirtualService) GetSpec() map[string]interface{}
- func (in *VirtualService) SetObjectMeta(metadata meta_v1.ObjectMeta)
- func (in *VirtualService) SetSpec(spec map[string]interface{})
- type VirtualServiceList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConfigClient ¶
ConfigClient return a client with the correct configuration Returns configuration if Kiali is in Cluster when InCluster is true Returns configuration if Kiali is not int Cluster when InCluster is false It returns an error on any problem
func FilterByHost ¶
func FilterByRoute ¶ added in v0.6.0
func FilterByRouteAndSubset ¶ added in v0.6.0
func FilterPodsForController ¶ added in v0.9.0
func FilterPodsForEndpoints ¶ added in v0.8.0
FilterPodsForEndpoints performs a second pass was selector may return too many data This case happens when a "nil" selector (such as one of default/kubernetes service) is used
func FilterPodsForSelector ¶ added in v0.9.0
func FilterPodsForService ¶
FilterPodsForService returns a subpart of pod list filtered according service selector
func FilterServicesForSelector ¶ added in v0.9.0
func GatewayNames ¶ added in v0.7.0
func GatewayNames(gateways []IstioObject) map[string]struct{}
GatewayNames extracts the gateway names for easier matching
func GetDestinationRulesSubsets ¶
func GetDestinationRulesSubsets(destinationRules []IstioObject, serviceName, version string) []string
GetDestinationRulesSubsets returns an array of subset names where a specific version is defined for a given service
func NewNotFound ¶ added in v0.7.0
NewNotFound is a helper method to create a NotFound error similar as used by the kubernetes client. This method helps upper layers to send a explicit NotFound error without querying the backend.
func ServiceEntryHostnames ¶ added in v0.7.0
func ServiceEntryHostnames(serviceEntries []IstioObject) map[string]struct{}
ServiceEntryHostnames returns a list of hostnames defined in the ServiceEntries Specs. Key in the resulting map is the protocol (in lowercase) + hostname exported for test
func ValidateVirtualServiceGateways ¶ added in v0.7.0
func ValidateVirtualServiceGateways(spec map[string]interface{}, gatewayNames map[string]struct{}) (bool, int)
ValidateVirtualServiceGateways checks all VirtualService gateways (except mesh, which is reserved word) and checks that they're found from the given list of gatewayNames. Also return index of missing gatways to show clearer error path in editor
Types ¶
type DestinationRule ¶
type DestinationRule struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec map[string]interface{} `json:"spec"` }
DestinationRule is the generic Kubernetes API object wrapper DestinationRule starts with uppercase as it maps a "kind":"DestinationRule" Istio response.
func (*DestinationRule) DeepCopy ¶
func (in *DestinationRule) DeepCopy() *DestinationRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationRule.
func (*DestinationRule) DeepCopyInto ¶
func (in *DestinationRule) DeepCopyInto(out *DestinationRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DestinationRule) DeepCopyIstioObject ¶
func (in *DestinationRule) DeepCopyIstioObject() IstioObject
DeepCopyIstioObject is an autogenerated deepcopy function, copying the receiver, creating a new IstioObject.
func (*DestinationRule) DeepCopyObject ¶
func (in *DestinationRule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DestinationRule) GetObjectMeta ¶
func (in *DestinationRule) GetObjectMeta() meta_v1.ObjectMeta
GetObjectMeta from a wrapper
func (*DestinationRule) GetSpec ¶
func (in *DestinationRule) GetSpec() map[string]interface{}
GetSpec from a wrapper
func (*DestinationRule) SetObjectMeta ¶
func (in *DestinationRule) SetObjectMeta(metadata meta_v1.ObjectMeta)
SetObjectMeta for a wrapper
func (*DestinationRule) SetSpec ¶
func (in *DestinationRule) SetSpec(spec map[string]interface{})
SetSpec for a wrapper
type DestinationRuleList ¶
type DestinationRuleList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []DestinationRule `json:"items"` }
DestinationRuleList is the generic Kubernetes API list wrapper DestinationRuleList starts with uppercase as it maps a "kind":"DestinationRuleList" Istio response.
func (*DestinationRuleList) DeepCopy ¶
func (in *DestinationRuleList) DeepCopy() *DestinationRuleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationRuleList.
func (*DestinationRuleList) DeepCopyInto ¶
func (in *DestinationRuleList) DeepCopyInto(out *DestinationRuleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DestinationRuleList) DeepCopyObject ¶
func (in *DestinationRuleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DestinationRuleList) GetItems ¶
func (in *DestinationRuleList) GetItems() []IstioObject
GetItems from a wrapper
type Gateway ¶
type Gateway struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec map[string]interface{} `json:"spec"` }
Gateway is the generic Kubernetes API object wrapper Gateway starts with uppercase as it maps a "kind":"Gateway" Istio response.
func (*Gateway) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualService.
func (*Gateway) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Gateway) DeepCopyIstioObject ¶
func (in *Gateway) DeepCopyIstioObject() IstioObject
DeepCopyIstioObject is an autogenerated deepcopy function, copying the receiver, creating a new IstioObject.
func (*Gateway) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Gateway) GetObjectMeta ¶
func (in *Gateway) GetObjectMeta() meta_v1.ObjectMeta
GetObjectMeta from a wrapper
func (*Gateway) SetObjectMeta ¶
func (in *Gateway) SetObjectMeta(metadata meta_v1.ObjectMeta)
SetObjectMeta for a wrapper
type GatewayList ¶
type GatewayList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []Gateway `json:"items"` }
GatewayList is the generic Kubernetes API list wrapper GatewayList starts with uppercase as it maps a "kind":"GatewayList" Istio response.
func (*GatewayList) DeepCopy ¶
func (in *GatewayList) DeepCopy() *GatewayList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceList.
func (*GatewayList) DeepCopyInto ¶
func (in *GatewayList) DeepCopyInto(out *GatewayList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GatewayList) DeepCopyObject ¶
func (in *GatewayList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GatewayList) GetItems ¶
func (in *GatewayList) GetItems() []IstioObject
GetItems from a wrapper
type IstioClient ¶
type IstioClient struct { IstioClientInterface // contains filtered or unexported fields }
IstioClient is the client struct for Kubernetes and Istio APIs It hides the way it queries each API
func NewClient ¶
func NewClient() (*IstioClient, error)
NewClient creates a new client to the Kubernetes and Istio APIs.
func NewClientFromConfig ¶ added in v0.9.0
func NewClientFromConfig(config *rest.Config) (*IstioClient, error)
NewClientFromConfig creates a new client to the Kubernetes and Istio APIs. It takes the assumption that Istio is deployed into the cluster. It hides the access to Kubernetes/Openshift credentials. It hides the low level use of the API of Kubernetes and Istio, it should be considered as an implementation detail. It returns an error on any problem.
func (*IstioClient) DeleteIstioObject ¶ added in v0.9.1
func (in *IstioClient) DeleteIstioObject(api, namespace, resourceType, name string) error
DeleteIstioObject deletes an Istio object from either config api or networking api
func (*IstioClient) GetCronJobs ¶ added in v0.9.0
func (in *IstioClient) GetCronJobs(namespace string) ([]batch_v1beta1.CronJob, error)
func (*IstioClient) GetDeployment ¶ added in v0.6.0
func (in *IstioClient) GetDeployment(namespace, deploymentName string) (*v1beta1.Deployment, error)
GetDeployment returns the definition of a specific deployment. It returns an error on any problem.
func (*IstioClient) GetDeploymentConfig ¶ added in v0.9.0
func (in *IstioClient) GetDeploymentConfig(namespace, deploymentconfigName string) (*osappsv1.DeploymentConfig, error)
GetDeployment returns the definition of a specific deployment. It returns an error on any problem.
func (*IstioClient) GetDeploymentConfigs ¶ added in v0.9.0
func (in *IstioClient) GetDeploymentConfigs(namespace string) ([]osappsv1.DeploymentConfig, error)
GetDeployments returns an array of deployments for a given namespace and a set of labels. An empty labelSelector will fetch all Deployments for a namespace. It returns an error on any problem.
func (*IstioClient) GetDeployments ¶
func (in *IstioClient) GetDeployments(namespace string) ([]v1beta1.Deployment, error)
GetDeployments returns an array of deployments for a given namespace and a set of labels. It returns an error on any problem.
func (*IstioClient) GetDestinationRule ¶
func (in *IstioClient) GetDestinationRule(namespace string, destinationrule string) (IstioObject, error)
func (*IstioClient) GetDestinationRules ¶
func (in *IstioClient) GetDestinationRules(namespace string, serviceName string) ([]IstioObject, error)
GetDestinationRules returns all DestinationRules for a given namespace. If serviceName param is provided it will filter all DestinationRules having a host defined on a particular service. It returns an error on any problem.
func (*IstioClient) GetEndpoints ¶ added in v0.8.0
func (in *IstioClient) GetEndpoints(namespace, serviceName string) (*v1.Endpoints, error)
GetEndpoints return the list of endpoint of a specific service. It returns an error on any problem.
func (*IstioClient) GetGateway ¶
func (in *IstioClient) GetGateway(namespace string, gateway string) (IstioObject, error)
func (*IstioClient) GetGateways ¶
func (in *IstioClient) GetGateways(namespace string) ([]IstioObject, error)
GetGateways return all Gateways for a given namespace. It returns an error on any problem.
func (*IstioClient) GetIstioConfigApi ¶ added in v0.9.0
func (client *IstioClient) GetIstioConfigApi() *rest.RESTClient
GetIstioConfigApi returns the istio config rest client
func (*IstioClient) GetIstioDetails ¶
func (in *IstioClient) GetIstioDetails(namespace string, serviceName string) (*IstioDetails, error)
GetIstioDetails returns Istio details for a given namespace, on this version it collects the VirtualServices and DestinationRules defined for a namespace. If serviceName param is provided, it filters all the Istio objects pointing to a particular service. It returns an error on any problem.
func (*IstioClient) GetIstioNetworkingApi ¶ added in v0.9.0
func (client *IstioClient) GetIstioNetworkingApi() *rest.RESTClient
GetIstioNetworkingApi returns the istio config rest client
func (*IstioClient) GetIstioRuleDetails ¶
func (in *IstioClient) GetIstioRuleDetails(namespace string, istiorule string) (*IstioRuleDetails, error)
GetIstioRuleDetails returns the handlers and instances details for a given mixer rule. On this version, the following handlers and instances are supported:
- listchecker
- listentry
- denier
- checknothing
func (*IstioClient) GetIstioRules ¶
func (in *IstioClient) GetIstioRules(namespace string) (*IstioRules, error)
GetIstioRules returns a list of mixer rules for a given namespace.
func (*IstioClient) GetJobs ¶ added in v0.9.0
func (in *IstioClient) GetJobs(namespace string) ([]batch_v1.Job, error)
func (*IstioClient) GetK8sApi ¶ added in v0.9.0
func (client *IstioClient) GetK8sApi() *kube.Clientset
GetK8sApi returns the clientset referencing all K8s rest clients
func (*IstioClient) GetNamespace ¶ added in v0.9.1
func (in *IstioClient) GetNamespace(namespace string) (*v1.Namespace, error)
GetNamespace fetches and returns the specified namespace definition from the cluster
func (*IstioClient) GetNamespaces ¶
func (in *IstioClient) GetNamespaces() ([]v1.Namespace, error)
GetNamespaces returns a list of all namespaces of the cluster. It returns a list of all namespaces of the cluster. It returns an error on any problem.
func (*IstioClient) GetPods ¶
func (in *IstioClient) GetPods(namespace, labelSelector string) ([]v1.Pod, error)
GetPods returns the pods definitions for a given set of labels. An empty labelSelector will fetch all pods found per a namespace. It returns an error on any problem.
func (*IstioClient) GetProject ¶ added in v0.9.1
func (in *IstioClient) GetProject(name string) (*osv1.Project, error)
GetProject fetches and returns the definition of the project with the specified name by querying the cluster API. GetProject will fail if the underlying cluster is not Openshift.
func (*IstioClient) GetProjects ¶ added in v0.8.0
func (in *IstioClient) GetProjects() ([]osv1.Project, error)
func (*IstioClient) GetQuotaSpec ¶ added in v0.5.0
func (in *IstioClient) GetQuotaSpec(namespace string, quotaSpecName string) (IstioObject, error)
func (*IstioClient) GetQuotaSpecBinding ¶ added in v0.5.0
func (in *IstioClient) GetQuotaSpecBinding(namespace string, quotaSpecBindingName string) (IstioObject, error)
func (*IstioClient) GetQuotaSpecBindings ¶ added in v0.5.0
func (in *IstioClient) GetQuotaSpecBindings(namespace string) ([]IstioObject, error)
GetQuotaSpecBindings returns all QuotaSpecBindings objects for a given namespace. It returns an error on any problem.
func (*IstioClient) GetQuotaSpecs ¶ added in v0.5.0
func (in *IstioClient) GetQuotaSpecs(namespace string) ([]IstioObject, error)
GetQuotaSpecs returns all QuotaSpecs objects for a given namespace. It returns an error on any problem.
func (*IstioClient) GetReplicaSets ¶ added in v0.9.0
func (in *IstioClient) GetReplicaSets(namespace string) ([]v1beta2.ReplicaSet, error)
func (*IstioClient) GetReplicationControllers ¶ added in v0.9.0
func (in *IstioClient) GetReplicationControllers(namespace string) ([]v1.ReplicationController, error)
func (*IstioClient) GetSelfSubjectAccessReview ¶ added in v0.9.1
func (in *IstioClient) GetSelfSubjectAccessReview(namespace, api, resourceType string, verbs []string) ([]*auth_v1.SelfSubjectAccessReview, error)
GetSelfSubjectAccessReview provides information on Kiali permissions
func (*IstioClient) GetService ¶
func (in *IstioClient) GetService(namespace, serviceName string) (*v1.Service, error)
GetService returns the definition of a specific service. It returns an error on any problem.
func (*IstioClient) GetServiceEntries ¶ added in v0.5.0
func (in *IstioClient) GetServiceEntries(namespace string) ([]IstioObject, error)
GetServiceEntries return all ServiceEntry objects for a given namespace. It returns an error on any problem.
func (*IstioClient) GetServiceEntry ¶ added in v0.5.0
func (in *IstioClient) GetServiceEntry(namespace string, serviceEntryName string) (IstioObject, error)
func (*IstioClient) GetServices ¶
func (in *IstioClient) GetServices(namespace string, selectorLabels map[string]string) ([]v1.Service, error)
GetServices returns a list of services for a given namespace. If selectorLabels is defined the list of services is filtered for those that matches Services selector labels. It returns an error on any problem.
func (*IstioClient) GetStatefulSet ¶ added in v0.9.0
func (in *IstioClient) GetStatefulSet(namespace string, statefulsetName string) (*v1beta2.StatefulSet, error)
func (*IstioClient) GetStatefulSets ¶ added in v0.9.0
func (in *IstioClient) GetStatefulSets(namespace string) ([]v1beta2.StatefulSet, error)
func (*IstioClient) GetVirtualService ¶
func (in *IstioClient) GetVirtualService(namespace string, virtualservice string) (IstioObject, error)
func (*IstioClient) GetVirtualServices ¶
func (in *IstioClient) GetVirtualServices(namespace string, serviceName string) ([]IstioObject, error)
GetVirtualServices return all VirtualServices for a given namespace. If serviceName param is provided it will filter all VirtualServices having a host defined on a particular service. It returns an error on any problem.
func (*IstioClient) IsOpenShift ¶ added in v0.8.0
func (in *IstioClient) IsOpenShift() bool
func (*IstioClient) Stop ¶ added in v0.9.1
func (in *IstioClient) Stop()
type IstioClientInterface ¶
type IstioClientInterface interface { DeleteIstioObject(api, namespace, resourceType, name string) error GetCronJobs(namespace string) ([]batch_v1beta1.CronJob, error) GetDeployment(namespace string, deploymentName string) (*v1beta1.Deployment, error) GetDeployments(namespace string) ([]v1beta1.Deployment, error) GetDeploymentConfig(namespace string, deploymentconfigName string) (*osappsv1.DeploymentConfig, error) GetDeploymentConfigs(namespace string) ([]osappsv1.DeploymentConfig, error) GetDestinationRule(namespace string, destinationrule string) (IstioObject, error) GetDestinationRules(namespace string, serviceName string) ([]IstioObject, error) GetEndpoints(namespace string, serviceName string) (*v1.Endpoints, error) GetGateway(namespace string, gateway string) (IstioObject, error) GetGateways(namespace string) ([]IstioObject, error) GetIstioDetails(namespace string, serviceName string) (*IstioDetails, error) GetIstioRules(namespace string) (*IstioRules, error) GetIstioRuleDetails(namespace string, istiorule string) (*IstioRuleDetails, error) GetJobs(namespace string) ([]batch_v1.Job, error) GetNamespace(namespace string) (*v1.Namespace, error) GetNamespaces() ([]v1.Namespace, error) GetPods(namespace, labelSelector string) ([]v1.Pod, error) GetProject(project string) (*osv1.Project, error) GetProjects() ([]osv1.Project, error) GetQuotaSpec(namespace string, quotaSpecName string) (IstioObject, error) GetQuotaSpecs(namespace string) ([]IstioObject, error) GetQuotaSpecBinding(namespace string, quotaSpecBindingName string) (IstioObject, error) GetQuotaSpecBindings(namespace string) ([]IstioObject, error) GetReplicationControllers(namespace string) ([]v1.ReplicationController, error) GetReplicaSets(namespace string) ([]v1beta2.ReplicaSet, error) GetSelfSubjectAccessReview(namespace, api, resourceType string, verbs []string) ([]*auth_v1.SelfSubjectAccessReview, error) GetService(namespace string, serviceName string) (*v1.Service, error) GetServices(namespace string, selectorLabels map[string]string) ([]v1.Service, error) GetServiceEntries(namespace string) ([]IstioObject, error) GetServiceEntry(namespace string, serviceEntryName string) (IstioObject, error) GetStatefulSet(namespace string, statefulsetName string) (*v1beta2.StatefulSet, error) GetStatefulSets(namespace string) ([]v1beta2.StatefulSet, error) GetVirtualService(namespace string, virtualservice string) (IstioObject, error) GetVirtualServices(namespace string, serviceName string) ([]IstioObject, error) IsOpenShift() bool Stop() }
IstioClientInterface for mocks (only mocked function are necessary here)
type IstioDetails ¶
type IstioDetails struct { VirtualServices []IstioObject `json:"virtualservices"` DestinationRules []IstioObject `json:"destinationrules"` ServiceEntries []IstioObject `json:"serviceentries"` Gateways []IstioObject `json:"gateways"` }
IstioDetails is a wrapper to group all Istio objects related to a Service. Used to fetch all Istio information in a single operation instead to invoke individual APIs per each group.
type IstioObject ¶
type IstioObject interface { runtime.Object GetSpec() map[string]interface{} SetSpec(map[string]interface{}) GetObjectMeta() meta_v1.ObjectMeta SetObjectMeta(meta_v1.ObjectMeta) DeepCopyIstioObject() IstioObject }
IstioObject is a k8s wrapper interface for config objects. Taken from istio.io
type IstioObjectList ¶
type IstioObjectList interface { runtime.Object GetItems() []IstioObject }
IstioObjectList is a k8s wrapper interface for list config objects. Taken from istio.io
type IstioRuleAction ¶
type IstioRuleAction struct { Handler IstioObject `json:"handler"` Instances []IstioObject `json:"instances"` }
IstioRuleAction is a wrapper to group a handler object and a list of instances per a specific action.
type IstioRuleDetails ¶
type IstioRuleDetails struct { Rule IstioObject `json:"rule"` Actions []*IstioRuleAction `json:"actions"` }
IstioRuleDetails is a wrapper to group a mixer rule with its actions.
type IstioRules ¶
type IstioRules struct {
Rules []IstioObject `json:"rules"`
}
IstioRules is a wrapper to group all mixer rules related to a Namespace. Rules can have match expressions that may dynamically affect to several services.
type MockIstioObject ¶
type MockIstioObject struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec map[string]interface{} `json:"spec"` }
func (*MockIstioObject) DeepCopy ¶
func (in *MockIstioObject) DeepCopy() *MockIstioObject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MockIstioObject.
func (*MockIstioObject) DeepCopyInto ¶
func (in *MockIstioObject) DeepCopyInto(out *MockIstioObject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MockIstioObject) DeepCopyIstioObject ¶
func (in *MockIstioObject) DeepCopyIstioObject() IstioObject
DeepCopyIstioObject is an autogenerated deepcopy function, copying the receiver, creating a new IstioObject.
func (*MockIstioObject) DeepCopyObject ¶
func (in *MockIstioObject) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MockIstioObject) GetObjectMeta ¶
func (in *MockIstioObject) GetObjectMeta() meta_v1.ObjectMeta
GetObjectMeta from a wrapper
func (*MockIstioObject) GetSpec ¶
func (in *MockIstioObject) GetSpec() map[string]interface{}
GetSpec from a wrapper
func (*MockIstioObject) SetObjectMeta ¶
func (in *MockIstioObject) SetObjectMeta(metadata meta_v1.ObjectMeta)
SetObjectMeta for a wrapper
func (*MockIstioObject) SetSpec ¶
func (in *MockIstioObject) SetSpec(spec map[string]interface{})
SetSpec for a wrapper
type MockIstioObjectList ¶
type MockIstioObjectList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []MockIstioObject `json:"items"` }
MockIstioObjectList is the generic Kubernetes API list wrapper
func (*MockIstioObjectList) DeepCopy ¶
func (in *MockIstioObjectList) DeepCopy() *MockIstioObjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MockIstioObjectList.
func (*MockIstioObjectList) DeepCopyInto ¶
func (in *MockIstioObjectList) DeepCopyInto(out *MockIstioObjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MockIstioObjectList) DeepCopyObject ¶
func (in *MockIstioObjectList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MockIstioObjectList) GetItems ¶
func (in *MockIstioObjectList) GetItems() []IstioObject
GetItems from a wrapper
type OSRouteClient ¶
type OSRouteClient struct {
// contains filtered or unexported fields
}
OSRouteClient is the client struct for OpenShift Routes API over Kubernetes It hides the way it queries each API
func NewOSRouteClient ¶
func NewOSRouteClient() (*OSRouteClient, error)
NewOSRouteClient creates a new client able to fetch OpenShift Routes API.
type QuotaSpec ¶ added in v0.5.0
type QuotaSpec struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec map[string]interface{} `json:"spec"` }
QuotaSpec is the generic Kubernetes API object wrapper QuotaSpec starts with uppercase as it maps a "kind":"QuotaSpec" Istio response.
func (*QuotaSpec) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaSpec.
func (*QuotaSpec) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QuotaSpec) DeepCopyIstioObject ¶ added in v0.5.0
func (in *QuotaSpec) DeepCopyIstioObject() IstioObject
DeepCopyIstioObject is an autogenerated deepcopy function, copying the receiver, creating a new IstioObject.
func (*QuotaSpec) DeepCopyObject ¶ added in v0.5.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*QuotaSpec) GetObjectMeta ¶ added in v0.5.0
func (in *QuotaSpec) GetObjectMeta() meta_v1.ObjectMeta
GetObjectMeta from a wrapper
func (*QuotaSpec) SetObjectMeta ¶ added in v0.5.0
func (in *QuotaSpec) SetObjectMeta(metadata meta_v1.ObjectMeta)
SetObjectMeta for a wrapper
type QuotaSpecBinding ¶ added in v0.5.0
type QuotaSpecBinding struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec map[string]interface{} `json:"spec"` }
QuotaSpecBinding is the generic Kubernetes API object wrapper QuotaSpecBinding starts with uppercase as it maps a "kind":"QuotaSpecBinding" Istio response.
func (*QuotaSpecBinding) DeepCopy ¶ added in v0.5.0
func (in *QuotaSpecBinding) DeepCopy() *QuotaSpecBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaSpecBinding.
func (*QuotaSpecBinding) DeepCopyInto ¶ added in v0.5.0
func (in *QuotaSpecBinding) DeepCopyInto(out *QuotaSpecBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QuotaSpecBinding) DeepCopyIstioObject ¶ added in v0.5.0
func (in *QuotaSpecBinding) DeepCopyIstioObject() IstioObject
DeepCopyIstioObject is an autogenerated deepcopy function, copying the receiver, creating a new IstioObject.
func (*QuotaSpecBinding) DeepCopyObject ¶ added in v0.5.0
func (in *QuotaSpecBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*QuotaSpecBinding) GetObjectMeta ¶ added in v0.5.0
func (in *QuotaSpecBinding) GetObjectMeta() meta_v1.ObjectMeta
GetObjectMeta from a wrapper
func (*QuotaSpecBinding) GetSpec ¶ added in v0.5.0
func (in *QuotaSpecBinding) GetSpec() map[string]interface{}
GetSpec from a wrapper
func (*QuotaSpecBinding) SetObjectMeta ¶ added in v0.5.0
func (in *QuotaSpecBinding) SetObjectMeta(metadata meta_v1.ObjectMeta)
SetObjectMeta for a wrapper
func (*QuotaSpecBinding) SetSpec ¶ added in v0.5.0
func (in *QuotaSpecBinding) SetSpec(spec map[string]interface{})
SetSpec for a wrapper
type QuotaSpecBindingList ¶ added in v0.5.0
type QuotaSpecBindingList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []QuotaSpecBinding `json:"items"` }
QuotaSpecBindingList is the generic Kubernetes API list wrapper QuotaSpecBindingList starts with uppercase as it maps a "kind":"QuotaSpecBindingList" Istio response.
func (*QuotaSpecBindingList) DeepCopy ¶ added in v0.5.0
func (in *QuotaSpecBindingList) DeepCopy() *QuotaSpecBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleList.
func (*QuotaSpecBindingList) DeepCopyInto ¶ added in v0.5.0
func (in *QuotaSpecBindingList) DeepCopyInto(out *QuotaSpecBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QuotaSpecBindingList) DeepCopyObject ¶ added in v0.5.0
func (in *QuotaSpecBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*QuotaSpecBindingList) GetItems ¶ added in v0.5.0
func (in *QuotaSpecBindingList) GetItems() []IstioObject
GetItems from a wrapper
type QuotaSpecList ¶ added in v0.5.0
type QuotaSpecList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []QuotaSpec `json:"items"` }
QuotaSpecList is the generic Kubernetes API list wrapper QuotaSpecList starts with uppercase as it maps a "kind":"QuotaSpecList" Istio response.
func (*QuotaSpecList) DeepCopy ¶ added in v0.5.0
func (in *QuotaSpecList) DeepCopy() *QuotaSpecList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleList.
func (*QuotaSpecList) DeepCopyInto ¶ added in v0.5.0
func (in *QuotaSpecList) DeepCopyInto(out *QuotaSpecList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QuotaSpecList) DeepCopyObject ¶ added in v0.5.0
func (in *QuotaSpecList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*QuotaSpecList) GetItems ¶ added in v0.5.0
func (in *QuotaSpecList) GetItems() []IstioObject
GetItems from a wrapper
type ServiceDetails ¶
type ServiceDetails struct { Service *v1.Service `json:"service"` Endpoints *v1.Endpoints `json:"endpoints"` Deployments *v1beta1.DeploymentList `json:"deployments"` Autoscalers *autoscalingV1.HorizontalPodAutoscalerList `json:"autoscalers"` Pods []v1.Pod `json:"pods"` }
ServiceDetails is a wrapper to group full Service description, Endpoints and Pods. Used to fetch all details in a single operation instead to invoke individual APIs per each group.
type ServiceEntry ¶ added in v0.5.0
type ServiceEntry struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec map[string]interface{} `json:"spec"` }
ServiceEntry is the generic Kubernetes API object wrapper ServiceEntry starts with uppercase as it maps a "kind":"ServiceEntry" Istio response.
func (*ServiceEntry) DeepCopy ¶ added in v0.5.0
func (in *ServiceEntry) DeepCopy() *ServiceEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualService.
func (*ServiceEntry) DeepCopyInto ¶ added in v0.5.0
func (in *ServiceEntry) DeepCopyInto(out *ServiceEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceEntry) DeepCopyIstioObject ¶ added in v0.5.0
func (in *ServiceEntry) DeepCopyIstioObject() IstioObject
DeepCopyIstioObject is an autogenerated deepcopy function, copying the receiver, creating a new IstioObject.
func (*ServiceEntry) DeepCopyObject ¶ added in v0.5.0
func (in *ServiceEntry) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceEntry) GetObjectMeta ¶ added in v0.5.0
func (in *ServiceEntry) GetObjectMeta() meta_v1.ObjectMeta
GetObjectMeta from a wrapper
func (*ServiceEntry) GetSpec ¶ added in v0.5.0
func (in *ServiceEntry) GetSpec() map[string]interface{}
GetSpec from a wrapper
func (*ServiceEntry) SetObjectMeta ¶ added in v0.5.0
func (in *ServiceEntry) SetObjectMeta(metadata meta_v1.ObjectMeta)
SetObjectMeta for a wrapper
func (*ServiceEntry) SetSpec ¶ added in v0.5.0
func (in *ServiceEntry) SetSpec(spec map[string]interface{})
SetSpec for a wrapper
type ServiceEntryList ¶ added in v0.5.0
type ServiceEntryList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []ServiceEntry `json:"items"` }
ServiceEntryList is the generic Kubernetes API list wrapper ServiceEntryList starts with uppercase as it maps a "kind":"ServiceEntryList" Istio response.
func (*ServiceEntryList) DeepCopy ¶ added in v0.5.0
func (in *ServiceEntryList) DeepCopy() *ServiceEntryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceList.
func (*ServiceEntryList) DeepCopyInto ¶ added in v0.5.0
func (in *ServiceEntryList) DeepCopyInto(out *ServiceEntryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceEntryList) DeepCopyObject ¶ added in v0.5.0
func (in *ServiceEntryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceEntryList) GetItems ¶ added in v0.5.0
func (in *ServiceEntryList) GetItems() []IstioObject
GetItems from a wrapper
type ServiceList ¶
type ServiceList struct { Services *v1.ServiceList Pods *v1.PodList Deployments *v1beta1.DeploymentList }
ServiceList holds list of services, pods and deployments
type VirtualService ¶
type VirtualService struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec map[string]interface{} `json:"spec"` }
VirtualService is the generic Kubernetes API object wrapper VirtualService starts with uppercase as it maps a "kind":"VirtualService" Istio response.
func (*VirtualService) DeepCopy ¶
func (in *VirtualService) DeepCopy() *VirtualService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualService.
func (*VirtualService) DeepCopyInto ¶
func (in *VirtualService) DeepCopyInto(out *VirtualService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualService) DeepCopyIstioObject ¶
func (in *VirtualService) DeepCopyIstioObject() IstioObject
DeepCopyIstioObject is an autogenerated deepcopy function, copying the receiver, creating a new IstioObject.
func (*VirtualService) DeepCopyObject ¶
func (in *VirtualService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualService) GetObjectMeta ¶
func (in *VirtualService) GetObjectMeta() meta_v1.ObjectMeta
GetObjectMeta from a wrapper
func (*VirtualService) GetSpec ¶
func (in *VirtualService) GetSpec() map[string]interface{}
GetSpec from a wrapper
func (*VirtualService) SetObjectMeta ¶
func (in *VirtualService) SetObjectMeta(metadata meta_v1.ObjectMeta)
SetObjectMeta for a wrapper
func (*VirtualService) SetSpec ¶
func (in *VirtualService) SetSpec(spec map[string]interface{})
SetSpec for a wrapper
type VirtualServiceList ¶
type VirtualServiceList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []VirtualService `json:"items"` }
VirtualServiceList is the generic Kubernetes API list wrapper VirtualServiceList starts with uppercase as it maps a "kind":"VirtualServiceList" Istio response.
func (*VirtualServiceList) DeepCopy ¶
func (in *VirtualServiceList) DeepCopy() *VirtualServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceList.
func (*VirtualServiceList) DeepCopyInto ¶
func (in *VirtualServiceList) DeepCopyInto(out *VirtualServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualServiceList) DeepCopyObject ¶
func (in *VirtualServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualServiceList) GetItems ¶
func (in *VirtualServiceList) GetItems() []IstioObject
GetItems from a wrapper
Source Files
¶
- cache.go
- client.go
- filters.go
- istio_adapters_type.go
- istio_destination_rule_type.go
- istio_details_service.go
- istio_gateway_type.go
- istio_quotaspec_type.go
- istio_quotaspecbinding_type.go
- istio_rule_type.go
- istio_rules_service.go
- istio_serviceentry_type.go
- istio_templates_type.go
- istio_virtual_service_type.go
- kubernetes_service.go
- mock_istio_object_type.go
- os_route_client.go
- types.go