v1

package
v0.3.20 Latest Latest
Warning

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

Go to latest
Published: May 14, 2019 License: Apache-2.0 Imports: 33 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 NewAppmeshDiscoveryEventLoop added in v0.3.16

func NewAppmeshDiscoveryEventLoop(emitter AppmeshDiscoveryEmitter, syncer AppmeshDiscoverySyncer) eventloop.EventLoop

func NewAppmeshDiscoverySimpleEventLoop added in v0.3.18

func NewAppmeshDiscoverySimpleEventLoop(emitter AppmeshDiscoverySimpleEmitter, syncers ...AppmeshDiscoverySyncer) eventloop.SimpleEventLoop

func NewConfigEventLoop

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

func NewConfigSimpleEventLoop added in v0.3.18

func NewConfigSimpleEventLoop(emitter ConfigSimpleEmitter, syncers ...ConfigSyncer) eventloop.SimpleEventLoop

func NewDiscoveryEventLoop added in v0.3.9

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

func NewDiscoverySimpleEventLoop added in v0.3.18

func NewDiscoverySimpleEventLoop(emitter DiscoverySimpleEmitter, syncers ...DiscoverySyncer) eventloop.SimpleEventLoop

func NewInstallEventLoop

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

func NewInstallSimpleEventLoop added in v0.3.18

func NewInstallSimpleEventLoop(emitter InstallSimpleEmitter, syncers ...InstallSyncer) eventloop.SimpleEventLoop

func NewIstioDiscoveryEventLoop added in v0.3.11

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

func NewIstioDiscoverySimpleEventLoop added in v0.3.18

func NewIstioDiscoverySimpleEventLoop(emitter IstioDiscoverySimpleEmitter, syncers ...IstioDiscoverySyncer) eventloop.SimpleEventLoop

func NewLinkerdDiscoveryEventLoop added in v0.3.11

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

func NewLinkerdDiscoverySimpleEventLoop added in v0.3.18

func NewLinkerdDiscoverySimpleEventLoop(emitter LinkerdDiscoverySimpleEmitter, syncers ...LinkerdDiscoverySyncer) eventloop.SimpleEventLoop

func NewRegistrationEventLoop

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

func NewRegistrationSimpleEventLoop added in v0.3.18

func NewRegistrationSimpleEventLoop(emitter RegistrationSimpleEmitter, syncers ...RegistrationSyncer) eventloop.SimpleEventLoop

Types

type AppmeshDiscoveryEmitter added in v0.3.16

type AppmeshDiscoveryEmitter interface {
	Register() error
	Mesh() MeshClient
	Pod() github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.PodClient
	Upstream() gloo_solo_io.UpstreamClient
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *AppmeshDiscoverySnapshot, <-chan error, error)
}

func NewAppmeshDiscoveryEmitterWithEmit added in v0.3.16

func NewAppmeshDiscoveryEmitterWithEmit(meshClient MeshClient, podClient github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.PodClient, upstreamClient gloo_solo_io.UpstreamClient, emit <-chan struct{}) AppmeshDiscoveryEmitter

type AppmeshDiscoverySimpleEmitter added in v0.3.18

type AppmeshDiscoverySimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *AppmeshDiscoverySnapshot, <-chan error, error)
}

func NewAppmeshDiscoverySimpleEmitter added in v0.3.18

func NewAppmeshDiscoverySimpleEmitter(aggregatedWatch clients.ResourceWatch) AppmeshDiscoverySimpleEmitter

func NewAppmeshDiscoverySimpleEmitterWithEmit added in v0.3.18

func NewAppmeshDiscoverySimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) AppmeshDiscoverySimpleEmitter

type AppmeshDiscoverySnapshot added in v0.3.16

func (AppmeshDiscoverySnapshot) Clone added in v0.3.16

func (AppmeshDiscoverySnapshot) Hash added in v0.3.16

func (AppmeshDiscoverySnapshot) HashFields added in v0.3.16

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

func (AppmeshDiscoverySnapshot) Stringer added in v0.3.16

type AppmeshDiscoverySnapshotStringer added in v0.3.16

type AppmeshDiscoverySnapshotStringer struct {
	Version   uint64
	Meshes    []string
	Pods      []string
	Upstreams []string
}

func (AppmeshDiscoverySnapshotStringer) String added in v0.3.16

type AppmeshDiscoverySyncDecider added in v0.3.18

type AppmeshDiscoverySyncDecider interface {
	AppmeshDiscoverySyncer
	ShouldSync(old, new *AppmeshDiscoverySnapshot) bool
}

a Syncer which implements this interface can make smarter decisions over whether it should be restarted (including having its context cancelled) based on a diff of the previous and current snapshot

type AppmeshDiscoverySyncer added in v0.3.16

type AppmeshDiscoverySyncer interface {
	Sync(context.Context, *AppmeshDiscoverySnapshot) error
}

type AppmeshDiscoverySyncers added in v0.3.16

type AppmeshDiscoverySyncers []AppmeshDiscoverySyncer

func (AppmeshDiscoverySyncers) Sync added in v0.3.16

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 ConfigEmitter

type ConfigEmitter interface {
	Register() error
	Mesh() MeshClient
	MeshIngress() MeshIngressClient
	MeshGroup() MeshGroupClient
	RoutingRule() RoutingRuleClient
	SecurityRule() SecurityRuleClient
	TlsSecret() TlsSecretClient
	Upstream() gloo_solo_io.UpstreamClient
	Pod() github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.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 github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.PodClient) ConfigEmitter

func NewConfigEmitterWithEmit

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

type ConfigSimpleEmitter added in v0.3.18

type ConfigSimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *ConfigSnapshot, <-chan error, error)
}

func NewConfigSimpleEmitter added in v0.3.18

func NewConfigSimpleEmitter(aggregatedWatch clients.ResourceWatch) ConfigSimpleEmitter

func NewConfigSimpleEmitterWithEmit added in v0.3.18

func NewConfigSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) ConfigSimpleEmitter

type ConfigSnapshot

type ConfigSnapshot struct {
	Meshes        MeshList
	Meshingresses MeshIngressList
	Meshgroups    MeshGroupList
	Routingrules  RoutingRuleList
	Securityrules SecurityRuleList
	Tlssecrets    TlsSecretList
	Upstreams     gloo_solo_io.UpstreamList
	Pods          github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.PodList
}

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 ConfigSyncDecider added in v0.3.18

type ConfigSyncDecider interface {
	ConfigSyncer
	ShouldSync(old, new *ConfigSnapshot) bool
}

a Syncer which implements this interface can make smarter decisions over whether it should be restarted (including having its context cancelled) based on a diff of the previous and current snapshot

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 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"`
	// upstreams which point to injected pods in the mesh
	Upstreams []*core.ResourceRef `protobuf:"bytes,5,rep,name=upstreams,proto3" json:"upstreams,omitempty"`
	// discovered mtls config of the given mesh
	MtlsConfig           *MtlsConfig `protobuf:"bytes,6,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) GetUpstreams added in v0.3.14

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

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 DiscoverySimpleEmitter added in v0.3.18

type DiscoverySimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *DiscoverySnapshot, <-chan error, error)
}

func NewDiscoverySimpleEmitter added in v0.3.18

func NewDiscoverySimpleEmitter(aggregatedWatch clients.ResourceWatch) DiscoverySimpleEmitter

func NewDiscoverySimpleEmitterWithEmit added in v0.3.18

func NewDiscoverySimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) DiscoverySimpleEmitter

type DiscoverySnapshot added in v0.3.9

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
	Configmaps []string
	Installs   []string
}

func (DiscoverySnapshotStringer) String added in v0.3.9

func (ss DiscoverySnapshotStringer) String() string

type DiscoverySyncDecider added in v0.3.18

type DiscoverySyncDecider interface {
	DiscoverySyncer
	ShouldSync(old, new *DiscoverySnapshot) bool
}

a Syncer which implements this interface can make smarter decisions over whether it should be restarted (including having its context cancelled) based on a diff of the previous and current snapshot

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
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"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) GetMeshes

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

func (*GlooInstall) GetVersion added in v0.3.14

func (m *GlooInstall) GetVersion() string

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)
	InstallWatcher
}

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) EachResource added in v0.3.18

func (list InstallList) EachResource(f func(element resources.Resource))

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 InstallSimpleEmitter added in v0.3.18

type InstallSimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *InstallSnapshot, <-chan error, error)
}

func NewInstallSimpleEmitter added in v0.3.18

func NewInstallSimpleEmitter(aggregatedWatch clients.ResourceWatch) InstallSimpleEmitter

func NewInstallSimpleEmitterWithEmit added in v0.3.18

func NewInstallSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) InstallSimpleEmitter

type InstallSnapshot

type InstallSnapshot struct {
	Installs      InstallList
	Meshes        MeshList
	Meshingresses MeshIngressList
}

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 InstallSyncDecider added in v0.3.18

type InstallSyncDecider interface {
	InstallSyncer
	ShouldSync(old, new *InstallSnapshot) bool
}

a Syncer which implements this interface can make smarter decisions over whether it should be restarted (including having its context cancelled) based on a diff of the previous and current snapshot

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 InstallWatcher added in v0.3.18

type InstallWatcher interface {
	// watch namespace-scoped Installs
	Watch(namespace string, opts clients.WatchOpts) (<-chan InstallList, <-chan error, 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 IstioDiscoveryEmitter added in v0.3.11

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

func NewIstioDiscoveryEmitterWithEmit added in v0.3.11

func NewIstioDiscoveryEmitterWithEmit(meshClient MeshClient, installClient InstallClient, podClient github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.PodClient, upstreamClient gloo_solo_io.UpstreamClient, meshPolicyClient istio_authentication_v1alpha1.MeshPolicyClient, emit <-chan struct{}) IstioDiscoveryEmitter

type IstioDiscoverySimpleEmitter added in v0.3.18

type IstioDiscoverySimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *IstioDiscoverySnapshot, <-chan error, error)
}

func NewIstioDiscoverySimpleEmitter added in v0.3.18

func NewIstioDiscoverySimpleEmitter(aggregatedWatch clients.ResourceWatch) IstioDiscoverySimpleEmitter

func NewIstioDiscoverySimpleEmitterWithEmit added in v0.3.18

func NewIstioDiscoverySimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) IstioDiscoverySimpleEmitter

type IstioDiscoverySnapshot added in v0.3.11

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
	Pods         []string
	Upstreams    []string
	Meshpolicies []string
}

func (IstioDiscoverySnapshotStringer) String added in v0.3.11

type IstioDiscoverySyncDecider added in v0.3.18

type IstioDiscoverySyncDecider interface {
	IstioDiscoverySyncer
	ShouldSync(old, new *IstioDiscoverySnapshot) bool
}

a Syncer which implements this interface can make smarter decisions over whether it should be restarted (including having its context cancelled) based on a diff of the previous and current snapshot

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
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"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"`
	// enable ingress gateway
	EnableIngress bool `protobuf:"varint,10,opt,name=enable_ingress,json=enableIngress,proto3" json:"enable_ingress,omitempty"`
	// enable egress gateway
	EnableEgress         bool     `protobuf:"varint,11,opt,name=enable_egress,json=enableEgress,proto3" json:"enable_egress,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) GetEnableEgress added in v0.3.15

func (m *IstioInstall) GetEnableEgress() bool

func (*IstioInstall) GetEnableIngress added in v0.3.15

func (m *IstioInstall) GetEnableIngress() 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) GetVersion added in v0.3.14

func (m *IstioInstall) GetVersion() 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
	Version              string   `protobuf:"bytes,2,opt,name=version,proto3" json:"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) GetVersion added in v0.3.14

func (m *IstioMesh) GetVersion() 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
	Pod() github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.PodClient
	Upstream() gloo_solo_io.UpstreamClient
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *LinkerdDiscoverySnapshot, <-chan error, error)
}

func NewLinkerdDiscoveryEmitter added in v0.3.11

func NewLinkerdDiscoveryEmitterWithEmit added in v0.3.11

func NewLinkerdDiscoveryEmitterWithEmit(meshClient MeshClient, installClient InstallClient, podClient github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.PodClient, upstreamClient gloo_solo_io.UpstreamClient, emit <-chan struct{}) LinkerdDiscoveryEmitter

type LinkerdDiscoverySimpleEmitter added in v0.3.18

type LinkerdDiscoverySimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *LinkerdDiscoverySnapshot, <-chan error, error)
}

func NewLinkerdDiscoverySimpleEmitter added in v0.3.18

func NewLinkerdDiscoverySimpleEmitter(aggregatedWatch clients.ResourceWatch) LinkerdDiscoverySimpleEmitter

func NewLinkerdDiscoverySimpleEmitterWithEmit added in v0.3.18

func NewLinkerdDiscoverySimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) LinkerdDiscoverySimpleEmitter

type LinkerdDiscoverySnapshot added in v0.3.11

type LinkerdDiscoverySnapshot struct {
	Meshes    MeshList
	Installs  InstallList
	Pods      github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.PodList
	Upstreams gloo_solo_io.UpstreamList
}

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
	Pods      []string
	Upstreams []string
}

func (LinkerdDiscoverySnapshotStringer) String added in v0.3.11

type LinkerdDiscoverySyncDecider added in v0.3.18

type LinkerdDiscoverySyncDecider interface {
	LinkerdDiscoverySyncer
	ShouldSync(old, new *LinkerdDiscoverySnapshot) bool
}

a Syncer which implements this interface can make smarter decisions over whether it should be restarted (including having its context cancelled) based on a diff of the previous and current snapshot

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
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"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) GetVersion added in v0.3.14

func (m *LinkerdInstall) GetVersion() 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
	Version              string   `protobuf:"bytes,2,opt,name=version,proto3" json:"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) GetVersion added in v0.3.14

func (m *LinkerdMesh) GetVersion() 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_Linkerd
	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) GetLinkerd added in v0.3.14

func (m *Mesh) GetLinkerd() *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)
	MeshWatcher
}

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)
	MeshGroupWatcher
}

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) EachResource added in v0.3.18

func (list MeshGroupList) EachResource(f func(element resources.Resource))

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 MeshGroupWatcher added in v0.3.18

type MeshGroupWatcher interface {
	// watch namespace-scoped Meshgroups
	Watch(namespace string, opts clients.WatchOpts) (<-chan MeshGroupList, <-chan error, error)
}

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)
	MeshIngressWatcher
}

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) EachResource added in v0.3.18

func (list MeshIngressList) EachResource(f func(element resources.Resource))

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 MeshIngressWatcher added in v0.3.18

type MeshIngressWatcher interface {
	// watch namespace-scoped Meshingresses
	Watch(namespace string, opts clients.WatchOpts) (<-chan MeshIngressList, <-chan error, error)
}

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_Istio
	//	*MeshInstall_Linkerd
	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) GetIstio added in v0.3.14

func (m *MeshInstall) GetIstio() *IstioInstall

func (*MeshInstall) GetLinkerd added in v0.3.14

func (m *MeshInstall) GetLinkerd() *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_Istio added in v0.3.14

type MeshInstall_Istio struct {
	Istio *IstioInstall `protobuf:"bytes,2,opt,name=istio,proto3,oneof"`
}

func (*MeshInstall_Istio) Equal added in v0.3.14

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

type MeshInstall_Linkerd added in v0.3.14

type MeshInstall_Linkerd struct {
	Linkerd *LinkerdInstall `protobuf:"bytes,3,opt,name=linkerd,proto3,oneof"`
}

func (*MeshInstall_Linkerd) Equal added in v0.3.14

func (this *MeshInstall_Linkerd) 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) EachResource added in v0.3.18

func (list MeshList) EachResource(f func(element resources.Resource))

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 MeshWatcher added in v0.3.18

type MeshWatcher interface {
	// watch namespace-scoped Meshes
	Watch(namespace string, opts clients.WatchOpts) (<-chan MeshList, <-chan error, error)
}

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_Linkerd added in v0.3.14

type Mesh_Linkerd struct {
	Linkerd *LinkerdMesh `protobuf:"bytes,5,opt,name=linkerd,proto3,oneof"`
}

func (*Mesh_Linkerd) Equal added in v0.3.14

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

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` or `prometheus.yaml` 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 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 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 RegistrationSimpleEmitter added in v0.3.18

type RegistrationSimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *RegistrationSnapshot, <-chan error, error)
}

func NewRegistrationSimpleEmitter added in v0.3.18

func NewRegistrationSimpleEmitter(aggregatedWatch clients.ResourceWatch) RegistrationSimpleEmitter

func NewRegistrationSimpleEmitterWithEmit added in v0.3.18

func NewRegistrationSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) RegistrationSimpleEmitter

type RegistrationSnapshot

type RegistrationSnapshot struct {
	Meshes        MeshList
	Meshingresses MeshIngressList
}

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 RegistrationSyncDecider added in v0.3.18

type RegistrationSyncDecider interface {
	RegistrationSyncer
	ShouldSync(old, new *RegistrationSnapshot) bool
}

a Syncer which implements this interface can make smarter decisions over whether it should be restarted (including having its context cancelled) based on a diff of the previous and current snapshot

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)
	RoutingRuleWatcher
}

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) EachResource added in v0.3.18

func (list RoutingRuleList) EachResource(f func(element resources.Resource))

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 RoutingRuleWatcher added in v0.3.18

type RoutingRuleWatcher interface {
	// watch namespace-scoped Routingrules
	Watch(namespace string, opts clients.WatchOpts) (<-chan RoutingRuleList, <-chan error, error)
}

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)
	SecurityRuleWatcher
}

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) EachResource added in v0.3.18

func (list SecurityRuleList) EachResource(f func(element resources.Resource))

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 SecurityRuleWatcher added in v0.3.18

type SecurityRuleWatcher interface {
	// watch namespace-scoped Securityrules
	Watch(namespace string, opts clients.WatchOpts) (<-chan SecurityRuleList, <-chan error, error)
}

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)
	TlsSecretWatcher
}

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) EachResource added in v0.3.18

func (list TlsSecretList) EachResource(f func(element resources.Resource))

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 TlsSecretWatcher added in v0.3.18

type TlsSecretWatcher interface {
	// watch namespace-scoped Tlssecrets
	Watch(namespace string, opts clients.WatchOpts) (<-chan TlsSecretList, <-chan error, error)
}

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 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 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

Source Files

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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