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
- type DestinationRuleBuilder
- func (b *DestinationRuleBuilder) Build() *v1alpha3.DestinationRule
- func (b *DestinationRuleBuilder) InitSubsets(count int) *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) ProgressingToStable(stableSubsets map[string]string) *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) RemoveExperimentLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithExperimentRegistered(exp string) *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithHostRegistered(host string) *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithInitLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithName(name string) *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithProgressingLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithStableLabel() *DestinationRuleBuilder
- func (b *DestinationRuleBuilder) WithSubset(d *appsv1.Deployment, subsetName string, idx int) *DestinationRuleBuilder
- type 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) Cleanup(context context.Context, instance *iter8v1alpha2.Experiment) (err error)
- func (r *Router) GetRoutingRuleName() string
- func (r *Router) GetRoutingRules(instance *iter8v1alpha2.Experiment) error
- func (r *Router) InitRoutingRules(instance *iter8v1alpha2.Experiment) error
- func (r *Router) UpdateBaseline(ctx context.Context, instance *iter8v1alpha2.Experiment, ...) (err error)
- func (r *Router) UpdateCandidates(context context.Context, targets *targets.Targets) (err error)
- func (r *Router) UpdateTrafficSplit(instance *iter8v1alpha2.Experiment) error
- type VirtualServiceBuilder
- func (b *VirtualServiceBuilder) Build() *v1alpha3.VirtualService
- func (b *VirtualServiceBuilder) InitGateways() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) InitHosts() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) ProgressingToStable(weight map[string]int32, host, ns string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) RemoveExperimentLabel() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) ToProgressing(service string, candidateCount int) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithExperimentRegistered(exp string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithGateways(gws []string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithHTTPMatch(httpMatch []*iter8v1alpha2.HTTPMatchRequest) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithHTTPRoute(route *networkingv1alpha3.HTTPRoute) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithHostRegistered(host string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithHosts(hosts []string) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithInitLabel() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithMeshGateway() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithPort(num uint32) *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithProgressingLabel() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithStableLabel() *VirtualServiceBuilder
- func (b *VirtualServiceBuilder) WithTrafficSplit(host string, trafficSplit map[string]int32) *VirtualServiceBuilder
Constants ¶
const ( SubsetBaseline = "iter8-baseline" SubsetCandidate = "iter8-candidate" SubsetStable = "iter8-stable" RoleInitializing = "initializing" RoleStable = "stable" RoleProgressing = "progressing" ExperimentInit = "iter8-tools/init" ExperimentRole = "iter8-tools/role" ExperimentLabel = "iter8-tools/experiment" ExperimentHost = "iter8-tools/host" )
const (
IstioRuleSuffix = ".iter8-experiment"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DestinationRuleBuilder ¶
type DestinationRuleBuilder v1alpha3.DestinationRule
func NewDestinationRule ¶
func NewDestinationRule(serviceName, name, namespace string) *DestinationRuleBuilder
func NewDestinationRuleBuilder ¶
func NewDestinationRuleBuilder(dr *v1alpha3.DestinationRule) *DestinationRuleBuilder
func (*DestinationRuleBuilder) Build ¶
func (b *DestinationRuleBuilder) Build() *v1alpha3.DestinationRule
func (*DestinationRuleBuilder) InitSubsets ¶ added in v0.2.0
func (b *DestinationRuleBuilder) InitSubsets(count int) *DestinationRuleBuilder
func (*DestinationRuleBuilder) ProgressingToStable ¶
func (b *DestinationRuleBuilder) ProgressingToStable(stableSubsets map[string]string) *DestinationRuleBuilder
func (*DestinationRuleBuilder) RemoveExperimentLabel ¶
func (b *DestinationRuleBuilder) RemoveExperimentLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithExperimentRegistered ¶ added in v0.2.0
func (b *DestinationRuleBuilder) WithExperimentRegistered(exp string) *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithHostRegistered ¶
func (b *DestinationRuleBuilder) WithHostRegistered(host string) *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithInitLabel ¶
func (b *DestinationRuleBuilder) WithInitLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithName ¶
func (b *DestinationRuleBuilder) WithName(name string) *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithProgressingLabel ¶
func (b *DestinationRuleBuilder) WithProgressingLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithStableLabel ¶
func (b *DestinationRuleBuilder) WithStableLabel() *DestinationRuleBuilder
func (*DestinationRuleBuilder) WithSubset ¶
func (b *DestinationRuleBuilder) WithSubset(d *appsv1.Deployment, subsetName string, idx int) *DestinationRuleBuilder
WithSubset converts stable dr to progressing dr
type HTTPRouteBuilder ¶ added in v0.2.0
type HTTPRouteBuilder networkingv1alpha3.HTTPRoute
func NewEmptyHTTPRoute ¶ added in v0.2.0
func NewEmptyHTTPRoute() *HTTPRouteBuilder
func NewHTTPRoute ¶ added in v0.2.0
func NewHTTPRoute(route *networkingv1alpha3.HTTPRoute) *HTTPRouteBuilder
func (*HTTPRouteBuilder) Build ¶ added in v0.2.0
func (b *HTTPRouteBuilder) Build() *networkingv1alpha3.HTTPRoute
func (*HTTPRouteBuilder) ClearRoute ¶
func (b *HTTPRouteBuilder) ClearRoute() *HTTPRouteBuilder
func (*HTTPRouteBuilder) WithDestination ¶ added in v0.2.0
func (b *HTTPRouteBuilder) WithDestination(d *networkingv1alpha3.HTTPRouteDestination) *HTTPRouteBuilder
type HTTPRouteDestinationBuilder ¶ added in v0.2.0
type HTTPRouteDestinationBuilder networkingv1alpha3.HTTPRouteDestination
func NewHTTPRouteDestination ¶ added in v0.2.0
func NewHTTPRouteDestination() *HTTPRouteDestinationBuilder
func (*HTTPRouteDestinationBuilder) Build ¶ added in v0.2.0
func (b *HTTPRouteDestinationBuilder) Build() *networkingv1alpha3.HTTPRouteDestination
func (*HTTPRouteDestinationBuilder) WithHost ¶ added in v0.2.0
func (b *HTTPRouteDestinationBuilder) WithHost(host string) *HTTPRouteDestinationBuilder
func (*HTTPRouteDestinationBuilder) WithPort ¶ added in v0.2.0
func (b *HTTPRouteDestinationBuilder) WithPort(port uint32) *HTTPRouteDestinationBuilder
func (*HTTPRouteDestinationBuilder) WithSubset ¶ added in v0.2.0
func (b *HTTPRouteDestinationBuilder) WithSubset(subset string) *HTTPRouteDestinationBuilder
func (*HTTPRouteDestinationBuilder) WithWeight ¶ added in v0.2.0
func (b *HTTPRouteDestinationBuilder) WithWeight(w int32) *HTTPRouteDestinationBuilder
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
func (*Router) Cleanup ¶
func (r *Router) Cleanup(context context.Context, instance *iter8v1alpha2.Experiment) (err error)
Cleanup configures routing rules to set up traffic to desired end state
func (*Router) GetRoutingRuleName ¶
GetRoutingRuleName returns namespaced name of routing rulesin the router
func (*Router) GetRoutingRules ¶
func (r *Router) GetRoutingRules(instance *iter8v1alpha2.Experiment) error
GetRoutingRules will inject routing rules into router or return error if there is any
func (*Router) InitRoutingRules ¶
func (r *Router) InitRoutingRules(instance *iter8v1alpha2.Experiment) error
InitRoutingRules creates routing rules for experiment
func (*Router) UpdateBaseline ¶
func (r *Router) UpdateBaseline(ctx context.Context, instance *iter8v1alpha2.Experiment, targets *targets.Targets) (err error)
func (*Router) UpdateCandidates ¶
func (*Router) UpdateTrafficSplit ¶
func (r *Router) UpdateTrafficSplit(instance *iter8v1alpha2.Experiment) error
UpdateTrafficSplit updates virtualservice with latest traffic split
type VirtualServiceBuilder ¶
type VirtualServiceBuilder v1alpha3.VirtualService
func NewVirtualService ¶
func NewVirtualService(serviceName, name, namespace string) *VirtualServiceBuilder
func NewVirtualServiceBuilder ¶
func NewVirtualServiceBuilder(vs *v1alpha3.VirtualService) *VirtualServiceBuilder
func (*VirtualServiceBuilder) Build ¶
func (b *VirtualServiceBuilder) Build() *v1alpha3.VirtualService
func (*VirtualServiceBuilder) InitGateways ¶ added in v0.2.0
func (b *VirtualServiceBuilder) InitGateways() *VirtualServiceBuilder
func (*VirtualServiceBuilder) InitHosts ¶ added in v0.2.0
func (b *VirtualServiceBuilder) InitHosts() *VirtualServiceBuilder
func (*VirtualServiceBuilder) ProgressingToStable ¶
func (b *VirtualServiceBuilder) ProgressingToStable(weight map[string]int32, host, ns string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) RemoveExperimentLabel ¶
func (b *VirtualServiceBuilder) RemoveExperimentLabel() *VirtualServiceBuilder
func (*VirtualServiceBuilder) ToProgressing ¶
func (b *VirtualServiceBuilder) ToProgressing(service string, candidateCount int) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithExperimentRegistered ¶ added in v0.2.0
func (b *VirtualServiceBuilder) WithExperimentRegistered(exp string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithGateways ¶ added in v0.2.0
func (b *VirtualServiceBuilder) WithGateways(gws []string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithHTTPMatch ¶
func (b *VirtualServiceBuilder) WithHTTPMatch(httpMatch []*iter8v1alpha2.HTTPMatchRequest) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithHTTPRoute ¶ added in v0.2.0
func (b *VirtualServiceBuilder) WithHTTPRoute(route *networkingv1alpha3.HTTPRoute) *VirtualServiceBuilder
WithHTTPRoute updates the first http route
func (*VirtualServiceBuilder) WithHostRegistered ¶
func (b *VirtualServiceBuilder) WithHostRegistered(host string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithHosts ¶ added in v0.2.0
func (b *VirtualServiceBuilder) WithHosts(hosts []string) *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithInitLabel ¶
func (b *VirtualServiceBuilder) WithInitLabel() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithMeshGateway ¶ added in v0.2.0
func (b *VirtualServiceBuilder) WithMeshGateway() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithPort ¶
func (b *VirtualServiceBuilder) WithPort(num uint32) *VirtualServiceBuilder
WithPort adds port to each destination in iter8 route
func (*VirtualServiceBuilder) WithProgressingLabel ¶
func (b *VirtualServiceBuilder) WithProgressingLabel() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithStableLabel ¶
func (b *VirtualServiceBuilder) WithStableLabel() *VirtualServiceBuilder
func (*VirtualServiceBuilder) WithTrafficSplit ¶
func (b *VirtualServiceBuilder) WithTrafficSplit(host string, trafficSplit map[string]int32) *VirtualServiceBuilder
WithTrafficSplit will update http route with specified traffic split