v1

package
v0.3.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2019 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FaultInjection_Delay_Type_name = map[int32]string{
	0: "FIXED",
}
View Source
var FaultInjection_Delay_Type_value = map[string]int32{
	"FIXED": 0,
}
View Source
var InstallCrd = crd.NewCrd("supergloo.solo.io",
	"installs",
	"supergloo.solo.io",
	"v1",
	"Install",
	"i",
	false,
	&Install{})
View Source
var MeshCrd = crd.NewCrd("supergloo.solo.io",
	"meshes",
	"supergloo.solo.io",
	"v1",
	"Mesh",
	"m",
	false,
	&Mesh{})
View Source
var MeshGroupCrd = crd.NewCrd("supergloo.solo.io",
	"meshgroups",
	"supergloo.solo.io",
	"v1",
	"MeshGroup",
	"mg",
	false,
	&MeshGroup{})
View Source
var MeshIngressCrd = crd.NewCrd("supergloo.solo.io",
	"meshingresses",
	"supergloo.solo.io",
	"v1",
	"MeshIngress",
	"mi",
	false,
	&MeshIngress{})
View Source
var RoutingRuleCrd = crd.NewCrd("supergloo.solo.io",
	"routingrules",
	"supergloo.solo.io",
	"v1",
	"RoutingRule",
	"rr",
	false,
	&RoutingRule{})
View Source
var SecurityRuleCrd = crd.NewCrd("supergloo.solo.io",
	"securityrules",
	"supergloo.solo.io",
	"v1",
	"SecurityRule",
	"sr",
	false,
	&SecurityRule{})
View Source
var TlsSecretCrd = crd.NewCrd("supergloo.solo.io",
	"tlssecrets",
	"supergloo.solo.io",
	"v1",
	"TlsSecret",
	"ts",
	false,
	&TlsSecret{})

Functions

func NewConfigEventLoop

func NewConfigEventLoop(emitter ConfigEmitter, syncer ConfigSyncer) eventloop.EventLoop

func NewDiscoveryEventLoop added in v0.3.9

func NewDiscoveryEventLoop(emitter DiscoveryEmitter, syncer DiscoverySyncer) eventloop.EventLoop

func NewInstallEventLoop

func NewInstallEventLoop(emitter InstallEmitter, syncer InstallSyncer) eventloop.EventLoop

func NewIstioDiscoveryEventLoop added in v0.3.11

func NewIstioDiscoveryEventLoop(emitter IstioDiscoveryEmitter, syncer IstioDiscoverySyncer) eventloop.EventLoop

func NewLinkerdDiscoveryEventLoop added in v0.3.11

func NewLinkerdDiscoveryEventLoop(emitter LinkerdDiscoveryEmitter, syncer LinkerdDiscoverySyncer) eventloop.EventLoop

func NewRegistrationEventLoop

func NewRegistrationEventLoop(emitter RegistrationEmitter, syncer RegistrationSyncer) eventloop.EventLoop

Types

type AwsAppMesh

type AwsAppMesh struct {
	// Reference to the secret that holds the AWS credentials that will be used to access the AWS App Mesh service.
	AwsSecret *core.ResourceRef `protobuf:"bytes,1,opt,name=aws_secret,json=awsSecret,proto3" json:"aws_secret,omitempty"`
	// The AWS region the AWS App Mesh control plane resources (Virtual Nodes, Virtual Routers, etc.) will be created in.
	Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	// Determines whether pods will be automatically injected with the AWS App Mesh Envoy sidecar proxy.
	//
	// If set to true, supergloo will ensure that a MutatingAdmissionWebhook server with the injection logic is deployed
	// to the cluster and that it has been registered with the Kubernetes API server via a MutatingWebhookConfiguration.
	// This will cause the webhook to be invoked on each pod creation event.
	EnableAutoInject bool `protobuf:"varint,3,opt,name=enable_auto_inject,json=enableAutoInject,proto3" json:"enable_auto_inject,omitempty"`
	// Pods matching this selector will be injected with the sidecar proxy at creation time.
	//
	// NOTE: the sidecar injector webhook currently supports only the NamespaceSelector and LabelSelector
	InjectionSelector *PodSelector `protobuf:"bytes,4,opt,name=injection_selector,json=injectionSelector,proto3" json:"injection_selector,omitempty"`
	// If auto-injection is enabled, the value of the pod label with this key will be used to calculate the value of
	// APPMESH_VIRTUAL_NODE_NAME environment variable that is set on the injected sidecar proxy container.
	VirtualNodeLabel string `protobuf:"bytes,5,opt,name=virtual_node_label,json=virtualNodeLabel,proto3" json:"virtual_node_label,omitempty"`
	// Reference to the config map that contains the patch that will be applied to the spec of the pods matching the
	// injection_selector.
	SidecarPatchConfigMap *core.ResourceRef `` /* 128-byte string literal not displayed */
	XXX_NoUnkeyedLiteral  struct{}          `json:"-"`
	XXX_unrecognized      []byte            `json:"-"`
	XXX_sizecache         int32             `json:"-"`
}

Mesh object representing AWS App Mesh

func (*AwsAppMesh) Descriptor

func (*AwsAppMesh) Descriptor() ([]byte, []int)

func (*AwsAppMesh) Equal

func (this *AwsAppMesh) Equal(that interface{}) bool

func (*AwsAppMesh) GetAwsSecret

func (m *AwsAppMesh) GetAwsSecret() *core.ResourceRef

func (*AwsAppMesh) GetEnableAutoInject

func (m *AwsAppMesh) GetEnableAutoInject() bool

func (*AwsAppMesh) GetInjectionSelector

func (m *AwsAppMesh) GetInjectionSelector() *PodSelector

func (*AwsAppMesh) GetRegion

func (m *AwsAppMesh) GetRegion() string

func (*AwsAppMesh) GetSidecarPatchConfigMap

func (m *AwsAppMesh) GetSidecarPatchConfigMap() *core.ResourceRef

func (*AwsAppMesh) GetVirtualNodeLabel

func (m *AwsAppMesh) GetVirtualNodeLabel() string

func (*AwsAppMesh) ProtoMessage

func (*AwsAppMesh) ProtoMessage()

func (*AwsAppMesh) Reset

func (m *AwsAppMesh) Reset()

func (*AwsAppMesh) String

func (m *AwsAppMesh) String() string

func (*AwsAppMesh) XXX_DiscardUnknown

func (m *AwsAppMesh) XXX_DiscardUnknown()

func (*AwsAppMesh) XXX_Marshal

func (m *AwsAppMesh) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AwsAppMesh) XXX_Merge

func (m *AwsAppMesh) XXX_Merge(src proto.Message)

func (*AwsAppMesh) XXX_Size

func (m *AwsAppMesh) XXX_Size() int

func (*AwsAppMesh) XXX_Unmarshal

func (m *AwsAppMesh) XXX_Unmarshal(b []byte) error

type CloneablePod added in v0.3.9

type CloneablePod interface {
	resources.Resource
	Clone() *github_com_solo_io_supergloo_api_custom_kubepod.Pod
}

type CloneableServiceProfile added in v0.3.11

type CloneableServiceProfile interface {
	resources.Resource
	Clone() *github_com_solo_io_supergloo_api_custom_linkerd.ServiceProfile
}

type ConfigEmitter

type ConfigEmitter interface {
	Register() error
	Mesh() MeshClient
	MeshIngress() MeshIngressClient
	MeshGroup() MeshGroupClient
	RoutingRule() RoutingRuleClient
	SecurityRule() SecurityRuleClient
	TlsSecret() TlsSecretClient
	Upstream() gloo_solo_io.UpstreamClient
	Pod() PodClient
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *ConfigSnapshot, <-chan error, error)
}

func NewConfigEmitter

func NewConfigEmitter(meshClient MeshClient, meshIngressClient MeshIngressClient, meshGroupClient MeshGroupClient, routingRuleClient RoutingRuleClient, securityRuleClient SecurityRuleClient, tlsSecretClient TlsSecretClient, upstreamClient gloo_solo_io.UpstreamClient, podClient PodClient) ConfigEmitter

func NewConfigEmitterWithEmit

func NewConfigEmitterWithEmit(meshClient MeshClient, meshIngressClient MeshIngressClient, meshGroupClient MeshGroupClient, routingRuleClient RoutingRuleClient, securityRuleClient SecurityRuleClient, tlsSecretClient TlsSecretClient, upstreamClient gloo_solo_io.UpstreamClient, podClient PodClient, emit <-chan struct{}) ConfigEmitter

type ConfigSnapshot

type ConfigSnapshot struct {
	Meshes        MeshesByNamespace
	Meshingresses MeshingressesByNamespace
	Meshgroups    MeshgroupsByNamespace
	Routingrules  RoutingrulesByNamespace
	Securityrules SecurityrulesByNamespace
	Tlssecrets    TlssecretsByNamespace
	Upstreams     gloo_solo_io.UpstreamsByNamespace
	Pods          PodsByNamespace
}

func (ConfigSnapshot) Clone

func (s ConfigSnapshot) Clone() ConfigSnapshot

func (ConfigSnapshot) Hash

func (s ConfigSnapshot) Hash() uint64

func (ConfigSnapshot) HashFields

func (s ConfigSnapshot) HashFields() []zap.Field

func (ConfigSnapshot) Stringer

type ConfigSnapshotStringer

type ConfigSnapshotStringer struct {
	Version       uint64
	Meshes        []string
	Meshingresses []string
	Meshgroups    []string
	Routingrules  []string
	Securityrules []string
	Tlssecrets    []string
	Upstreams     []string
	Pods          []string
}

func (ConfigSnapshotStringer) String

func (ss ConfigSnapshotStringer) String() string

type ConfigSyncer

type ConfigSyncer interface {
	Sync(context.Context, *ConfigSnapshot) error
}

type ConfigSyncers

type ConfigSyncers []ConfigSyncer

func (ConfigSyncers) Sync

func (s ConfigSyncers) Sync(ctx context.Context, snapshot *ConfigSnapshot) error

type DiscoveryEmitter added in v0.3.9

type DiscoveryEmitter interface {
	Register() error
	Pod() PodClient
	Mesh() MeshClient
	Install() InstallClient
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *DiscoverySnapshot, <-chan error, error)
}

func NewDiscoveryEmitter added in v0.3.9

func NewDiscoveryEmitter(podClient PodClient, meshClient MeshClient, installClient InstallClient) DiscoveryEmitter

func NewDiscoveryEmitterWithEmit added in v0.3.9

func NewDiscoveryEmitterWithEmit(podClient PodClient, meshClient MeshClient, installClient InstallClient, emit <-chan struct{}) DiscoveryEmitter

type DiscoveryMetadata added in v0.3.9

type DiscoveryMetadata struct {
	// list of namespaces which we know are being injected by a given mesh
	InjectedNamespaceLabel string `` /* 129-byte string literal not displayed */
	// Whether or not auto-injection is enabled for a given mesh
	EnableAutoInject bool `protobuf:"varint,2,opt,name=enable_auto_inject,json=enableAutoInject,proto3" json:"enable_auto_inject,omitempty"`
	// version of the mesh which is installed
	MeshVersion string `protobuf:"bytes,3,opt,name=mesh_version,json=meshVersion,proto3" json:"mesh_version,omitempty"`
	// namespace which the mesh is installed into
	InstallationNamespace string `protobuf:"bytes,4,opt,name=installation_namespace,json=installationNamespace,proto3" json:"installation_namespace,omitempty"`
	// discovered mtls config of the given mesh
	MtlsConfig           *MtlsConfig `protobuf:"bytes,5,opt,name=mtls_config,json=mtlsConfig,proto3" json:"mtls_config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Generic discovery data shared between different meshes

func (*DiscoveryMetadata) Descriptor added in v0.3.9

func (*DiscoveryMetadata) Descriptor() ([]byte, []int)

func (*DiscoveryMetadata) Equal added in v0.3.9

func (this *DiscoveryMetadata) Equal(that interface{}) bool

func (*DiscoveryMetadata) GetEnableAutoInject added in v0.3.11

func (m *DiscoveryMetadata) GetEnableAutoInject() bool

func (*DiscoveryMetadata) GetInjectedNamespaceLabel added in v0.3.9

func (m *DiscoveryMetadata) GetInjectedNamespaceLabel() string

func (*DiscoveryMetadata) GetInstallationNamespace added in v0.3.9

func (m *DiscoveryMetadata) GetInstallationNamespace() string

func (*DiscoveryMetadata) GetMeshVersion added in v0.3.9

func (m *DiscoveryMetadata) GetMeshVersion() string

func (*DiscoveryMetadata) GetMtlsConfig added in v0.3.9

func (m *DiscoveryMetadata) GetMtlsConfig() *MtlsConfig

func (*DiscoveryMetadata) ProtoMessage added in v0.3.9

func (*DiscoveryMetadata) ProtoMessage()

func (*DiscoveryMetadata) Reset added in v0.3.9

func (m *DiscoveryMetadata) Reset()

func (*DiscoveryMetadata) String added in v0.3.9

func (m *DiscoveryMetadata) String() string

func (*DiscoveryMetadata) XXX_DiscardUnknown added in v0.3.9

func (m *DiscoveryMetadata) XXX_DiscardUnknown()

func (*DiscoveryMetadata) XXX_Marshal added in v0.3.9

func (m *DiscoveryMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DiscoveryMetadata) XXX_Merge added in v0.3.9

func (m *DiscoveryMetadata) XXX_Merge(src proto.Message)

func (*DiscoveryMetadata) XXX_Size added in v0.3.9

func (m *DiscoveryMetadata) XXX_Size() int

func (*DiscoveryMetadata) XXX_Unmarshal added in v0.3.9

func (m *DiscoveryMetadata) XXX_Unmarshal(b []byte) error

type DiscoverySnapshot added in v0.3.9

type DiscoverySnapshot struct {
	Pods     PodsByNamespace
	Meshes   MeshesByNamespace
	Installs InstallsByNamespace
}

func (DiscoverySnapshot) Clone added in v0.3.9

func (DiscoverySnapshot) Hash added in v0.3.9

func (s DiscoverySnapshot) Hash() uint64

func (DiscoverySnapshot) HashFields added in v0.3.9

func (s DiscoverySnapshot) HashFields() []zap.Field

func (DiscoverySnapshot) Stringer added in v0.3.9

type DiscoverySnapshotStringer added in v0.3.9

type DiscoverySnapshotStringer struct {
	Version  uint64
	Pods     []string
	Meshes   []string
	Installs []string
}

func (DiscoverySnapshotStringer) String added in v0.3.9

func (ss DiscoverySnapshotStringer) String() string

type DiscoverySyncer added in v0.3.9

type DiscoverySyncer interface {
	Sync(context.Context, *DiscoverySnapshot) error
}

type DiscoverySyncers added in v0.3.9

type DiscoverySyncers []DiscoverySyncer

func (DiscoverySyncers) Sync added in v0.3.9

func (s DiscoverySyncers) Sync(ctx context.Context, snapshot *DiscoverySnapshot) error

type FaultInjection

type FaultInjection struct {
	// Types that are valid to be assigned to FaultInjectionType:
	//	*FaultInjection_Delay_
	//	*FaultInjection_Abort_
	FaultInjectionType isFaultInjection_FaultInjectionType `protobuf_oneof:"fault_injection_type"`
	// Percentage of requests to be faulted with the error code provided.
	// Values range between 0 and 100
	Percentage           float64  `protobuf:"fixed64,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

FaultInjection can be used to specify one or more faults to inject while forwarding http requests to the destination specified in a route. Faults include aborting the Http request from downstream service, and/or delaying proxying of requests. A fault rule MUST HAVE delay or abort.

func (*FaultInjection) Descriptor

func (*FaultInjection) Descriptor() ([]byte, []int)

func (*FaultInjection) Equal

func (this *FaultInjection) Equal(that interface{}) bool

func (*FaultInjection) GetAbort

func (m *FaultInjection) GetAbort() *FaultInjection_Abort

func (*FaultInjection) GetDelay

func (m *FaultInjection) GetDelay() *FaultInjection_Delay

func (*FaultInjection) GetFaultInjectionType

func (m *FaultInjection) GetFaultInjectionType() isFaultInjection_FaultInjectionType

func (*FaultInjection) GetPercentage

func (m *FaultInjection) GetPercentage() float64

func (*FaultInjection) ProtoMessage

func (*FaultInjection) ProtoMessage()

func (*FaultInjection) Reset

func (m *FaultInjection) Reset()

func (*FaultInjection) String

func (m *FaultInjection) String() string

func (*FaultInjection) XXX_DiscardUnknown

func (m *FaultInjection) XXX_DiscardUnknown()

func (*FaultInjection) XXX_Marshal

func (m *FaultInjection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FaultInjection) XXX_Merge

func (m *FaultInjection) XXX_Merge(src proto.Message)

func (*FaultInjection) XXX_OneofFuncs

func (*FaultInjection) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*FaultInjection) XXX_Size

func (m *FaultInjection) XXX_Size() int

func (*FaultInjection) XXX_Unmarshal

func (m *FaultInjection) XXX_Unmarshal(b []byte) error

type FaultInjection_Abort

type FaultInjection_Abort struct {
	// Types that are valid to be assigned to ErrorType:
	//	*FaultInjection_Abort_HttpStatus
	ErrorType            isFaultInjection_Abort_ErrorType `protobuf_oneof:"error_type"`
	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
	XXX_unrecognized     []byte                           `json:"-"`
	XXX_sizecache        int32                            `json:"-"`
}

The _httpStatus_ field is used to indicate the HTTP status code to return to the caller. The optional _percentage_ field can be used to only abort a certain percentage of requests. If not specified, all requests are aborted.

func (*FaultInjection_Abort) Descriptor

func (*FaultInjection_Abort) Descriptor() ([]byte, []int)

func (*FaultInjection_Abort) Equal

func (this *FaultInjection_Abort) Equal(that interface{}) bool

func (*FaultInjection_Abort) GetErrorType

func (m *FaultInjection_Abort) GetErrorType() isFaultInjection_Abort_ErrorType

func (*FaultInjection_Abort) GetHttpStatus

func (m *FaultInjection_Abort) GetHttpStatus() int32

func (*FaultInjection_Abort) ProtoMessage

func (*FaultInjection_Abort) ProtoMessage()

func (*FaultInjection_Abort) Reset

func (m *FaultInjection_Abort) Reset()

func (*FaultInjection_Abort) String

func (m *FaultInjection_Abort) String() string

func (*FaultInjection_Abort) XXX_DiscardUnknown

func (m *FaultInjection_Abort) XXX_DiscardUnknown()

func (*FaultInjection_Abort) XXX_Marshal

func (m *FaultInjection_Abort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FaultInjection_Abort) XXX_Merge

func (m *FaultInjection_Abort) XXX_Merge(src proto.Message)

func (*FaultInjection_Abort) XXX_OneofFuncs

func (*FaultInjection_Abort) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*FaultInjection_Abort) XXX_Size

func (m *FaultInjection_Abort) XXX_Size() int

func (*FaultInjection_Abort) XXX_Unmarshal

func (m *FaultInjection_Abort) XXX_Unmarshal(b []byte) error

type FaultInjection_Abort_

type FaultInjection_Abort_ struct {
	Abort *FaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3,oneof"`
}

func (*FaultInjection_Abort_) Equal

func (this *FaultInjection_Abort_) Equal(that interface{}) bool

type FaultInjection_Abort_HttpStatus

type FaultInjection_Abort_HttpStatus struct {
	HttpStatus int32 `protobuf:"varint,4,opt,name=http_status,json=httpStatus,proto3,oneof"`
}

func (*FaultInjection_Abort_HttpStatus) Equal

func (this *FaultInjection_Abort_HttpStatus) Equal(that interface{}) bool

type FaultInjection_Delay

type FaultInjection_Delay struct {
	// duration of delay, matches golang duration spec
	Duration time.Duration `protobuf:"bytes,3,opt,name=duration,proto3,stdduration" json:"duration"`
	// type of delay based on the enum below
	DelayType            FaultInjection_Delay_Type `` /* 138-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

The _fixedDelay_ field is used to indicate the amount of delay in seconds. The optional _percentage_ field can be used to only delay a certain percentage of requests. If left unspecified, all request will be delayed.

func (*FaultInjection_Delay) Descriptor

func (*FaultInjection_Delay) Descriptor() ([]byte, []int)

func (*FaultInjection_Delay) Equal

func (this *FaultInjection_Delay) Equal(that interface{}) bool

func (*FaultInjection_Delay) GetDelayType

func (*FaultInjection_Delay) GetDuration

func (m *FaultInjection_Delay) GetDuration() time.Duration

func (*FaultInjection_Delay) ProtoMessage

func (*FaultInjection_Delay) ProtoMessage()

func (*FaultInjection_Delay) Reset

func (m *FaultInjection_Delay) Reset()

func (*FaultInjection_Delay) String

func (m *FaultInjection_Delay) String() string

func (*FaultInjection_Delay) XXX_DiscardUnknown

func (m *FaultInjection_Delay) XXX_DiscardUnknown()

func (*FaultInjection_Delay) XXX_Marshal

func (m *FaultInjection_Delay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FaultInjection_Delay) XXX_Merge

func (m *FaultInjection_Delay) XXX_Merge(src proto.Message)

func (*FaultInjection_Delay) XXX_Size

func (m *FaultInjection_Delay) XXX_Size() int

func (*FaultInjection_Delay) XXX_Unmarshal

func (m *FaultInjection_Delay) XXX_Unmarshal(b []byte) error

type FaultInjection_Delay_

type FaultInjection_Delay_ struct {
	Delay *FaultInjection_Delay `protobuf:"bytes,1,opt,name=delay,proto3,oneof"`
}

func (*FaultInjection_Delay_) Equal

func (this *FaultInjection_Delay_) Equal(that interface{}) bool

type FaultInjection_Delay_Type

type FaultInjection_Delay_Type int32

types of delays available, currently only fixed is supported

const (
	FaultInjection_Delay_FIXED FaultInjection_Delay_Type = 0
)

func (FaultInjection_Delay_Type) EnumDescriptor

func (FaultInjection_Delay_Type) EnumDescriptor() ([]byte, []int)

func (FaultInjection_Delay_Type) String

func (x FaultInjection_Delay_Type) String() string

type GlooInstall

type GlooInstall struct {
	// which version of the gloo helm chart to install
	// ignored if using custom helm chart
	GlooVersion string `protobuf:"bytes,2,opt,name=gloo_version,json=glooVersion,proto3" json:"gloo_version,omitempty"`
	// reference to the Mesh(s) that this ingress is acting upon
	Meshes               []*core.ResourceRef `protobuf:"bytes,3,rep,name=meshes,proto3" json:"meshes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

Installation options for Gloo Ingress

func (*GlooInstall) Descriptor

func (*GlooInstall) Descriptor() ([]byte, []int)

func (*GlooInstall) Equal

func (this *GlooInstall) Equal(that interface{}) bool

func (*GlooInstall) GetGlooVersion

func (m *GlooInstall) GetGlooVersion() string

func (*GlooInstall) GetMeshes

func (m *GlooInstall) GetMeshes() []*core.ResourceRef

func (*GlooInstall) ProtoMessage

func (*GlooInstall) ProtoMessage()

func (*GlooInstall) Reset

func (m *GlooInstall) Reset()

func (*GlooInstall) String

func (m *GlooInstall) String() string

func (*GlooInstall) XXX_DiscardUnknown

func (m *GlooInstall) XXX_DiscardUnknown()

func (*GlooInstall) XXX_Marshal

func (m *GlooInstall) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GlooInstall) XXX_Merge

func (m *GlooInstall) XXX_Merge(src proto.Message)

func (*GlooInstall) XXX_Size

func (m *GlooInstall) XXX_Size() int

func (*GlooInstall) XXX_Unmarshal

func (m *GlooInstall) XXX_Unmarshal(b []byte) error

type GlooMeshIngress

type GlooMeshIngress struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Mesh ingress object for gloo

func (*GlooMeshIngress) Descriptor

func (*GlooMeshIngress) Descriptor() ([]byte, []int)

func (*GlooMeshIngress) Equal

func (this *GlooMeshIngress) Equal(that interface{}) bool

func (*GlooMeshIngress) ProtoMessage

func (*GlooMeshIngress) ProtoMessage()

func (*GlooMeshIngress) Reset

func (m *GlooMeshIngress) Reset()

func (*GlooMeshIngress) String

func (m *GlooMeshIngress) String() string

func (*GlooMeshIngress) XXX_DiscardUnknown

func (m *GlooMeshIngress) XXX_DiscardUnknown()

func (*GlooMeshIngress) XXX_Marshal

func (m *GlooMeshIngress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GlooMeshIngress) XXX_Merge

func (m *GlooMeshIngress) XXX_Merge(src proto.Message)

func (*GlooMeshIngress) XXX_Size

func (m *GlooMeshIngress) XXX_Size() int

func (*GlooMeshIngress) XXX_Unmarshal

func (m *GlooMeshIngress) XXX_Unmarshal(b []byte) error

type HeaderManipulation

type HeaderManipulation struct {
	// HTTP headers to remove before returning a response to the caller.
	RemoveResponseHeaders []string `` /* 127-byte string literal not displayed */
	// Additional HTTP headers to add before returning a response to the
	// caller.
	AppendResponseHeaders map[string]string `` /* 215-byte string literal not displayed */
	// HTTP headers to remove before forwarding a request to the
	// destination service.
	RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"`
	// Additional HTTP headers to add before forwarding a request to the
	// destination service.
	AppendRequestHeaders map[string]string `` /* 212-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

manipulate request and response headers

func (*HeaderManipulation) Descriptor

func (*HeaderManipulation) Descriptor() ([]byte, []int)

func (*HeaderManipulation) Equal

func (this *HeaderManipulation) Equal(that interface{}) bool

func (*HeaderManipulation) GetAppendRequestHeaders

func (m *HeaderManipulation) GetAppendRequestHeaders() map[string]string

func (*HeaderManipulation) GetAppendResponseHeaders

func (m *HeaderManipulation) GetAppendResponseHeaders() map[string]string

func (*HeaderManipulation) GetRemoveRequestHeaders

func (m *HeaderManipulation) GetRemoveRequestHeaders() []string

func (*HeaderManipulation) GetRemoveResponseHeaders

func (m *HeaderManipulation) GetRemoveResponseHeaders() []string

func (*HeaderManipulation) ProtoMessage

func (*HeaderManipulation) ProtoMessage()

func (*HeaderManipulation) Reset

func (m *HeaderManipulation) Reset()

func (*HeaderManipulation) String

func (m *HeaderManipulation) String() string

func (*HeaderManipulation) XXX_DiscardUnknown

func (m *HeaderManipulation) XXX_DiscardUnknown()

func (*HeaderManipulation) XXX_Marshal

func (m *HeaderManipulation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HeaderManipulation) XXX_Merge

func (m *HeaderManipulation) XXX_Merge(src proto.Message)

func (*HeaderManipulation) XXX_Size

func (m *HeaderManipulation) XXX_Size() int

func (*HeaderManipulation) XXX_Unmarshal

func (m *HeaderManipulation) XXX_Unmarshal(b []byte) error

type Install

type Install struct {
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by supergloo during validation
	Status core.Status `protobuf:"bytes,100,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,101,opt,name=metadata,proto3" json:"metadata"`
	// disables this install
	// setting this to true will cause supergloo not to
	// install this mesh, or uninstall an active install
	Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
	// The type of object the install handles
	// Currently support types are mesh, and ingress
	//
	// Types that are valid to be assigned to InstallType:
	//	*Install_Mesh
	//	*Install_Ingress
	InstallType isInstall_InstallType `protobuf_oneof:"install_type"`
	// which namespace to install to
	InstallationNamespace string   `protobuf:"bytes,4,opt,name=installation_namespace,json=installationNamespace,proto3" json:"installation_namespace,omitempty"`
	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
	XXX_unrecognized      []byte   `json:"-"`
	XXX_sizecache         int32    `json:"-"`
}

Installs represent a desired installation of a supported mesh. Supergloo watches for installs and synchronizes the managed installations with the desired configuration in the install object.

Updating the configuration of an install object will cause supergloo to modify the corresponding mesh.

func NewInstall

func NewInstall(namespace, name string) *Install

func (*Install) DeepCopyObject

func (o *Install) DeepCopyObject() runtime.Object

func (*Install) Descriptor

func (*Install) Descriptor() ([]byte, []int)

func (*Install) Equal

func (this *Install) Equal(that interface{}) bool

func (*Install) GetDisabled

func (m *Install) GetDisabled() bool

func (*Install) GetIngress

func (m *Install) GetIngress() *MeshIngressInstall

func (*Install) GetInstallType

func (m *Install) GetInstallType() isInstall_InstallType

func (*Install) GetInstallationNamespace

func (m *Install) GetInstallationNamespace() string

func (*Install) GetMesh

func (m *Install) GetMesh() *MeshInstall

func (*Install) GetMetadata

func (m *Install) GetMetadata() core.Metadata

func (*Install) GetObjectKind

func (o *Install) GetObjectKind() schema.ObjectKind

func (*Install) GetStatus

func (m *Install) GetStatus() core.Status

func (*Install) Hash

func (r *Install) Hash() uint64

func (*Install) ProtoMessage

func (*Install) ProtoMessage()

func (*Install) Reset

func (m *Install) Reset()

func (*Install) SetMetadata

func (r *Install) SetMetadata(meta core.Metadata)

func (*Install) SetStatus

func (r *Install) SetStatus(status core.Status)

func (*Install) String

func (m *Install) String() string

func (*Install) XXX_DiscardUnknown

func (m *Install) XXX_DiscardUnknown()

func (*Install) XXX_Marshal

func (m *Install) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Install) XXX_Merge

func (m *Install) XXX_Merge(src proto.Message)

func (*Install) XXX_OneofFuncs

func (*Install) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Install) XXX_Size

func (m *Install) XXX_Size() int

func (*Install) XXX_Unmarshal

func (m *Install) XXX_Unmarshal(b []byte) error

type InstallClient

type InstallClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Install, error)
	Write(resource *Install, opts clients.WriteOpts) (*Install, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (InstallList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan InstallList, <-chan error, error)
}

func NewInstallClient

func NewInstallClient(rcFactory factory.ResourceClientFactory) (InstallClient, error)

func NewInstallClientWithBase

func NewInstallClientWithBase(rc clients.ResourceClient) InstallClient

func NewInstallClientWithToken

func NewInstallClientWithToken(rcFactory factory.ResourceClientFactory, token string) (InstallClient, error)

type InstallEmitter

type InstallEmitter interface {
	Register() error
	Install() InstallClient
	Mesh() MeshClient
	MeshIngress() MeshIngressClient
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *InstallSnapshot, <-chan error, error)
}

func NewInstallEmitter

func NewInstallEmitter(installClient InstallClient, meshClient MeshClient, meshIngressClient MeshIngressClient) InstallEmitter

func NewInstallEmitterWithEmit

func NewInstallEmitterWithEmit(installClient InstallClient, meshClient MeshClient, meshIngressClient MeshIngressClient, emit <-chan struct{}) InstallEmitter

type InstallList

type InstallList []*Install

func (InstallList) AsInputResources

func (list InstallList) AsInputResources() resources.InputResourceList

func (InstallList) AsInterfaces

func (list InstallList) AsInterfaces() []interface{}

func (InstallList) AsResources

func (list InstallList) AsResources() resources.ResourceList

func (InstallList) Clone

func (list InstallList) Clone() InstallList

func (InstallList) Each

func (list InstallList) Each(f func(element *Install))

func (InstallList) Find

func (list InstallList) Find(namespace, name string) (*Install, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (InstallList) Names

func (list InstallList) Names() []string

func (InstallList) NamespacesDotNames

func (list InstallList) NamespacesDotNames() []string

func (InstallList) Sort

func (list InstallList) Sort() InstallList

type InstallReconciler

type InstallReconciler interface {
	Reconcile(namespace string, desiredResources InstallList, transition TransitionInstallFunc, opts clients.ListOpts) error
}

func NewInstallReconciler

func NewInstallReconciler(client InstallClient) InstallReconciler

type InstallSnapshot

type InstallSnapshot struct {
	Installs      InstallsByNamespace
	Meshes        MeshesByNamespace
	Meshingresses MeshingressesByNamespace
}

func (InstallSnapshot) Clone

func (s InstallSnapshot) Clone() InstallSnapshot

func (InstallSnapshot) Hash

func (s InstallSnapshot) Hash() uint64

func (InstallSnapshot) HashFields

func (s InstallSnapshot) HashFields() []zap.Field

func (InstallSnapshot) Stringer

type InstallSnapshotStringer

type InstallSnapshotStringer struct {
	Version       uint64
	Installs      []string
	Meshes        []string
	Meshingresses []string
}

func (InstallSnapshotStringer) String

func (ss InstallSnapshotStringer) String() string

type InstallSyncer

type InstallSyncer interface {
	Sync(context.Context, *InstallSnapshot) error
}

type InstallSyncers

type InstallSyncers []InstallSyncer

func (InstallSyncers) Sync

func (s InstallSyncers) Sync(ctx context.Context, snapshot *InstallSnapshot) error

type Install_Ingress

type Install_Ingress struct {
	Ingress *MeshIngressInstall `protobuf:"bytes,3,opt,name=ingress,proto3,oneof"`
}

func (*Install_Ingress) Equal

func (this *Install_Ingress) Equal(that interface{}) bool

type Install_Mesh

type Install_Mesh struct {
	Mesh *MeshInstall `protobuf:"bytes,2,opt,name=mesh,proto3,oneof"`
}

func (*Install_Mesh) Equal

func (this *Install_Mesh) Equal(that interface{}) bool

type InstallsByNamespace

type InstallsByNamespace map[string]InstallList

func (InstallsByNamespace) Add

func (byNamespace InstallsByNamespace) Add(install ...*Install)

func (InstallsByNamespace) Clear

func (byNamespace InstallsByNamespace) Clear(namespace string)

func (InstallsByNamespace) Clone

func (byNamespace InstallsByNamespace) Clone() InstallsByNamespace

func (InstallsByNamespace) List

func (byNamespace InstallsByNamespace) List() InstallList

type IstioDiscoveryEmitter added in v0.3.11

type IstioDiscoveryEmitter interface {
	Register() error
	Mesh() MeshClient
	Install() InstallClient
	MeshPolicy() istio_authentication_v1alpha1.MeshPolicyClient
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *IstioDiscoverySnapshot, <-chan error, error)
}

func NewIstioDiscoveryEmitter added in v0.3.11

func NewIstioDiscoveryEmitter(meshClient MeshClient, installClient InstallClient, meshPolicyClient istio_authentication_v1alpha1.MeshPolicyClient) IstioDiscoveryEmitter

func NewIstioDiscoveryEmitterWithEmit added in v0.3.11

func NewIstioDiscoveryEmitterWithEmit(meshClient MeshClient, installClient InstallClient, meshPolicyClient istio_authentication_v1alpha1.MeshPolicyClient, emit <-chan struct{}) IstioDiscoveryEmitter

type IstioDiscoverySnapshot added in v0.3.11

type IstioDiscoverySnapshot struct {
	Meshes       MeshesByNamespace
	Installs     InstallsByNamespace
	Meshpolicies istio_authentication_v1alpha1.MeshPolicyList
}

func (IstioDiscoverySnapshot) Clone added in v0.3.11

func (IstioDiscoverySnapshot) Hash added in v0.3.11

func (s IstioDiscoverySnapshot) Hash() uint64

func (IstioDiscoverySnapshot) HashFields added in v0.3.11

func (s IstioDiscoverySnapshot) HashFields() []zap.Field

func (IstioDiscoverySnapshot) Stringer added in v0.3.11

type IstioDiscoverySnapshotStringer added in v0.3.11

type IstioDiscoverySnapshotStringer struct {
	Version      uint64
	Meshes       []string
	Installs     []string
	Meshpolicies []string
}

func (IstioDiscoverySnapshotStringer) String added in v0.3.11

type IstioDiscoverySyncer added in v0.3.11

type IstioDiscoverySyncer interface {
	Sync(context.Context, *IstioDiscoverySnapshot) error
}

type IstioDiscoverySyncers added in v0.3.11

type IstioDiscoverySyncers []IstioDiscoverySyncer

func (IstioDiscoverySyncers) Sync added in v0.3.11

type IstioInstall

type IstioInstall struct {
	// which version of the istio helm chart to install
	IstioVersion string `protobuf:"bytes,2,opt,name=istio_version,json=istioVersion,proto3" json:"istio_version,omitempty"`
	// enable auto injection of pods
	EnableAutoInject bool `protobuf:"varint,3,opt,name=enable_auto_inject,json=enableAutoInject,proto3" json:"enable_auto_inject,omitempty"`
	// enable mutual tls between pods
	EnableMtls bool `protobuf:"varint,4,opt,name=enable_mtls,json=enableMtls,proto3" json:"enable_mtls,omitempty"`
	// optional. set to use a custom root ca
	// to issue certificates for mtls
	// ignored if mtls is disabled
	CustomRootCert *core.ResourceRef `protobuf:"bytes,9,opt,name=custom_root_cert,json=customRootCert,proto3" json:"custom_root_cert,omitempty"`
	// install grafana with istio
	InstallGrafana bool `protobuf:"varint,6,opt,name=install_grafana,json=installGrafana,proto3" json:"install_grafana,omitempty"`
	// install prometheus with istio
	InstallPrometheus bool `protobuf:"varint,7,opt,name=install_prometheus,json=installPrometheus,proto3" json:"install_prometheus,omitempty"`
	// install jaeger with istio
	InstallJaeger        bool     `protobuf:"varint,8,opt,name=install_jaeger,json=installJaeger,proto3" json:"install_jaeger,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Installation options for Istio

func (*IstioInstall) Descriptor

func (*IstioInstall) Descriptor() ([]byte, []int)

func (*IstioInstall) Equal

func (this *IstioInstall) Equal(that interface{}) bool

func (*IstioInstall) GetCustomRootCert

func (m *IstioInstall) GetCustomRootCert() *core.ResourceRef

func (*IstioInstall) GetEnableAutoInject

func (m *IstioInstall) GetEnableAutoInject() bool

func (*IstioInstall) GetEnableMtls

func (m *IstioInstall) GetEnableMtls() bool

func (*IstioInstall) GetInstallGrafana

func (m *IstioInstall) GetInstallGrafana() bool

func (*IstioInstall) GetInstallJaeger

func (m *IstioInstall) GetInstallJaeger() bool

func (*IstioInstall) GetInstallPrometheus

func (m *IstioInstall) GetInstallPrometheus() bool

func (*IstioInstall) GetIstioVersion

func (m *IstioInstall) GetIstioVersion() string

func (*IstioInstall) ProtoMessage

func (*IstioInstall) ProtoMessage()

func (*IstioInstall) Reset

func (m *IstioInstall) Reset()

func (*IstioInstall) String

func (m *IstioInstall) String() string

func (*IstioInstall) XXX_DiscardUnknown

func (m *IstioInstall) XXX_DiscardUnknown()

func (*IstioInstall) XXX_Marshal

func (m *IstioInstall) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IstioInstall) XXX_Merge

func (m *IstioInstall) XXX_Merge(src proto.Message)

func (*IstioInstall) XXX_Size

func (m *IstioInstall) XXX_Size() int

func (*IstioInstall) XXX_Unmarshal

func (m *IstioInstall) XXX_Unmarshal(b []byte) error

type IstioMesh

type IstioMesh struct {
	// where the istio control plane has been installed
	InstallationNamespace string `protobuf:"bytes,1,opt,name=installation_namespace,json=installationNamespace,proto3" json:"installation_namespace,omitempty"`
	// version of istio which has been installed
	IstioVersion         string   `protobuf:"bytes,2,opt,name=istio_version,json=istioVersion,proto3" json:"istio_version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Mesh object representing an installed Istio control plane

func (*IstioMesh) Descriptor

func (*IstioMesh) Descriptor() ([]byte, []int)

func (*IstioMesh) Equal

func (this *IstioMesh) Equal(that interface{}) bool

func (*IstioMesh) GetInstallationNamespace

func (m *IstioMesh) GetInstallationNamespace() string

func (*IstioMesh) GetIstioVersion added in v0.3.9

func (m *IstioMesh) GetIstioVersion() string

func (*IstioMesh) ProtoMessage

func (*IstioMesh) ProtoMessage()

func (*IstioMesh) Reset

func (m *IstioMesh) Reset()

func (*IstioMesh) String

func (m *IstioMesh) String() string

func (*IstioMesh) XXX_DiscardUnknown

func (m *IstioMesh) XXX_DiscardUnknown()

func (*IstioMesh) XXX_Marshal

func (m *IstioMesh) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IstioMesh) XXX_Merge

func (m *IstioMesh) XXX_Merge(src proto.Message)

func (*IstioMesh) XXX_Size

func (m *IstioMesh) XXX_Size() int

func (*IstioMesh) XXX_Unmarshal

func (m *IstioMesh) XXX_Unmarshal(b []byte) error

type LinkerdDiscoveryEmitter added in v0.3.11

type LinkerdDiscoveryEmitter interface {
	Register() error
	Mesh() MeshClient
	Install() InstallClient
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *LinkerdDiscoverySnapshot, <-chan error, error)
}

func NewLinkerdDiscoveryEmitter added in v0.3.11

func NewLinkerdDiscoveryEmitter(meshClient MeshClient, installClient InstallClient) LinkerdDiscoveryEmitter

func NewLinkerdDiscoveryEmitterWithEmit added in v0.3.11

func NewLinkerdDiscoveryEmitterWithEmit(meshClient MeshClient, installClient InstallClient, emit <-chan struct{}) LinkerdDiscoveryEmitter

type LinkerdDiscoverySnapshot added in v0.3.11

type LinkerdDiscoverySnapshot struct {
	Meshes   MeshesByNamespace
	Installs InstallsByNamespace
}

func (LinkerdDiscoverySnapshot) Clone added in v0.3.11

func (LinkerdDiscoverySnapshot) Hash added in v0.3.11

func (LinkerdDiscoverySnapshot) HashFields added in v0.3.11

func (s LinkerdDiscoverySnapshot) HashFields() []zap.Field

func (LinkerdDiscoverySnapshot) Stringer added in v0.3.11

type LinkerdDiscoverySnapshotStringer added in v0.3.11

type LinkerdDiscoverySnapshotStringer struct {
	Version  uint64
	Meshes   []string
	Installs []string
}

func (LinkerdDiscoverySnapshotStringer) String added in v0.3.11

type LinkerdDiscoverySyncer added in v0.3.11

type LinkerdDiscoverySyncer interface {
	Sync(context.Context, *LinkerdDiscoverySnapshot) error
}

type LinkerdDiscoverySyncers added in v0.3.11

type LinkerdDiscoverySyncers []LinkerdDiscoverySyncer

func (LinkerdDiscoverySyncers) Sync added in v0.3.11

type LinkerdInstall added in v0.3.9

type LinkerdInstall struct {
	// which version of the Linkerd helm chart to install
	LinkerdVersion string `protobuf:"bytes,2,opt,name=linkerd_version,json=linkerdVersion,proto3" json:"linkerd_version,omitempty"`
	// enable auto injection of pods
	EnableAutoInject bool `protobuf:"varint,3,opt,name=enable_auto_inject,json=enableAutoInject,proto3" json:"enable_auto_inject,omitempty"`
	// enable mutual tls between pods
	EnableMtls           bool     `protobuf:"varint,4,opt,name=enable_mtls,json=enableMtls,proto3" json:"enable_mtls,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Installation options for Linkerd

func (*LinkerdInstall) Descriptor added in v0.3.9

func (*LinkerdInstall) Descriptor() ([]byte, []int)

func (*LinkerdInstall) Equal added in v0.3.9

func (this *LinkerdInstall) Equal(that interface{}) bool

func (*LinkerdInstall) GetEnableAutoInject added in v0.3.9

func (m *LinkerdInstall) GetEnableAutoInject() bool

func (*LinkerdInstall) GetEnableMtls added in v0.3.9

func (m *LinkerdInstall) GetEnableMtls() bool

func (*LinkerdInstall) GetLinkerdVersion added in v0.3.9

func (m *LinkerdInstall) GetLinkerdVersion() string

func (*LinkerdInstall) ProtoMessage added in v0.3.9

func (*LinkerdInstall) ProtoMessage()

func (*LinkerdInstall) Reset added in v0.3.9

func (m *LinkerdInstall) Reset()

func (*LinkerdInstall) String added in v0.3.9

func (m *LinkerdInstall) String() string

func (*LinkerdInstall) XXX_DiscardUnknown added in v0.3.9

func (m *LinkerdInstall) XXX_DiscardUnknown()

func (*LinkerdInstall) XXX_Marshal added in v0.3.9

func (m *LinkerdInstall) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LinkerdInstall) XXX_Merge added in v0.3.9

func (m *LinkerdInstall) XXX_Merge(src proto.Message)

func (*LinkerdInstall) XXX_Size added in v0.3.9

func (m *LinkerdInstall) XXX_Size() int

func (*LinkerdInstall) XXX_Unmarshal added in v0.3.9

func (m *LinkerdInstall) XXX_Unmarshal(b []byte) error

type LinkerdMesh added in v0.3.9

type LinkerdMesh struct {
	// where the Linkerd control plane has been installed
	InstallationNamespace string `protobuf:"bytes,1,opt,name=installation_namespace,json=installationNamespace,proto3" json:"installation_namespace,omitempty"`
	// version of istio which has been installed
	LinkerdVersion       string   `protobuf:"bytes,2,opt,name=linkerd_version,json=linkerdVersion,proto3" json:"linkerd_version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Mesh object representing an installed Linkerd control plane

func (*LinkerdMesh) Descriptor added in v0.3.9

func (*LinkerdMesh) Descriptor() ([]byte, []int)

func (*LinkerdMesh) Equal added in v0.3.9

func (this *LinkerdMesh) Equal(that interface{}) bool

func (*LinkerdMesh) GetInstallationNamespace added in v0.3.9

func (m *LinkerdMesh) GetInstallationNamespace() string

func (*LinkerdMesh) GetLinkerdVersion added in v0.3.11

func (m *LinkerdMesh) GetLinkerdVersion() string

func (*LinkerdMesh) ProtoMessage added in v0.3.9

func (*LinkerdMesh) ProtoMessage()

func (*LinkerdMesh) Reset added in v0.3.9

func (m *LinkerdMesh) Reset()

func (*LinkerdMesh) String added in v0.3.9

func (m *LinkerdMesh) String() string

func (*LinkerdMesh) XXX_DiscardUnknown added in v0.3.9

func (m *LinkerdMesh) XXX_DiscardUnknown()

func (*LinkerdMesh) XXX_Marshal added in v0.3.9

func (m *LinkerdMesh) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LinkerdMesh) XXX_Merge added in v0.3.9

func (m *LinkerdMesh) XXX_Merge(src proto.Message)

func (*LinkerdMesh) XXX_Size added in v0.3.9

func (m *LinkerdMesh) XXX_Size() int

func (*LinkerdMesh) XXX_Unmarshal added in v0.3.9

func (m *LinkerdMesh) XXX_Unmarshal(b []byte) error

type Mesh

type Mesh struct {
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by supergloo during validation
	Status core.Status `protobuf:"bytes,100,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,101,opt,name=metadata,proto3" json:"metadata"`
	// Types that are valid to be assigned to MeshType:
	//	*Mesh_Istio
	//	*Mesh_AwsAppMesh
	//	*Mesh_LinkerdMesh
	MeshType isMesh_MeshType `protobuf_oneof:"mesh_type"`
	// mtls config specifies configuration options for enabling mutual
	// tls between pods in this mesh
	MtlsConfig *MtlsConfig `protobuf:"bytes,2,opt,name=mtls_config,json=mtlsConfig,proto3" json:"mtls_config,omitempty"`
	// configuration for propagating stats and metrics from
	// mesh controllers and sidecars to a centralized datastore
	// such as prometheus
	MonitoringConfig *MonitoringConfig `protobuf:"bytes,3,opt,name=monitoring_config,json=monitoringConfig,proto3" json:"monitoring_config,omitempty"`
	// object which represents the data mesh discovery finds about a given mesh
	DiscoveryMetadata    *DiscoveryMetadata `protobuf:"bytes,6,opt,name=discovery_metadata,json=discoveryMetadata,proto3" json:"discovery_metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

Meshes represent a currently registered service mesh.

func NewMesh

func NewMesh(namespace, name string) *Mesh

func (*Mesh) DeepCopyObject

func (o *Mesh) DeepCopyObject() runtime.Object

func (*Mesh) Descriptor

func (*Mesh) Descriptor() ([]byte, []int)

func (*Mesh) Equal

func (this *Mesh) Equal(that interface{}) bool

func (*Mesh) GetAwsAppMesh

func (m *Mesh) GetAwsAppMesh() *AwsAppMesh

func (*Mesh) GetDiscoveryMetadata added in v0.3.9

func (m *Mesh) GetDiscoveryMetadata() *DiscoveryMetadata

func (*Mesh) GetIstio

func (m *Mesh) GetIstio() *IstioMesh

func (*Mesh) GetLinkerdMesh added in v0.3.9

func (m *Mesh) GetLinkerdMesh() *LinkerdMesh

func (*Mesh) GetMeshType

func (m *Mesh) GetMeshType() isMesh_MeshType

func (*Mesh) GetMetadata

func (m *Mesh) GetMetadata() core.Metadata

func (*Mesh) GetMonitoringConfig

func (m *Mesh) GetMonitoringConfig() *MonitoringConfig

func (*Mesh) GetMtlsConfig

func (m *Mesh) GetMtlsConfig() *MtlsConfig

func (*Mesh) GetObjectKind

func (o *Mesh) GetObjectKind() schema.ObjectKind

func (*Mesh) GetStatus

func (m *Mesh) GetStatus() core.Status

func (*Mesh) Hash

func (r *Mesh) Hash() uint64

func (*Mesh) ProtoMessage

func (*Mesh) ProtoMessage()

func (*Mesh) Reset

func (m *Mesh) Reset()

func (*Mesh) SetMetadata

func (r *Mesh) SetMetadata(meta core.Metadata)

func (*Mesh) SetStatus

func (r *Mesh) SetStatus(status core.Status)

func (*Mesh) String

func (m *Mesh) String() string

func (*Mesh) XXX_DiscardUnknown

func (m *Mesh) XXX_DiscardUnknown()

func (*Mesh) XXX_Marshal

func (m *Mesh) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Mesh) XXX_Merge

func (m *Mesh) XXX_Merge(src proto.Message)

func (*Mesh) XXX_OneofFuncs

func (*Mesh) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Mesh) XXX_Size

func (m *Mesh) XXX_Size() int

func (*Mesh) XXX_Unmarshal

func (m *Mesh) XXX_Unmarshal(b []byte) error

type MeshClient

type MeshClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Mesh, error)
	Write(resource *Mesh, opts clients.WriteOpts) (*Mesh, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (MeshList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan MeshList, <-chan error, error)
}

func NewMeshClient

func NewMeshClient(rcFactory factory.ResourceClientFactory) (MeshClient, error)

func NewMeshClientWithBase

func NewMeshClientWithBase(rc clients.ResourceClient) MeshClient

func NewMeshClientWithToken

func NewMeshClientWithToken(rcFactory factory.ResourceClientFactory, token string) (MeshClient, error)

type MeshGroup

type MeshGroup struct {
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by supergloo during validation
	Status core.Status `protobuf:"bytes,100,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,101,opt,name=metadata,proto3" json:"metadata"`
	// the meshes contained in this group
	Meshes               []*core.ResourceRef `protobuf:"bytes,3,rep,name=meshes,proto3" json:"meshes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func NewMeshGroup

func NewMeshGroup(namespace, name string) *MeshGroup

func (*MeshGroup) DeepCopyObject

func (o *MeshGroup) DeepCopyObject() runtime.Object

func (*MeshGroup) Descriptor

func (*MeshGroup) Descriptor() ([]byte, []int)

func (*MeshGroup) Equal

func (this *MeshGroup) Equal(that interface{}) bool

func (*MeshGroup) GetMeshes

func (m *MeshGroup) GetMeshes() []*core.ResourceRef

func (*MeshGroup) GetMetadata

func (m *MeshGroup) GetMetadata() core.Metadata

func (*MeshGroup) GetObjectKind

func (o *MeshGroup) GetObjectKind() schema.ObjectKind

func (*MeshGroup) GetStatus

func (m *MeshGroup) GetStatus() core.Status

func (*MeshGroup) Hash

func (r *MeshGroup) Hash() uint64

func (*MeshGroup) ProtoMessage

func (*MeshGroup) ProtoMessage()

func (*MeshGroup) Reset

func (m *MeshGroup) Reset()

func (*MeshGroup) SetMetadata

func (r *MeshGroup) SetMetadata(meta core.Metadata)

func (*MeshGroup) SetStatus

func (r *MeshGroup) SetStatus(status core.Status)

func (*MeshGroup) String

func (m *MeshGroup) String() string

func (*MeshGroup) XXX_DiscardUnknown

func (m *MeshGroup) XXX_DiscardUnknown()

func (*MeshGroup) XXX_Marshal

func (m *MeshGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MeshGroup) XXX_Merge

func (m *MeshGroup) XXX_Merge(src proto.Message)

func (*MeshGroup) XXX_Size

func (m *MeshGroup) XXX_Size() int

func (*MeshGroup) XXX_Unmarshal

func (m *MeshGroup) XXX_Unmarshal(b []byte) error

type MeshGroupClient

type MeshGroupClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*MeshGroup, error)
	Write(resource *MeshGroup, opts clients.WriteOpts) (*MeshGroup, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (MeshGroupList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan MeshGroupList, <-chan error, error)
}

func NewMeshGroupClient

func NewMeshGroupClient(rcFactory factory.ResourceClientFactory) (MeshGroupClient, error)

func NewMeshGroupClientWithBase

func NewMeshGroupClientWithBase(rc clients.ResourceClient) MeshGroupClient

func NewMeshGroupClientWithToken

func NewMeshGroupClientWithToken(rcFactory factory.ResourceClientFactory, token string) (MeshGroupClient, error)

type MeshGroupList

type MeshGroupList []*MeshGroup

func (MeshGroupList) AsInputResources

func (list MeshGroupList) AsInputResources() resources.InputResourceList

func (MeshGroupList) AsInterfaces

func (list MeshGroupList) AsInterfaces() []interface{}

func (MeshGroupList) AsResources

func (list MeshGroupList) AsResources() resources.ResourceList

func (MeshGroupList) Clone

func (list MeshGroupList) Clone() MeshGroupList

func (MeshGroupList) Each

func (list MeshGroupList) Each(f func(element *MeshGroup))

func (MeshGroupList) Find

func (list MeshGroupList) Find(namespace, name string) (*MeshGroup, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (MeshGroupList) Names

func (list MeshGroupList) Names() []string

func (MeshGroupList) NamespacesDotNames

func (list MeshGroupList) NamespacesDotNames() []string

func (MeshGroupList) Sort

func (list MeshGroupList) Sort() MeshGroupList

type MeshGroupReconciler

type MeshGroupReconciler interface {
	Reconcile(namespace string, desiredResources MeshGroupList, transition TransitionMeshGroupFunc, opts clients.ListOpts) error
}

func NewMeshGroupReconciler

func NewMeshGroupReconciler(client MeshGroupClient) MeshGroupReconciler

type MeshIngress

type MeshIngress struct {
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by supergloo during validation
	Status core.Status `protobuf:"bytes,100,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,101,opt,name=metadata,proto3" json:"metadata"`
	// type of Mesh ingress represented by this resource
	//
	// Types that are valid to be assigned to MeshIngressType:
	//	*MeshIngress_Gloo
	MeshIngressType isMeshIngress_MeshIngressType `protobuf_oneof:"mesh_ingress_type"`
	// where the ingress has been installed
	InstallationNamespace string `protobuf:"bytes,2,opt,name=installation_namespace,json=installationNamespace,proto3" json:"installation_namespace,omitempty"`
	// reference to the Mesh(s) that this ingress is acting upon
	// enable the ingress to route to services within these mTLS-enabled meshes
	Meshes               []*core.ResourceRef `protobuf:"bytes,3,rep,name=meshes,proto3" json:"meshes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

MeshIngress represents a managed ingress (edge router) which can proxy connections for services in Mesh managed by SuperGloo. SuperGloo will perform additional configuration, if necessary, to enable proxying services which are using mTLS for communication.

func NewMeshIngress

func NewMeshIngress(namespace, name string) *MeshIngress

func (*MeshIngress) DeepCopyObject

func (o *MeshIngress) DeepCopyObject() runtime.Object

func (*MeshIngress) Descriptor

func (*MeshIngress) Descriptor() ([]byte, []int)

func (*MeshIngress) Equal

func (this *MeshIngress) Equal(that interface{}) bool

func (*MeshIngress) GetGloo

func (m *MeshIngress) GetGloo() *GlooMeshIngress

func (*MeshIngress) GetInstallationNamespace

func (m *MeshIngress) GetInstallationNamespace() string

func (*MeshIngress) GetMeshIngressType

func (m *MeshIngress) GetMeshIngressType() isMeshIngress_MeshIngressType

func (*MeshIngress) GetMeshes

func (m *MeshIngress) GetMeshes() []*core.ResourceRef

func (*MeshIngress) GetMetadata

func (m *MeshIngress) GetMetadata() core.Metadata

func (*MeshIngress) GetObjectKind

func (o *MeshIngress) GetObjectKind() schema.ObjectKind

func (*MeshIngress) GetStatus

func (m *MeshIngress) GetStatus() core.Status

func (*MeshIngress) Hash

func (r *MeshIngress) Hash() uint64

func (*MeshIngress) ProtoMessage

func (*MeshIngress) ProtoMessage()

func (*MeshIngress) Reset

func (m *MeshIngress) Reset()

func (*MeshIngress) SetMetadata

func (r *MeshIngress) SetMetadata(meta core.Metadata)

func (*MeshIngress) SetStatus

func (r *MeshIngress) SetStatus(status core.Status)

func (*MeshIngress) String

func (m *MeshIngress) String() string

func (*MeshIngress) XXX_DiscardUnknown

func (m *MeshIngress) XXX_DiscardUnknown()

func (*MeshIngress) XXX_Marshal

func (m *MeshIngress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MeshIngress) XXX_Merge

func (m *MeshIngress) XXX_Merge(src proto.Message)

func (*MeshIngress) XXX_OneofFuncs

func (*MeshIngress) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*MeshIngress) XXX_Size

func (m *MeshIngress) XXX_Size() int

func (*MeshIngress) XXX_Unmarshal

func (m *MeshIngress) XXX_Unmarshal(b []byte) error

type MeshIngressClient

type MeshIngressClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*MeshIngress, error)
	Write(resource *MeshIngress, opts clients.WriteOpts) (*MeshIngress, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (MeshIngressList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan MeshIngressList, <-chan error, error)
}

func NewMeshIngressClient

func NewMeshIngressClient(rcFactory factory.ResourceClientFactory) (MeshIngressClient, error)

func NewMeshIngressClientWithBase

func NewMeshIngressClientWithBase(rc clients.ResourceClient) MeshIngressClient

func NewMeshIngressClientWithToken

func NewMeshIngressClientWithToken(rcFactory factory.ResourceClientFactory, token string) (MeshIngressClient, error)

type MeshIngressInstall

type MeshIngressInstall struct {
	// The type of mesh to install
	// currently only gloo is supported
	//
	// Types that are valid to be assigned to IngressInstallType:
	//	*MeshIngressInstall_Gloo
	IngressInstallType isMeshIngressInstall_IngressInstallType `protobuf_oneof:"ingress_install_type"`
	// reference to the Ingress crd that was created from this install
	// read-only, set by the server after successful installation.
	InstalledIngress     *core.ResourceRef `protobuf:"bytes,3,opt,name=installed_ingress,json=installedIngress,proto3" json:"installed_ingress,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

Generic container for ingress installs handled by supergloo

Holds all configuration shared between different ingress types

func (*MeshIngressInstall) Descriptor

func (*MeshIngressInstall) Descriptor() ([]byte, []int)

func (*MeshIngressInstall) Equal

func (this *MeshIngressInstall) Equal(that interface{}) bool

func (*MeshIngressInstall) GetGloo

func (m *MeshIngressInstall) GetGloo() *GlooInstall

func (*MeshIngressInstall) GetIngressInstallType

func (m *MeshIngressInstall) GetIngressInstallType() isMeshIngressInstall_IngressInstallType

func (*MeshIngressInstall) GetInstalledIngress

func (m *MeshIngressInstall) GetInstalledIngress() *core.ResourceRef

func (*MeshIngressInstall) ProtoMessage

func (*MeshIngressInstall) ProtoMessage()

func (*MeshIngressInstall) Reset

func (m *MeshIngressInstall) Reset()

func (*MeshIngressInstall) String

func (m *MeshIngressInstall) String() string

func (*MeshIngressInstall) XXX_DiscardUnknown

func (m *MeshIngressInstall) XXX_DiscardUnknown()

func (*MeshIngressInstall) XXX_Marshal

func (m *MeshIngressInstall) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MeshIngressInstall) XXX_Merge

func (m *MeshIngressInstall) XXX_Merge(src proto.Message)

func (*MeshIngressInstall) XXX_OneofFuncs

func (*MeshIngressInstall) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*MeshIngressInstall) XXX_Size

func (m *MeshIngressInstall) XXX_Size() int

func (*MeshIngressInstall) XXX_Unmarshal

func (m *MeshIngressInstall) XXX_Unmarshal(b []byte) error

type MeshIngressInstall_Gloo

type MeshIngressInstall_Gloo struct {
	Gloo *GlooInstall `protobuf:"bytes,1,opt,name=gloo,proto3,oneof"`
}

func (*MeshIngressInstall_Gloo) Equal

func (this *MeshIngressInstall_Gloo) Equal(that interface{}) bool

type MeshIngressList

type MeshIngressList []*MeshIngress

func (MeshIngressList) AsInputResources

func (list MeshIngressList) AsInputResources() resources.InputResourceList

func (MeshIngressList) AsInterfaces

func (list MeshIngressList) AsInterfaces() []interface{}

func (MeshIngressList) AsResources

func (list MeshIngressList) AsResources() resources.ResourceList

func (MeshIngressList) Clone

func (list MeshIngressList) Clone() MeshIngressList

func (MeshIngressList) Each

func (list MeshIngressList) Each(f func(element *MeshIngress))

func (MeshIngressList) Find

func (list MeshIngressList) Find(namespace, name string) (*MeshIngress, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (MeshIngressList) Names

func (list MeshIngressList) Names() []string

func (MeshIngressList) NamespacesDotNames

func (list MeshIngressList) NamespacesDotNames() []string

func (MeshIngressList) Sort

func (list MeshIngressList) Sort() MeshIngressList

type MeshIngressReconciler

type MeshIngressReconciler interface {
	Reconcile(namespace string, desiredResources MeshIngressList, transition TransitionMeshIngressFunc, opts clients.ListOpts) error
}

func NewMeshIngressReconciler

func NewMeshIngressReconciler(client MeshIngressClient) MeshIngressReconciler

type MeshIngress_Gloo

type MeshIngress_Gloo struct {
	Gloo *GlooMeshIngress `protobuf:"bytes,1,opt,name=gloo,proto3,oneof"`
}

func (*MeshIngress_Gloo) Equal

func (this *MeshIngress_Gloo) Equal(that interface{}) bool

type MeshInstall

type MeshInstall struct {
	// The type of mesh to install
	// currently only istio is supported
	//
	// Types that are valid to be assigned to MeshInstallType:
	//	*MeshInstall_IstioMesh
	//	*MeshInstall_LinkerdMesh
	MeshInstallType      isMeshInstall_MeshInstallType `protobuf_oneof:"mesh_install_type"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

Generic container for mesh installs handled by supergloo

Holds all configuration shared between different mesh types

func (*MeshInstall) Descriptor

func (*MeshInstall) Descriptor() ([]byte, []int)

func (*MeshInstall) Equal

func (this *MeshInstall) Equal(that interface{}) bool

func (*MeshInstall) GetIstioMesh

func (m *MeshInstall) GetIstioMesh() *IstioInstall

func (*MeshInstall) GetLinkerdMesh added in v0.3.9

func (m *MeshInstall) GetLinkerdMesh() *LinkerdInstall

func (*MeshInstall) GetMeshInstallType

func (m *MeshInstall) GetMeshInstallType() isMeshInstall_MeshInstallType

func (*MeshInstall) ProtoMessage

func (*MeshInstall) ProtoMessage()

func (*MeshInstall) Reset

func (m *MeshInstall) Reset()

func (*MeshInstall) String

func (m *MeshInstall) String() string

func (*MeshInstall) XXX_DiscardUnknown

func (m *MeshInstall) XXX_DiscardUnknown()

func (*MeshInstall) XXX_Marshal

func (m *MeshInstall) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MeshInstall) XXX_Merge

func (m *MeshInstall) XXX_Merge(src proto.Message)

func (*MeshInstall) XXX_OneofFuncs

func (*MeshInstall) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*MeshInstall) XXX_Size

func (m *MeshInstall) XXX_Size() int

func (*MeshInstall) XXX_Unmarshal

func (m *MeshInstall) XXX_Unmarshal(b []byte) error

type MeshInstall_IstioMesh

type MeshInstall_IstioMesh struct {
	IstioMesh *IstioInstall `protobuf:"bytes,2,opt,name=istio_mesh,json=istioMesh,proto3,oneof"`
}

func (*MeshInstall_IstioMesh) Equal

func (this *MeshInstall_IstioMesh) Equal(that interface{}) bool

type MeshInstall_LinkerdMesh added in v0.3.9

type MeshInstall_LinkerdMesh struct {
	LinkerdMesh *LinkerdInstall `protobuf:"bytes,3,opt,name=linkerd_mesh,json=linkerdMesh,proto3,oneof"`
}

func (*MeshInstall_LinkerdMesh) Equal added in v0.3.9

func (this *MeshInstall_LinkerdMesh) Equal(that interface{}) bool

type MeshList

type MeshList []*Mesh

func (MeshList) AsInputResources

func (list MeshList) AsInputResources() resources.InputResourceList

func (MeshList) AsInterfaces

func (list MeshList) AsInterfaces() []interface{}

func (MeshList) AsResources

func (list MeshList) AsResources() resources.ResourceList

func (MeshList) Clone

func (list MeshList) Clone() MeshList

func (MeshList) Each

func (list MeshList) Each(f func(element *Mesh))

func (MeshList) Find

func (list MeshList) Find(namespace, name string) (*Mesh, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (MeshList) Names

func (list MeshList) Names() []string

func (MeshList) NamespacesDotNames

func (list MeshList) NamespacesDotNames() []string

func (MeshList) Sort

func (list MeshList) Sort() MeshList

type MeshReconciler

type MeshReconciler interface {
	Reconcile(namespace string, desiredResources MeshList, transition TransitionMeshFunc, opts clients.ListOpts) error
}

func NewMeshReconciler

func NewMeshReconciler(client MeshClient) MeshReconciler

type Mesh_AwsAppMesh

type Mesh_AwsAppMesh struct {
	AwsAppMesh *AwsAppMesh `protobuf:"bytes,4,opt,name=aws_app_mesh,json=awsAppMesh,proto3,oneof"`
}

func (*Mesh_AwsAppMesh) Equal

func (this *Mesh_AwsAppMesh) Equal(that interface{}) bool

type Mesh_Istio

type Mesh_Istio struct {
	Istio *IstioMesh `protobuf:"bytes,1,opt,name=istio,proto3,oneof"`
}

func (*Mesh_Istio) Equal

func (this *Mesh_Istio) Equal(that interface{}) bool

type Mesh_LinkerdMesh added in v0.3.9

type Mesh_LinkerdMesh struct {
	LinkerdMesh *LinkerdMesh `protobuf:"bytes,5,opt,name=linkerd_mesh,json=linkerdMesh,proto3,oneof"`
}

func (*Mesh_LinkerdMesh) Equal added in v0.3.9

func (this *Mesh_LinkerdMesh) Equal(that interface{}) bool

type MeshesByNamespace

type MeshesByNamespace map[string]MeshList

func (MeshesByNamespace) Add

func (byNamespace MeshesByNamespace) Add(mesh ...*Mesh)

func (MeshesByNamespace) Clear

func (byNamespace MeshesByNamespace) Clear(namespace string)

func (MeshesByNamespace) Clone

func (byNamespace MeshesByNamespace) Clone() MeshesByNamespace

func (MeshesByNamespace) List

func (byNamespace MeshesByNamespace) List() MeshList

type MeshgroupsByNamespace

type MeshgroupsByNamespace map[string]MeshGroupList

func (MeshgroupsByNamespace) Add

func (byNamespace MeshgroupsByNamespace) Add(meshGroup ...*MeshGroup)

func (MeshgroupsByNamespace) Clear

func (byNamespace MeshgroupsByNamespace) Clear(namespace string)

func (MeshgroupsByNamespace) Clone

func (byNamespace MeshgroupsByNamespace) Clone() MeshgroupsByNamespace

func (MeshgroupsByNamespace) List

func (byNamespace MeshgroupsByNamespace) List() MeshGroupList

type MeshingressesByNamespace

type MeshingressesByNamespace map[string]MeshIngressList

func (MeshingressesByNamespace) Add

func (byNamespace MeshingressesByNamespace) Add(meshIngress ...*MeshIngress)

func (MeshingressesByNamespace) Clear

func (byNamespace MeshingressesByNamespace) Clear(namespace string)

func (MeshingressesByNamespace) Clone

func (MeshingressesByNamespace) List

func (byNamespace MeshingressesByNamespace) List() MeshIngressList

type MonitoringConfig

type MonitoringConfig struct {
	// indicates to supergloo that metrics should be propagated to one or more instances of prometheus.
	// add a [`core.solo.io.ResourceRef`](../../../../solo-kit/api/v1/ref.proto.sk#ResourceRef) for each
	// NAMESPACE.NAME of the configmap used to configure each prometheus instance.
	// assumes that the configmap contains a key named `prometheus.yml` whose value
	// is the prometheus yaml config as an inline string
	PrometheusConfigmaps []core.ResourceRef `protobuf:"bytes,1,rep,name=prometheus_configmaps,json=prometheusConfigmaps,proto3" json:"prometheus_configmaps"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

Contains configuration options for monitoring a mesh Currently MonitoringConfig only contains options for configuring an in-cluster Prometheus instance to scrape a mesh for metrics

func (*MonitoringConfig) Descriptor

func (*MonitoringConfig) Descriptor() ([]byte, []int)

func (*MonitoringConfig) Equal

func (this *MonitoringConfig) Equal(that interface{}) bool

func (*MonitoringConfig) GetPrometheusConfigmaps

func (m *MonitoringConfig) GetPrometheusConfigmaps() []core.ResourceRef

func (*MonitoringConfig) ProtoMessage

func (*MonitoringConfig) ProtoMessage()

func (*MonitoringConfig) Reset

func (m *MonitoringConfig) Reset()

func (*MonitoringConfig) String

func (m *MonitoringConfig) String() string

func (*MonitoringConfig) XXX_DiscardUnknown

func (m *MonitoringConfig) XXX_DiscardUnknown()

func (*MonitoringConfig) XXX_Marshal

func (m *MonitoringConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MonitoringConfig) XXX_Merge

func (m *MonitoringConfig) XXX_Merge(src proto.Message)

func (*MonitoringConfig) XXX_Size

func (m *MonitoringConfig) XXX_Size() int

func (*MonitoringConfig) XXX_Unmarshal

func (m *MonitoringConfig) XXX_Unmarshal(b []byte) error

type MtlsConfig

type MtlsConfig struct {
	// whether or not mutual TLS should be enabled between pods in this mesh
	MtlsEnabled bool `protobuf:"varint,1,opt,name=mtls_enabled,json=mtlsEnabled,proto3" json:"mtls_enabled,omitempty"`
	// if set, rootCertificate will override the root certificate used by the mesh
	// to encrypt mtls connections.
	//
	// The structure of the secret must be a standard kubernetes TLS secret
	// such as can be created via `kubectl create secret tls`
	//
	// if mtlsEnabled is false, this field is ignored
	// If deploying to Consul, Consul Connect requires that the cert and key are generated using ec, not rsa.
	RootCertificate      *core.ResourceRef `protobuf:"bytes,3,opt,name=root_certificate,json=rootCertificate,proto3" json:"root_certificate,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

the encryption configuration that will be applied by the role

func (*MtlsConfig) Descriptor

func (*MtlsConfig) Descriptor() ([]byte, []int)

func (*MtlsConfig) Equal

func (this *MtlsConfig) Equal(that interface{}) bool

func (*MtlsConfig) GetMtlsEnabled

func (m *MtlsConfig) GetMtlsEnabled() bool

func (*MtlsConfig) GetRootCertificate

func (m *MtlsConfig) GetRootCertificate() *core.ResourceRef

func (*MtlsConfig) ProtoMessage

func (*MtlsConfig) ProtoMessage()

func (*MtlsConfig) Reset

func (m *MtlsConfig) Reset()

func (*MtlsConfig) String

func (m *MtlsConfig) String() string

func (*MtlsConfig) XXX_DiscardUnknown

func (m *MtlsConfig) XXX_DiscardUnknown()

func (*MtlsConfig) XXX_Marshal

func (m *MtlsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MtlsConfig) XXX_Merge

func (m *MtlsConfig) XXX_Merge(src proto.Message)

func (*MtlsConfig) XXX_Size

func (m *MtlsConfig) XXX_Size() int

func (*MtlsConfig) XXX_Unmarshal

func (m *MtlsConfig) XXX_Unmarshal(b []byte) error

type Pod added in v0.3.9

func NewPod added in v0.3.9

func NewPod(namespace, name string) *Pod

func (*Pod) Clone added in v0.3.9

func (r *Pod) Clone() resources.Resource

func (*Pod) Hash added in v0.3.9

func (r *Pod) Hash() uint64

type PodClient added in v0.3.9

type PodClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Pod, error)
	Write(resource *Pod, opts clients.WriteOpts) (*Pod, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (PodList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan PodList, <-chan error, error)
}

func NewPodClient added in v0.3.9

func NewPodClient(rcFactory factory.ResourceClientFactory) (PodClient, error)

func NewPodClientWithBase added in v0.3.9

func NewPodClientWithBase(rc clients.ResourceClient) PodClient

func NewPodClientWithToken added in v0.3.9

func NewPodClientWithToken(rcFactory factory.ResourceClientFactory, token string) (PodClient, error)

type PodList added in v0.3.9

type PodList []*Pod

func (PodList) AsInterfaces added in v0.3.9

func (list PodList) AsInterfaces() []interface{}

func (PodList) AsResources added in v0.3.9

func (list PodList) AsResources() resources.ResourceList

func (PodList) Clone added in v0.3.9

func (list PodList) Clone() PodList

func (PodList) Each added in v0.3.9

func (list PodList) Each(f func(element *Pod))

func (PodList) Find added in v0.3.9

func (list PodList) Find(namespace, name string) (*Pod, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (PodList) Names added in v0.3.9

func (list PodList) Names() []string

func (PodList) NamespacesDotNames added in v0.3.9

func (list PodList) NamespacesDotNames() []string

func (PodList) Sort added in v0.3.9

func (list PodList) Sort() PodList

type PodReconciler added in v0.3.9

type PodReconciler interface {
	Reconcile(namespace string, desiredResources PodList, transition TransitionPodFunc, opts clients.ListOpts) error
}

func NewPodReconciler added in v0.3.9

func NewPodReconciler(client PodClient) PodReconciler

type PodSelector

type PodSelector struct {
	// specify the type of selector to use with selectorType
	//
	// Types that are valid to be assigned to SelectorType:
	//	*PodSelector_LabelSelector_
	//	*PodSelector_UpstreamSelector_
	//	*PodSelector_NamespaceSelector_
	SelectorType         isPodSelector_SelectorType `protobuf_oneof:"selector_type"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

specifies a method by which to select pods with in a mesh for the application of rules and policies

func (*PodSelector) Descriptor

func (*PodSelector) Descriptor() ([]byte, []int)

func (*PodSelector) Equal

func (this *PodSelector) Equal(that interface{}) bool

func (*PodSelector) GetLabelSelector

func (m *PodSelector) GetLabelSelector() *PodSelector_LabelSelector

func (*PodSelector) GetNamespaceSelector

func (m *PodSelector) GetNamespaceSelector() *PodSelector_NamespaceSelector

func (*PodSelector) GetSelectorType

func (m *PodSelector) GetSelectorType() isPodSelector_SelectorType

func (*PodSelector) GetUpstreamSelector

func (m *PodSelector) GetUpstreamSelector() *PodSelector_UpstreamSelector

func (*PodSelector) ProtoMessage

func (*PodSelector) ProtoMessage()

func (*PodSelector) Reset

func (m *PodSelector) Reset()

func (*PodSelector) String

func (m *PodSelector) String() string

func (*PodSelector) XXX_DiscardUnknown

func (m *PodSelector) XXX_DiscardUnknown()

func (*PodSelector) XXX_Marshal

func (m *PodSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PodSelector) XXX_Merge

func (m *PodSelector) XXX_Merge(src proto.Message)

func (*PodSelector) XXX_OneofFuncs

func (*PodSelector) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*PodSelector) XXX_Size

func (m *PodSelector) XXX_Size() int

func (*PodSelector) XXX_Unmarshal

func (m *PodSelector) XXX_Unmarshal(b []byte) error

type PodSelector_LabelSelector

type PodSelector_LabelSelector struct {
	LabelsToMatch        map[string]string `` /* 190-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

select pods by their labels

func (*PodSelector_LabelSelector) Descriptor

func (*PodSelector_LabelSelector) Descriptor() ([]byte, []int)

func (*PodSelector_LabelSelector) Equal

func (this *PodSelector_LabelSelector) Equal(that interface{}) bool

func (*PodSelector_LabelSelector) GetLabelsToMatch

func (m *PodSelector_LabelSelector) GetLabelsToMatch() map[string]string

func (*PodSelector_LabelSelector) ProtoMessage

func (*PodSelector_LabelSelector) ProtoMessage()

func (*PodSelector_LabelSelector) Reset

func (m *PodSelector_LabelSelector) Reset()

func (*PodSelector_LabelSelector) String

func (m *PodSelector_LabelSelector) String() string

func (*PodSelector_LabelSelector) XXX_DiscardUnknown

func (m *PodSelector_LabelSelector) XXX_DiscardUnknown()

func (*PodSelector_LabelSelector) XXX_Marshal

func (m *PodSelector_LabelSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PodSelector_LabelSelector) XXX_Merge

func (m *PodSelector_LabelSelector) XXX_Merge(src proto.Message)

func (*PodSelector_LabelSelector) XXX_Size

func (m *PodSelector_LabelSelector) XXX_Size() int

func (*PodSelector_LabelSelector) XXX_Unmarshal

func (m *PodSelector_LabelSelector) XXX_Unmarshal(b []byte) error

type PodSelector_LabelSelector_

type PodSelector_LabelSelector_ struct {
	LabelSelector *PodSelector_LabelSelector `protobuf:"bytes,1,opt,name=label_selector,json=labelSelector,proto3,oneof"`
}

func (*PodSelector_LabelSelector_) Equal

func (this *PodSelector_LabelSelector_) Equal(that interface{}) bool

type PodSelector_NamespaceSelector

type PodSelector_NamespaceSelector struct {
	Namespaces           []string `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

select all pods in these namespaces

func (*PodSelector_NamespaceSelector) Descriptor

func (*PodSelector_NamespaceSelector) Descriptor() ([]byte, []int)

func (*PodSelector_NamespaceSelector) Equal

func (this *PodSelector_NamespaceSelector) Equal(that interface{}) bool

func (*PodSelector_NamespaceSelector) GetNamespaces

func (m *PodSelector_NamespaceSelector) GetNamespaces() []string

func (*PodSelector_NamespaceSelector) ProtoMessage

func (*PodSelector_NamespaceSelector) ProtoMessage()

func (*PodSelector_NamespaceSelector) Reset

func (m *PodSelector_NamespaceSelector) Reset()

func (*PodSelector_NamespaceSelector) String

func (*PodSelector_NamespaceSelector) XXX_DiscardUnknown

func (m *PodSelector_NamespaceSelector) XXX_DiscardUnknown()

func (*PodSelector_NamespaceSelector) XXX_Marshal

func (m *PodSelector_NamespaceSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PodSelector_NamespaceSelector) XXX_Merge

func (m *PodSelector_NamespaceSelector) XXX_Merge(src proto.Message)

func (*PodSelector_NamespaceSelector) XXX_Size

func (m *PodSelector_NamespaceSelector) XXX_Size() int

func (*PodSelector_NamespaceSelector) XXX_Unmarshal

func (m *PodSelector_NamespaceSelector) XXX_Unmarshal(b []byte) error

type PodSelector_NamespaceSelector_

type PodSelector_NamespaceSelector_ struct {
	NamespaceSelector *PodSelector_NamespaceSelector `protobuf:"bytes,3,opt,name=namespace_selector,json=namespaceSelector,proto3,oneof"`
}

func (*PodSelector_NamespaceSelector_) Equal

func (this *PodSelector_NamespaceSelector_) Equal(that interface{}) bool

type PodSelector_UpstreamSelector

type PodSelector_UpstreamSelector struct {
	// apply the selector to one or more of their upstreams by adding their refs here
	Upstreams            []core.ResourceRef `protobuf:"bytes,1,rep,name=upstreams,proto3" json:"upstreams"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

select pods based on their services or subsets of services. upstream CRDs will be created by discovery corresponding to kubernetes services and the available subsets of those services

func (*PodSelector_UpstreamSelector) Descriptor

func (*PodSelector_UpstreamSelector) Descriptor() ([]byte, []int)

func (*PodSelector_UpstreamSelector) Equal

func (this *PodSelector_UpstreamSelector) Equal(that interface{}) bool

func (*PodSelector_UpstreamSelector) GetUpstreams

func (m *PodSelector_UpstreamSelector) GetUpstreams() []core.ResourceRef

func (*PodSelector_UpstreamSelector) ProtoMessage

func (*PodSelector_UpstreamSelector) ProtoMessage()

func (*PodSelector_UpstreamSelector) Reset

func (m *PodSelector_UpstreamSelector) Reset()

func (*PodSelector_UpstreamSelector) String

func (*PodSelector_UpstreamSelector) XXX_DiscardUnknown

func (m *PodSelector_UpstreamSelector) XXX_DiscardUnknown()

func (*PodSelector_UpstreamSelector) XXX_Marshal

func (m *PodSelector_UpstreamSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PodSelector_UpstreamSelector) XXX_Merge

func (m *PodSelector_UpstreamSelector) XXX_Merge(src proto.Message)

func (*PodSelector_UpstreamSelector) XXX_Size

func (m *PodSelector_UpstreamSelector) XXX_Size() int

func (*PodSelector_UpstreamSelector) XXX_Unmarshal

func (m *PodSelector_UpstreamSelector) XXX_Unmarshal(b []byte) error

type PodSelector_UpstreamSelector_

type PodSelector_UpstreamSelector_ struct {
	UpstreamSelector *PodSelector_UpstreamSelector `protobuf:"bytes,2,opt,name=upstream_selector,json=upstreamSelector,proto3,oneof"`
}

func (*PodSelector_UpstreamSelector_) Equal

func (this *PodSelector_UpstreamSelector_) Equal(that interface{}) bool

type PodsByNamespace added in v0.3.9

type PodsByNamespace map[string]PodList

func (PodsByNamespace) Add added in v0.3.9

func (byNamespace PodsByNamespace) Add(pod ...*Pod)

func (PodsByNamespace) Clear added in v0.3.9

func (byNamespace PodsByNamespace) Clear(namespace string)

func (PodsByNamespace) Clone added in v0.3.9

func (byNamespace PodsByNamespace) Clone() PodsByNamespace

func (PodsByNamespace) List added in v0.3.9

func (byNamespace PodsByNamespace) List() PodList

type RegistrationEmitter

type RegistrationEmitter interface {
	Register() error
	Mesh() MeshClient
	MeshIngress() MeshIngressClient
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *RegistrationSnapshot, <-chan error, error)
}

func NewRegistrationEmitter

func NewRegistrationEmitter(meshClient MeshClient, meshIngressClient MeshIngressClient) RegistrationEmitter

func NewRegistrationEmitterWithEmit

func NewRegistrationEmitterWithEmit(meshClient MeshClient, meshIngressClient MeshIngressClient, emit <-chan struct{}) RegistrationEmitter

type RegistrationSnapshot

type RegistrationSnapshot struct {
	Meshes        MeshesByNamespace
	Meshingresses MeshingressesByNamespace
}

func (RegistrationSnapshot) Clone

func (RegistrationSnapshot) Hash

func (s RegistrationSnapshot) Hash() uint64

func (RegistrationSnapshot) HashFields

func (s RegistrationSnapshot) HashFields() []zap.Field

func (RegistrationSnapshot) Stringer

type RegistrationSnapshotStringer

type RegistrationSnapshotStringer struct {
	Version       uint64
	Meshes        []string
	Meshingresses []string
}

func (RegistrationSnapshotStringer) String

type RegistrationSyncer

type RegistrationSyncer interface {
	Sync(context.Context, *RegistrationSnapshot) error
}

type RegistrationSyncers

type RegistrationSyncers []RegistrationSyncer

func (RegistrationSyncers) Sync

type RetryBudget added in v0.3.11

type RetryBudget struct {
	// The ratio of additional traffic that may be added by retries.  A
	// retry_ratio of 0.1 means that 1 retry may be attempted for every 10 regular
	// requests.  A retry_ratio of 1.0 means that 1 retry may be attempted for
	// every 1 regular request (in other words, total request load may be doubled
	// as a result of retries).
	RetryRatio float32 `protobuf:"fixed32,1,opt,name=retry_ratio,json=retryRatio,proto3" json:"retry_ratio,omitempty"`
	// The proxy may always attempt this number of retries per second, even if it
	// would violate the retryRatio.  This is to allow retries to happen even
	// when the request rate is very low.
	MinRetriesPerSecond uint32 `protobuf:"varint,2,opt,name=min_retries_per_second,json=minRetriesPerSecond,proto3" json:"min_retries_per_second,omitempty"`
	// This duration indicates for how long requests should be considered for the
	// purposes of enforcing the retryRatio.  A higher value considers a larger
	// window and therefore allows burstier retries.
	Ttl                  time.Duration `protobuf:"bytes,3,opt,name=ttl,proto3,stdduration" json:"ttl"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

RetryBudget describes the maximum number of retries that should be issued to the destination services. Can only be applied to Linkerd meshes

func (*RetryBudget) Descriptor added in v0.3.11

func (*RetryBudget) Descriptor() ([]byte, []int)

func (*RetryBudget) Equal added in v0.3.11

func (this *RetryBudget) Equal(that interface{}) bool

func (*RetryBudget) GetMinRetriesPerSecond added in v0.3.11

func (m *RetryBudget) GetMinRetriesPerSecond() uint32

func (*RetryBudget) GetRetryRatio added in v0.3.11

func (m *RetryBudget) GetRetryRatio() float32

func (*RetryBudget) GetTtl added in v0.3.11

func (m *RetryBudget) GetTtl() time.Duration

func (*RetryBudget) ProtoMessage added in v0.3.11

func (*RetryBudget) ProtoMessage()

func (*RetryBudget) Reset added in v0.3.11

func (m *RetryBudget) Reset()

func (*RetryBudget) String added in v0.3.11

func (m *RetryBudget) String() string

func (*RetryBudget) XXX_DiscardUnknown added in v0.3.11

func (m *RetryBudget) XXX_DiscardUnknown()

func (*RetryBudget) XXX_Marshal added in v0.3.11

func (m *RetryBudget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RetryBudget) XXX_Merge added in v0.3.11

func (m *RetryBudget) XXX_Merge(src proto.Message)

func (*RetryBudget) XXX_Size added in v0.3.11

func (m *RetryBudget) XXX_Size() int

func (*RetryBudget) XXX_Unmarshal added in v0.3.11

func (m *RetryBudget) XXX_Unmarshal(b []byte) error

type RetryPolicy added in v0.3.11

type RetryPolicy struct {
	// retry each failed request until success or max number of retries met
	// this retry policy will be applied to any targeted Istio Mesh Instances
	MaxRetries *v1alpha3.HTTPRetry `protobuf:"bytes,1,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
	// allocate a 'retry budget' for each mesh sidecar
	// once the proxy reaches its retry budget limit, it will
	// stop retrying all requests for the given retry window.
	// this can be used to prevent cascading failures when
	// outages cause bursts of retries.
	// this retry policy will be applied to any targeted Linkerd Mesh Instances
	RetryBudget          *RetryBudget `protobuf:"bytes,2,opt,name=retry_budget,json=retryBudget,proto3" json:"retry_budget,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

RetryPolicy contains mesh-specific retry configuration Different meshes support different Retry features SuperGloo's RetryPolicy exposes config for multiple meshes simultaneously, Allowing the same RoutingRule to apply retries to different mesh types The configuration applied to the target mesh will use the corresponding config for each type, while other config types will be ignored

func (*RetryPolicy) Descriptor added in v0.3.11

func (*RetryPolicy) Descriptor() ([]byte, []int)

func (*RetryPolicy) Equal added in v0.3.11

func (this *RetryPolicy) Equal(that interface{}) bool

func (*RetryPolicy) GetMaxRetries added in v0.3.11

func (m *RetryPolicy) GetMaxRetries() *v1alpha3.HTTPRetry

func (*RetryPolicy) GetRetryBudget added in v0.3.11

func (m *RetryPolicy) GetRetryBudget() *RetryBudget

func (*RetryPolicy) ProtoMessage added in v0.3.11

func (*RetryPolicy) ProtoMessage()

func (*RetryPolicy) Reset added in v0.3.11

func (m *RetryPolicy) Reset()

func (*RetryPolicy) String added in v0.3.11

func (m *RetryPolicy) String() string

func (*RetryPolicy) XXX_DiscardUnknown added in v0.3.11

func (m *RetryPolicy) XXX_DiscardUnknown()

func (*RetryPolicy) XXX_Marshal added in v0.3.11

func (m *RetryPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RetryPolicy) XXX_Merge added in v0.3.11

func (m *RetryPolicy) XXX_Merge(src proto.Message)

func (*RetryPolicy) XXX_Size added in v0.3.11

func (m *RetryPolicy) XXX_Size() int

func (*RetryPolicy) XXX_Unmarshal added in v0.3.11

func (m *RetryPolicy) XXX_Unmarshal(b []byte) error

type RoutingRule

type RoutingRule struct {
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by supergloo during validation
	Status core.Status `protobuf:"bytes,100,opt,name=status,proto3" json:"status"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,101,opt,name=metadata,proto3" json:"metadata"`
	// target where we apply this rule. this can be a mesh group or an individual mesh
	TargetMesh *core.ResourceRef `protobuf:"bytes,1,opt,name=target_mesh,json=targetMesh,proto3" json:"target_mesh,omitempty"`
	// requests originating from these pods will have the rule applied
	// leave empty to have all pods in the mesh apply these rules
	//
	// > Note: Source Selectors are ignored when RoutingRules are
	// applied to pods in a Linkerd mesh. RoutingRules will apply to
	// all selected destinations in Linkerd, regardless of the source.
	SourceSelector *PodSelector `protobuf:"bytes,2,opt,name=source_selector,json=sourceSelector,proto3" json:"source_selector,omitempty"`
	// requests destined for these pods will have the rule applied
	// leave empty to apply to all destination pods in the mesh
	DestinationSelector *PodSelector `protobuf:"bytes,3,opt,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty"`
	// if specified, this rule will only apply to http requests
	// in the mesh matching these parameters
	// note that Linkerd only supports matching on Request Path and Method
	RequestMatchers []*v1.Matcher `protobuf:"bytes,4,rep,name=request_matchers,json=requestMatchers,proto3" json:"request_matchers,omitempty"`
	// contains the configuration that will be applied to
	// selected pods within the target mesh(es)
	Spec                 *RoutingRuleSpec `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

a routing rule applies some L7 routing features to an existing mesh routing rules specify the following: for all requests: - originating from from **source pods** - sent to **destination pods** - matching one or more **request matcher** apply the specified RoutingRuleSpec

func NewRoutingRule

func NewRoutingRule(namespace, name string) *RoutingRule

func (*RoutingRule) DeepCopyObject

func (o *RoutingRule) DeepCopyObject() runtime.Object

func (*RoutingRule) Descriptor

func (*RoutingRule) Descriptor() ([]byte, []int)

func (*RoutingRule) Equal

func (this *RoutingRule) Equal(that interface{}) bool

func (*RoutingRule) GetDestinationSelector

func (m *RoutingRule) GetDestinationSelector() *PodSelector

func (*RoutingRule) GetMetadata

func (m *RoutingRule) GetMetadata() core.Metadata

func (*RoutingRule) GetObjectKind

func (o *RoutingRule) GetObjectKind() schema.ObjectKind

func (*RoutingRule) GetRequestMatchers

func (m *RoutingRule) GetRequestMatchers() []*v1.Matcher

func (*RoutingRule) GetSourceSelector

func (m *RoutingRule) GetSourceSelector() *PodSelector

func (*RoutingRule) GetSpec

func (m *RoutingRule) GetSpec() *RoutingRuleSpec

func (*RoutingRule) GetStatus

func (m *RoutingRule) GetStatus() core.Status

func (*RoutingRule) GetTargetMesh

func (m *RoutingRule) GetTargetMesh() *core.ResourceRef

func (*RoutingRule) Hash

func (r *RoutingRule) Hash() uint64

func (*RoutingRule) ProtoMessage

func (*RoutingRule) ProtoMessage()

func (*RoutingRule) Reset

func (m *RoutingRule) Reset()

func (*RoutingRule) SetMetadata

func (r *RoutingRule) SetMetadata(meta core.Metadata)

func (*RoutingRule) SetStatus

func (r *RoutingRule) SetStatus(status core.Status)

func (*RoutingRule) String

func (m *RoutingRule) String() string

func (*RoutingRule) XXX_DiscardUnknown

func (m *RoutingRule) XXX_DiscardUnknown()

func (*RoutingRule) XXX_Marshal

func (m *RoutingRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RoutingRule) XXX_Merge

func (m *RoutingRule) XXX_Merge(src proto.Message)

func (*RoutingRule) XXX_Size

func (m *RoutingRule) XXX_Size() int

func (*RoutingRule) XXX_Unmarshal

func (m *RoutingRule) XXX_Unmarshal(b []byte) error

type RoutingRuleClient

type RoutingRuleClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*RoutingRule, error)
	Write(resource *RoutingRule, opts clients.WriteOpts) (*RoutingRule, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (RoutingRuleList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan RoutingRuleList, <-chan error, error)
}

func NewRoutingRuleClient

func NewRoutingRuleClient(rcFactory factory.ResourceClientFactory) (RoutingRuleClient, error)

func NewRoutingRuleClientWithBase

func NewRoutingRuleClientWithBase(rc clients.ResourceClient) RoutingRuleClient

func NewRoutingRuleClientWithToken

func NewRoutingRuleClientWithToken(rcFactory factory.ResourceClientFactory, token string) (RoutingRuleClient, error)

type RoutingRuleList

type RoutingRuleList []*RoutingRule

func (RoutingRuleList) AsInputResources

func (list RoutingRuleList) AsInputResources() resources.InputResourceList

func (RoutingRuleList) AsInterfaces

func (list RoutingRuleList) AsInterfaces() []interface{}

func (RoutingRuleList) AsResources

func (list RoutingRuleList) AsResources() resources.ResourceList

func (RoutingRuleList) Clone

func (list RoutingRuleList) Clone() RoutingRuleList

func (RoutingRuleList) Each

func (list RoutingRuleList) Each(f func(element *RoutingRule))

func (RoutingRuleList) Find

func (list RoutingRuleList) Find(namespace, name string) (*RoutingRule, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (RoutingRuleList) Names

func (list RoutingRuleList) Names() []string

func (RoutingRuleList) NamespacesDotNames

func (list RoutingRuleList) NamespacesDotNames() []string

func (RoutingRuleList) Sort

func (list RoutingRuleList) Sort() RoutingRuleList

type RoutingRuleReconciler

type RoutingRuleReconciler interface {
	Reconcile(namespace string, desiredResources RoutingRuleList, transition TransitionRoutingRuleFunc, opts clients.ListOpts) error
}

func NewRoutingRuleReconciler

func NewRoutingRuleReconciler(client RoutingRuleClient) RoutingRuleReconciler

type RoutingRuleSpec

type RoutingRuleSpec struct {
	// a routing rule can have one of several types
	// Note: types imported from istio will be replaced with our own
	// simpler types, this is just a place to start from
	//
	// Types that are valid to be assigned to RuleType:
	//	*RoutingRuleSpec_TrafficShifting
	//	*RoutingRuleSpec_FaultInjection
	//	*RoutingRuleSpec_RequestTimeout
	//	*RoutingRuleSpec_Retries
	//	*RoutingRuleSpec_CorsPolicy
	//	*RoutingRuleSpec_Mirror
	//	*RoutingRuleSpec_HeaderManipulation
	RuleType             isRoutingRuleSpec_RuleType `protobuf_oneof:"rule_type"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

the routing configuration that will be applied to the mesh(es)

func (*RoutingRuleSpec) Descriptor

func (*RoutingRuleSpec) Descriptor() ([]byte, []int)

func (*RoutingRuleSpec) Equal

func (this *RoutingRuleSpec) Equal(that interface{}) bool

func (*RoutingRuleSpec) GetCorsPolicy

func (m *RoutingRuleSpec) GetCorsPolicy() *v1alpha3.CorsPolicy

func (*RoutingRuleSpec) GetFaultInjection

func (m *RoutingRuleSpec) GetFaultInjection() *FaultInjection

func (*RoutingRuleSpec) GetHeaderManipulation

func (m *RoutingRuleSpec) GetHeaderManipulation() *HeaderManipulation

func (*RoutingRuleSpec) GetMirror

func (m *RoutingRuleSpec) GetMirror() *v1.Destination

func (*RoutingRuleSpec) GetRequestTimeout

func (m *RoutingRuleSpec) GetRequestTimeout() *time.Duration

func (*RoutingRuleSpec) GetRetries

func (m *RoutingRuleSpec) GetRetries() *RetryPolicy

func (*RoutingRuleSpec) GetRuleType

func (m *RoutingRuleSpec) GetRuleType() isRoutingRuleSpec_RuleType

func (*RoutingRuleSpec) GetTrafficShifting

func (m *RoutingRuleSpec) GetTrafficShifting() *TrafficShifting

func (*RoutingRuleSpec) ProtoMessage

func (*RoutingRuleSpec) ProtoMessage()

func (*RoutingRuleSpec) Reset

func (m *RoutingRuleSpec) Reset()

func (*RoutingRuleSpec) String

func (m *RoutingRuleSpec) String() string

func (*RoutingRuleSpec) XXX_DiscardUnknown

func (m *RoutingRuleSpec) XXX_DiscardUnknown()

func (*RoutingRuleSpec) XXX_Marshal

func (m *RoutingRuleSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RoutingRuleSpec) XXX_Merge

func (m *RoutingRuleSpec) XXX_Merge(src proto.Message)

func (*RoutingRuleSpec) XXX_OneofFuncs

func (*RoutingRuleSpec) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*RoutingRuleSpec) XXX_Size

func (m *RoutingRuleSpec) XXX_Size() int

func (*RoutingRuleSpec) XXX_Unmarshal

func (m *RoutingRuleSpec) XXX_Unmarshal(b []byte) error

type RoutingRuleSpec_CorsPolicy

type RoutingRuleSpec_CorsPolicy struct {
	CorsPolicy *v1alpha3.CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy,proto3,oneof"`
}

func (*RoutingRuleSpec_CorsPolicy) Equal

func (this *RoutingRuleSpec_CorsPolicy) Equal(that interface{}) bool

type RoutingRuleSpec_FaultInjection

type RoutingRuleSpec_FaultInjection struct {
	FaultInjection *FaultInjection `protobuf:"bytes,2,opt,name=fault_injection,json=faultInjection,proto3,oneof"`
}

func (*RoutingRuleSpec_FaultInjection) Equal

func (this *RoutingRuleSpec_FaultInjection) Equal(that interface{}) bool

type RoutingRuleSpec_HeaderManipulation

type RoutingRuleSpec_HeaderManipulation struct {
	HeaderManipulation *HeaderManipulation `protobuf:"bytes,12,opt,name=header_manipulation,json=headerManipulation,proto3,oneof"`
}

func (*RoutingRuleSpec_HeaderManipulation) Equal

func (this *RoutingRuleSpec_HeaderManipulation) Equal(that interface{}) bool

type RoutingRuleSpec_Mirror

type RoutingRuleSpec_Mirror struct {
	Mirror *v1.Destination `protobuf:"bytes,9,opt,name=mirror,proto3,oneof"`
}

func (*RoutingRuleSpec_Mirror) Equal

func (this *RoutingRuleSpec_Mirror) Equal(that interface{}) bool

type RoutingRuleSpec_RequestTimeout

type RoutingRuleSpec_RequestTimeout struct {
	RequestTimeout *time.Duration `protobuf:"bytes,7,opt,name=request_timeout,json=requestTimeout,proto3,oneof,stdduration"`
}

func (*RoutingRuleSpec_RequestTimeout) Equal

func (this *RoutingRuleSpec_RequestTimeout) Equal(that interface{}) bool

type RoutingRuleSpec_Retries

type RoutingRuleSpec_Retries struct {
	Retries *RetryPolicy `protobuf:"bytes,8,opt,name=retries,proto3,oneof"`
}

func (*RoutingRuleSpec_Retries) Equal

func (this *RoutingRuleSpec_Retries) Equal(that interface{}) bool

type RoutingRuleSpec_TrafficShifting

type RoutingRuleSpec_TrafficShifting struct {
	TrafficShifting *TrafficShifting `protobuf:"bytes,1,opt,name=traffic_shifting,json=trafficShifting,proto3,oneof"`
}

func (*RoutingRuleSpec_TrafficShifting) Equal

func (this *RoutingRuleSpec_TrafficShifting) Equal(that interface{}) bool

type RoutingrulesByNamespace

type RoutingrulesByNamespace map[string]RoutingRuleList

func (RoutingrulesByNamespace) Add

func (byNamespace RoutingrulesByNamespace) Add(routingRule ...*RoutingRule)

func (RoutingrulesByNamespace) Clear

func (byNamespace RoutingrulesByNamespace) Clear(namespace string)

func (RoutingrulesByNamespace) Clone

func (RoutingrulesByNamespace) List

func (byNamespace RoutingrulesByNamespace) List() RoutingRuleList

type SecurityRule

type SecurityRule struct {
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by supergloo during validation
	Status core.Status `protobuf:"bytes,100,opt,name=status,proto3" json:"status"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,101,opt,name=metadata,proto3" json:"metadata"`
	// target where we apply this rule. this can be a mesh group or an individual mesh
	TargetMesh *core.ResourceRef `protobuf:"bytes,1,opt,name=target_mesh,json=targetMesh,proto3" json:"target_mesh,omitempty"`
	// requests originating from these pods will have the rule applied
	// leave empty to have all pods in the mesh apply these rules
	//
	// note that security policies are mapped to source pods by their
	// service account. if other pods share the same service account,
	// this security rule will apply to those pods as well.
	//
	// for fine-grained security policies, ensure that your
	// service accounts properly reflect the desired
	// boundary for your security rules
	SourceSelector *PodSelector `protobuf:"bytes,2,opt,name=source_selector,json=sourceSelector,proto3" json:"source_selector,omitempty"`
	// requests destined for these pods will have the rule applied
	// leave empty to apply to all destination pods in the mesh
	DestinationSelector *PodSelector `protobuf:"bytes,3,opt,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty"`
	// Optional. A list of HTTP paths or gRPC methods to allow.
	// gRPC methods must be presented as fully-qualified name in the form of
	// "/packageName.serviceName/methodName" and are case sensitive.
	// Exact match, prefix match, and suffix match are supported for paths.
	// For example, the path "/books/review" matches
	// "/books/review" (exact match), or "/books/*" (prefix match),
	// or "*/review" (suffix match).
	// If not specified, it allows to any path.
	AllowedPaths []string `protobuf:"bytes,4,rep,name=allowed_paths,json=allowedPaths,proto3" json:"allowed_paths,omitempty"`
	// Optional. A list of HTTP methods to allow (e.g., "GET", "POST").
	// It is ignored in gRPC case because the value is always "POST".
	// If set to ["*"] or not specified, it allows to any method.
	AllowedMethods       []string `protobuf:"bytes,5,rep,name=allowed_methods,json=allowedMethods,proto3" json:"allowed_methods,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

security rules apply ALLOW policies to communication in a mesh security rules specify the following: ALLOW those requests: - originating from from **source pods** - sent to **destination pods** - matching one or more **request matcher** if no security rules are present, all traffic in the mesh will be set to ALLOW

func NewSecurityRule

func NewSecurityRule(namespace, name string) *SecurityRule

func (*SecurityRule) DeepCopyObject

func (o *SecurityRule) DeepCopyObject() runtime.Object

func (*SecurityRule) Descriptor

func (*SecurityRule) Descriptor() ([]byte, []int)

func (*SecurityRule) Equal

func (this *SecurityRule) Equal(that interface{}) bool

func (*SecurityRule) GetAllowedMethods

func (m *SecurityRule) GetAllowedMethods() []string

func (*SecurityRule) GetAllowedPaths

func (m *SecurityRule) GetAllowedPaths() []string

func (*SecurityRule) GetDestinationSelector

func (m *SecurityRule) GetDestinationSelector() *PodSelector

func (*SecurityRule) GetMetadata

func (m *SecurityRule) GetMetadata() core.Metadata

func (*SecurityRule) GetObjectKind

func (o *SecurityRule) GetObjectKind() schema.ObjectKind

func (*SecurityRule) GetSourceSelector

func (m *SecurityRule) GetSourceSelector() *PodSelector

func (*SecurityRule) GetStatus

func (m *SecurityRule) GetStatus() core.Status

func (*SecurityRule) GetTargetMesh

func (m *SecurityRule) GetTargetMesh() *core.ResourceRef

func (*SecurityRule) Hash

func (r *SecurityRule) Hash() uint64

func (*SecurityRule) ProtoMessage

func (*SecurityRule) ProtoMessage()

func (*SecurityRule) Reset

func (m *SecurityRule) Reset()

func (*SecurityRule) SetMetadata

func (r *SecurityRule) SetMetadata(meta core.Metadata)

func (*SecurityRule) SetStatus

func (r *SecurityRule) SetStatus(status core.Status)

func (*SecurityRule) String

func (m *SecurityRule) String() string

func (*SecurityRule) XXX_DiscardUnknown

func (m *SecurityRule) XXX_DiscardUnknown()

func (*SecurityRule) XXX_Marshal

func (m *SecurityRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SecurityRule) XXX_Merge

func (m *SecurityRule) XXX_Merge(src proto.Message)

func (*SecurityRule) XXX_Size

func (m *SecurityRule) XXX_Size() int

func (*SecurityRule) XXX_Unmarshal

func (m *SecurityRule) XXX_Unmarshal(b []byte) error

type SecurityRuleClient

type SecurityRuleClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*SecurityRule, error)
	Write(resource *SecurityRule, opts clients.WriteOpts) (*SecurityRule, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (SecurityRuleList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan SecurityRuleList, <-chan error, error)
}

func NewSecurityRuleClient

func NewSecurityRuleClient(rcFactory factory.ResourceClientFactory) (SecurityRuleClient, error)

func NewSecurityRuleClientWithBase

func NewSecurityRuleClientWithBase(rc clients.ResourceClient) SecurityRuleClient

func NewSecurityRuleClientWithToken

func NewSecurityRuleClientWithToken(rcFactory factory.ResourceClientFactory, token string) (SecurityRuleClient, error)

type SecurityRuleList

type SecurityRuleList []*SecurityRule

func (SecurityRuleList) AsInputResources

func (list SecurityRuleList) AsInputResources() resources.InputResourceList

func (SecurityRuleList) AsInterfaces

func (list SecurityRuleList) AsInterfaces() []interface{}

func (SecurityRuleList) AsResources

func (list SecurityRuleList) AsResources() resources.ResourceList

func (SecurityRuleList) Clone

func (list SecurityRuleList) Clone() SecurityRuleList

func (SecurityRuleList) Each

func (list SecurityRuleList) Each(f func(element *SecurityRule))

func (SecurityRuleList) Find

func (list SecurityRuleList) Find(namespace, name string) (*SecurityRule, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (SecurityRuleList) Names

func (list SecurityRuleList) Names() []string

func (SecurityRuleList) NamespacesDotNames

func (list SecurityRuleList) NamespacesDotNames() []string

func (SecurityRuleList) Sort

func (list SecurityRuleList) Sort() SecurityRuleList

type SecurityRuleReconciler

type SecurityRuleReconciler interface {
	Reconcile(namespace string, desiredResources SecurityRuleList, transition TransitionSecurityRuleFunc, opts clients.ListOpts) error
}

func NewSecurityRuleReconciler

func NewSecurityRuleReconciler(client SecurityRuleClient) SecurityRuleReconciler

type SecurityrulesByNamespace

type SecurityrulesByNamespace map[string]SecurityRuleList

func (SecurityrulesByNamespace) Add

func (byNamespace SecurityrulesByNamespace) Add(securityRule ...*SecurityRule)

func (SecurityrulesByNamespace) Clear

func (byNamespace SecurityrulesByNamespace) Clear(namespace string)

func (SecurityrulesByNamespace) Clone

func (SecurityrulesByNamespace) List

func (byNamespace SecurityrulesByNamespace) List() SecurityRuleList

type ServiceProfile added in v0.3.11

func NewServiceProfile added in v0.3.11

func NewServiceProfile(namespace, name string) *ServiceProfile

func (*ServiceProfile) Clone added in v0.3.11

func (r *ServiceProfile) Clone() resources.Resource

func (*ServiceProfile) Hash added in v0.3.11

func (r *ServiceProfile) Hash() uint64

type ServiceProfileClient added in v0.3.11

type ServiceProfileClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*ServiceProfile, error)
	Write(resource *ServiceProfile, opts clients.WriteOpts) (*ServiceProfile, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (ServiceProfileList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan ServiceProfileList, <-chan error, error)
}

func NewServiceProfileClient added in v0.3.11

func NewServiceProfileClient(rcFactory factory.ResourceClientFactory) (ServiceProfileClient, error)

func NewServiceProfileClientWithBase added in v0.3.11

func NewServiceProfileClientWithBase(rc clients.ResourceClient) ServiceProfileClient

func NewServiceProfileClientWithToken added in v0.3.11

func NewServiceProfileClientWithToken(rcFactory factory.ResourceClientFactory, token string) (ServiceProfileClient, error)

type ServiceProfileList added in v0.3.11

type ServiceProfileList []*ServiceProfile

func (ServiceProfileList) AsInterfaces added in v0.3.11

func (list ServiceProfileList) AsInterfaces() []interface{}

func (ServiceProfileList) AsResources added in v0.3.11

func (list ServiceProfileList) AsResources() resources.ResourceList

func (ServiceProfileList) Clone added in v0.3.11

func (ServiceProfileList) Each added in v0.3.11

func (list ServiceProfileList) Each(f func(element *ServiceProfile))

func (ServiceProfileList) Find added in v0.3.11

func (list ServiceProfileList) Find(namespace, name string) (*ServiceProfile, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (ServiceProfileList) Names added in v0.3.11

func (list ServiceProfileList) Names() []string

func (ServiceProfileList) NamespacesDotNames added in v0.3.11

func (list ServiceProfileList) NamespacesDotNames() []string

func (ServiceProfileList) Sort added in v0.3.11

type ServiceProfileReconciler added in v0.3.11

type ServiceProfileReconciler interface {
	Reconcile(namespace string, desiredResources ServiceProfileList, transition TransitionServiceProfileFunc, opts clients.ListOpts) error
}

func NewServiceProfileReconciler added in v0.3.11

func NewServiceProfileReconciler(client ServiceProfileClient) ServiceProfileReconciler

type ServiceprofilesByNamespace added in v0.3.11

type ServiceprofilesByNamespace map[string]ServiceProfileList

func (ServiceprofilesByNamespace) Add added in v0.3.11

func (byNamespace ServiceprofilesByNamespace) Add(serviceProfile ...*ServiceProfile)

func (ServiceprofilesByNamespace) Clear added in v0.3.11

func (byNamespace ServiceprofilesByNamespace) Clear(namespace string)

func (ServiceprofilesByNamespace) Clone added in v0.3.11

func (ServiceprofilesByNamespace) List added in v0.3.11

type TlsSecret

type TlsSecret struct {
	// Metadata contains the object metadata for this resource
	Metadata             core.Metadata `protobuf:"bytes,101,opt,name=metadata,proto3" json:"metadata"`
	RootCert             string        `protobuf:"bytes,1,opt,name=root_cert,json=root-cert.pem,proto3" json:"root_cert,omitempty"`
	CertChain            string        `protobuf:"bytes,2,opt,name=cert_chain,json=cert-chain.pem,proto3" json:"cert_chain,omitempty"`
	CaCert               string        `protobuf:"bytes,3,opt,name=ca_cert,json=ca-cert.pem,proto3" json:"ca_cert,omitempty"`
	CaKey                string        `protobuf:"bytes,4,opt,name=ca_key,json=ca-key.pem,proto3" json:"ca_key,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func NewTlsSecret

func NewTlsSecret(namespace, name string) *TlsSecret

func (*TlsSecret) DeepCopyObject

func (o *TlsSecret) DeepCopyObject() runtime.Object

func (*TlsSecret) Descriptor

func (*TlsSecret) Descriptor() ([]byte, []int)

func (*TlsSecret) Equal

func (this *TlsSecret) Equal(that interface{}) bool

func (*TlsSecret) GetCaCert

func (m *TlsSecret) GetCaCert() string

func (*TlsSecret) GetCaKey

func (m *TlsSecret) GetCaKey() string

func (*TlsSecret) GetCertChain

func (m *TlsSecret) GetCertChain() string

func (*TlsSecret) GetMetadata

func (m *TlsSecret) GetMetadata() core.Metadata

func (*TlsSecret) GetObjectKind

func (o *TlsSecret) GetObjectKind() schema.ObjectKind

func (*TlsSecret) GetRootCert

func (m *TlsSecret) GetRootCert() string

func (*TlsSecret) Hash

func (r *TlsSecret) Hash() uint64

func (*TlsSecret) ProtoMessage

func (*TlsSecret) ProtoMessage()

func (*TlsSecret) Reset

func (m *TlsSecret) Reset()

func (*TlsSecret) SetMetadata

func (r *TlsSecret) SetMetadata(meta core.Metadata)

func (*TlsSecret) String

func (m *TlsSecret) String() string

func (*TlsSecret) XXX_DiscardUnknown

func (m *TlsSecret) XXX_DiscardUnknown()

func (*TlsSecret) XXX_Marshal

func (m *TlsSecret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TlsSecret) XXX_Merge

func (m *TlsSecret) XXX_Merge(src proto.Message)

func (*TlsSecret) XXX_Size

func (m *TlsSecret) XXX_Size() int

func (*TlsSecret) XXX_Unmarshal

func (m *TlsSecret) XXX_Unmarshal(b []byte) error

type TlsSecretClient

type TlsSecretClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*TlsSecret, error)
	Write(resource *TlsSecret, opts clients.WriteOpts) (*TlsSecret, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (TlsSecretList, error)
	Watch(namespace string, opts clients.WatchOpts) (<-chan TlsSecretList, <-chan error, error)
}

func NewTlsSecretClient

func NewTlsSecretClient(rcFactory factory.ResourceClientFactory) (TlsSecretClient, error)

func NewTlsSecretClientWithBase

func NewTlsSecretClientWithBase(rc clients.ResourceClient) TlsSecretClient

func NewTlsSecretClientWithToken

func NewTlsSecretClientWithToken(rcFactory factory.ResourceClientFactory, token string) (TlsSecretClient, error)

type TlsSecretList

type TlsSecretList []*TlsSecret

func (TlsSecretList) AsInterfaces

func (list TlsSecretList) AsInterfaces() []interface{}

func (TlsSecretList) AsResources

func (list TlsSecretList) AsResources() resources.ResourceList

func (TlsSecretList) Clone

func (list TlsSecretList) Clone() TlsSecretList

func (TlsSecretList) Each

func (list TlsSecretList) Each(f func(element *TlsSecret))

func (TlsSecretList) Find

func (list TlsSecretList) Find(namespace, name string) (*TlsSecret, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (TlsSecretList) Names

func (list TlsSecretList) Names() []string

func (TlsSecretList) NamespacesDotNames

func (list TlsSecretList) NamespacesDotNames() []string

func (TlsSecretList) Sort

func (list TlsSecretList) Sort() TlsSecretList

type TlsSecretReconciler

type TlsSecretReconciler interface {
	Reconcile(namespace string, desiredResources TlsSecretList, transition TransitionTlsSecretFunc, opts clients.ListOpts) error
}

func NewTlsSecretReconciler

func NewTlsSecretReconciler(client TlsSecretClient) TlsSecretReconciler

type TlssecretsByNamespace

type TlssecretsByNamespace map[string]TlsSecretList

func (TlssecretsByNamespace) Add

func (byNamespace TlssecretsByNamespace) Add(tlsSecret ...*TlsSecret)

func (TlssecretsByNamespace) Clear

func (byNamespace TlssecretsByNamespace) Clear(namespace string)

func (TlssecretsByNamespace) Clone

func (byNamespace TlssecretsByNamespace) Clone() TlssecretsByNamespace

func (TlssecretsByNamespace) List

func (byNamespace TlssecretsByNamespace) List() TlsSecretList

type TrafficShifting

type TrafficShifting struct {
	// split traffic between these subsets based on their weights
	// weights are relative to the sum of the weights
	Destinations         *v1.MultiDestination `protobuf:"bytes,1,opt,name=destinations,proto3" json:"destinations,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

requests for this rule will be routed to these destinations

func (*TrafficShifting) Descriptor

func (*TrafficShifting) Descriptor() ([]byte, []int)

func (*TrafficShifting) Equal

func (this *TrafficShifting) Equal(that interface{}) bool

func (*TrafficShifting) GetDestinations

func (m *TrafficShifting) GetDestinations() *v1.MultiDestination

func (*TrafficShifting) ProtoMessage

func (*TrafficShifting) ProtoMessage()

func (*TrafficShifting) Reset

func (m *TrafficShifting) Reset()

func (*TrafficShifting) String

func (m *TrafficShifting) String() string

func (*TrafficShifting) XXX_DiscardUnknown

func (m *TrafficShifting) XXX_DiscardUnknown()

func (*TrafficShifting) XXX_Marshal

func (m *TrafficShifting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficShifting) XXX_Merge

func (m *TrafficShifting) XXX_Merge(src proto.Message)

func (*TrafficShifting) XXX_Size

func (m *TrafficShifting) XXX_Size() int

func (*TrafficShifting) XXX_Unmarshal

func (m *TrafficShifting) XXX_Unmarshal(b []byte) error

type TransitionInstallFunc

type TransitionInstallFunc func(original, desired *Install) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionMeshFunc

type TransitionMeshFunc func(original, desired *Mesh) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionMeshGroupFunc

type TransitionMeshGroupFunc func(original, desired *MeshGroup) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionMeshIngressFunc

type TransitionMeshIngressFunc func(original, desired *MeshIngress) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionPodFunc added in v0.3.9

type TransitionPodFunc func(original, desired *Pod) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionRoutingRuleFunc

type TransitionRoutingRuleFunc func(original, desired *RoutingRule) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionSecurityRuleFunc

type TransitionSecurityRuleFunc func(original, desired *SecurityRule) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionServiceProfileFunc added in v0.3.11

type TransitionServiceProfileFunc func(original, desired *ServiceProfile) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionTlsSecretFunc

type TransitionTlsSecretFunc func(original, desired *TlsSecret) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL