Documentation
¶
Overview ¶
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
- func CandidateSubsetName(idx int) string
- func GetRouter(ctx context.Context, instance *iter8v1alpha2.Experiment) router.Interface
- func GetRoutingRuleName(routerID string) string
- type DestinationRuleBuilder
- func (b *DestinationRuleBuilder) Build() *v1alpha3.DestinationRule
- func (b *DestinationRuleBuilder) InitSubsets() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) RemoveExperimentLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithExperimentRegistered(exp string) *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithInitLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithInitializingLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithProgressingLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithRouterRegistered(id string) *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithStableLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithSubset(d *appsv1.Deployment, subsetName string) *DestinationRuleBuilder
- type HTTPRouteBuilder
- func (b *HTTPRouteBuilder) Build() *networkingv1alpha3.HTTPRoute
- func (b *HTTPRouteBuilder) ClearRoute() *HTTPRouteBuilder
- func (b *HTTPRouteBuilder) WithDestination(d *networkingv1alpha3.HTTPRouteDestination) *HTTPRouteBuilder
- func (b *HTTPRouteBuilder) WithHTTPMatch(httpMatch []*iter8v1alpha2.HTTPMatchRequest) *HTTPRouteBuilder
- type HTTPRouteDestinationBuilder
- func (b *HTTPRouteDestinationBuilder) Build() *networkingv1alpha3.HTTPRouteDestination
- func (b *HTTPRouteDestinationBuilder) WithHost(host string) *HTTPRouteDestinationBuilder
- func (b *HTTPRouteDestinationBuilder) WithPort(port uint32) *HTTPRouteDestinationBuilder
- func (b *HTTPRouteDestinationBuilder) WithSubset(subset string) *HTTPRouteDestinationBuilder
- func (b *HTTPRouteDestinationBuilder) WithWeight(w int32) *HTTPRouteDestinationBuilder
- type Router
- func (r *Router) Fetch(instance *iter8v1alpha2.Experiment) error
- func (r *Router) Print() string
- func (r *Router) UpdateRouteToStable(instance *iter8v1alpha2.Experiment) (err error)
- func (r *Router) UpdateRouteWithBaseline(instance *iter8v1alpha2.Experiment, baseline runtime.Object) (err error)
- func (r *Router) UpdateRouteWithCandidates(instance *iter8v1alpha2.Experiment, candidates []runtime.Object) (err error)
- func (r *Router) UpdateRouteWithTrafficUpdate(instance *iter8v1alpha2.Experiment) (err error)
- type VirtualServiceBuilder
- func (b *VirtualServiceBuilder) Build() *v1alpha3.VirtualService
- func (b *VirtualServiceBuilder) InitGateways() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) InitHTTPRoutes() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) InitHosts() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) RemoveExperimentLabel() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithExperimentRegistered(exp string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithGateways(gws []string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithHTTPRoute(route *networkingv1alpha3.HTTPRoute) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithHosts(hosts []string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithInitLabel() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithInitializingLabel() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithMeshGateway() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithProgressingLabel() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithRouterRegistered(id string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithStableLabel() *VirtualServiceBuilder
Constants ¶
const ( // SubsetBaseline is name of baseline subset SubsetBaseline = "iter8-baseline" // SubsetCandidate is name prefix of candidate subset SubsetCandidate = "iter8-candidate" )
Variables ¶
This section is empty.
Functions ¶
func CandidateSubsetName ¶
CandidateSubsetName returns subset name of a candidate with respect to its index in service spec
func GetRouter ¶
func GetRouter(ctx context.Context, instance *iter8v1alpha2.Experiment) router.Interface
GetRouter returns an instance of istio router
func GetRoutingRuleName ¶
GetRoutingRuleName returns name of routing rule with router id as input
Types ¶
type DestinationRuleBuilder ¶
type DestinationRuleBuilder v1alpha3.DestinationRule
func NewDestinationRule ¶
func NewDestinationRule(name, host, experimentName, namespace string) *DestinationRuleBuilder
func NewDestinationRuleBuilder ¶
func NewDestinationRuleBuilder(dr *v1alpha3.DestinationRule) *DestinationRuleBuilder
func (*DestinationRuleBuilder) Build ¶
func (b *DestinationRuleBuilder) Build() *v1alpha3.DestinationRule
func (*DestinationRuleBuilder) InitSubsets ¶
func (b *DestinationRuleBuilder) InitSubsets() *DestinationRuleBuilder
func (*DestinationRuleBuilder) RemoveExperimentLabel ¶
func (b *DestinationRuleBuilder) RemoveExperimentLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithExperimentRegistered ¶
func (b *DestinationRuleBuilder) WithExperimentRegistered(exp string) *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithInitLabel ¶
func (b *DestinationRuleBuilder) WithInitLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithInitializingLabel ¶
func (b *DestinationRuleBuilder) WithInitializingLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithProgressingLabel ¶
func (b *DestinationRuleBuilder) WithProgressingLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithRouterRegistered ¶
func (b *DestinationRuleBuilder) WithRouterRegistered(id string) *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithStableLabel ¶
func (b *DestinationRuleBuilder) WithStableLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithSubset ¶
func (b *DestinationRuleBuilder) WithSubset(d *appsv1.Deployment, subsetName string) *DestinationRuleBuilder
WithSubset converts stable dr to progressing dr
type HTTPRouteBuilder ¶
type HTTPRouteBuilder networkingv1alpha3.HTTPRoute
func NewEmptyHTTPRoute ¶
func NewEmptyHTTPRoute(name string) *HTTPRouteBuilder
func NewHTTPRoute ¶
func NewHTTPRoute(route *networkingv1alpha3.HTTPRoute) *HTTPRouteBuilder
func (*HTTPRouteBuilder) Build ¶
func (b *HTTPRouteBuilder) Build() *networkingv1alpha3.HTTPRoute
func (*HTTPRouteBuilder) ClearRoute ¶
func (b *HTTPRouteBuilder) ClearRoute() *HTTPRouteBuilder
func (*HTTPRouteBuilder) WithDestination ¶
func (b *HTTPRouteBuilder) WithDestination(d *networkingv1alpha3.HTTPRouteDestination) *HTTPRouteBuilder
func (*HTTPRouteBuilder) WithHTTPMatch ¶
func (b *HTTPRouteBuilder) WithHTTPMatch(httpMatch []*iter8v1alpha2.HTTPMatchRequest) *HTTPRouteBuilder
type HTTPRouteDestinationBuilder ¶
type HTTPRouteDestinationBuilder networkingv1alpha3.HTTPRouteDestination
func NewHTTPRouteDestination ¶
func NewHTTPRouteDestination() *HTTPRouteDestinationBuilder
func (*HTTPRouteDestinationBuilder) Build ¶
func (b *HTTPRouteDestinationBuilder) Build() *networkingv1alpha3.HTTPRouteDestination
func (*HTTPRouteDestinationBuilder) WithHost ¶
func (b *HTTPRouteDestinationBuilder) WithHost(host string) *HTTPRouteDestinationBuilder
func (*HTTPRouteDestinationBuilder) WithPort ¶
func (b *HTTPRouteDestinationBuilder) WithPort(port uint32) *HTTPRouteDestinationBuilder
func (*HTTPRouteDestinationBuilder) WithSubset ¶
func (b *HTTPRouteDestinationBuilder) WithSubset(subset string) *HTTPRouteDestinationBuilder
func (*HTTPRouteDestinationBuilder) WithWeight ¶
func (b *HTTPRouteDestinationBuilder) WithWeight(w int32) *HTTPRouteDestinationBuilder
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router is a router using istio routing rules
func (*Router) Fetch ¶
func (r *Router) Fetch(instance *iter8v1alpha2.Experiment) error
Fetch routing rules from cluster
func (*Router) UpdateRouteToStable ¶
func (r *Router) UpdateRouteToStable(instance *iter8v1alpha2.Experiment) (err error)
UpdateRouteToStable updates routing rules to desired stable state
func (*Router) UpdateRouteWithBaseline ¶
func (r *Router) UpdateRouteWithBaseline(instance *iter8v1alpha2.Experiment, baseline runtime.Object) (err error)
UpdateRouteWithBaseline updates routing rules with runtime object of baseline
func (*Router) UpdateRouteWithCandidates ¶
func (r *Router) UpdateRouteWithCandidates(instance *iter8v1alpha2.Experiment, candidates []runtime.Object) (err error)
UpdateRouteWithCandidates updates routing rules with runtime objects of candidates
func (*Router) UpdateRouteWithTrafficUpdate ¶
func (r *Router) UpdateRouteWithTrafficUpdate(instance *iter8v1alpha2.Experiment) (err error)
UpdateRouteWithTrafficUpdate updates routing rules with new traffic state from assessment
type VirtualServiceBuilder ¶
type VirtualServiceBuilder v1alpha3.VirtualService
func NewVirtualService ¶
func NewVirtualService(name, experimentName, namespace string) *VirtualServiceBuilder
func NewVirtualServiceBuilder ¶
func NewVirtualServiceBuilder(vs *v1alpha3.VirtualService) *VirtualServiceBuilder
func (*VirtualServiceBuilder) Build ¶
func (b *VirtualServiceBuilder) Build() *v1alpha3.VirtualService
func (*VirtualServiceBuilder) InitGateways ¶
func (b *VirtualServiceBuilder) InitGateways() *VirtualServiceBuilder
func (*VirtualServiceBuilder) InitHTTPRoutes ¶
func (b *VirtualServiceBuilder) InitHTTPRoutes() *VirtualServiceBuilder
func (*VirtualServiceBuilder) InitHosts ¶
func (b *VirtualServiceBuilder) InitHosts() *VirtualServiceBuilder
func (*VirtualServiceBuilder) RemoveExperimentLabel ¶
func (b *VirtualServiceBuilder) RemoveExperimentLabel() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithExperimentRegistered ¶
func (b *VirtualServiceBuilder) WithExperimentRegistered(exp string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithGateways ¶
func (b *VirtualServiceBuilder) WithGateways(gws []string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithHTTPRoute ¶
func (b *VirtualServiceBuilder) WithHTTPRoute(route *networkingv1alpha3.HTTPRoute) *VirtualServiceBuilder
WithHTTPRoute adds route to http route list
func (*VirtualServiceBuilder) WithHosts ¶
func (b *VirtualServiceBuilder) WithHosts(hosts []string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithInitLabel ¶
func (b *VirtualServiceBuilder) WithInitLabel() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithInitializingLabel ¶
func (b *VirtualServiceBuilder) WithInitializingLabel() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithMeshGateway ¶
func (b *VirtualServiceBuilder) WithMeshGateway() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithProgressingLabel ¶
func (b *VirtualServiceBuilder) WithProgressingLabel() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithRouterRegistered ¶
func (b *VirtualServiceBuilder) WithRouterRegistered(id string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithStableLabel ¶
func (b *VirtualServiceBuilder) WithStableLabel() *VirtualServiceBuilder