v1

package
v0.3.7 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2019 License: Apache-2.0 Imports: 31 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

This section is empty.

Types

type AwsAppMesh

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

Mesh object representing AWS App Mesh

func (*AwsAppMesh) Descriptor

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

func (*AwsAppMesh) Equal

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

func (*AwsAppMesh) GetAwsSecret

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

func (*AwsAppMesh) GetEnableAutoInject

func (m *AwsAppMesh) GetEnableAutoInject() bool

func (*AwsAppMesh) GetInjectionSelector

func (m *AwsAppMesh) GetInjectionSelector() *PodSelector

func (*AwsAppMesh) GetRegion

func (m *AwsAppMesh) GetRegion() string

func (*AwsAppMesh) GetSidecarPatchConfigMap

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

func (*AwsAppMesh) GetVirtualNodeLabel

func (m *AwsAppMesh) GetVirtualNodeLabel() string

func (*AwsAppMesh) ProtoMessage

func (*AwsAppMesh) ProtoMessage()

func (*AwsAppMesh) Reset

func (m *AwsAppMesh) Reset()

func (*AwsAppMesh) String

func (m *AwsAppMesh) String() string

func (*AwsAppMesh) XXX_DiscardUnknown

func (m *AwsAppMesh) XXX_DiscardUnknown()

func (*AwsAppMesh) XXX_Marshal

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

func (*AwsAppMesh) XXX_Merge

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

func (*AwsAppMesh) XXX_Size

func (m *AwsAppMesh) XXX_Size() int

func (*AwsAppMesh) XXX_Unmarshal

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

type ConfigEmitter

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

func NewConfigEmitterWithEmit

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

type ConfigEventLoop

type ConfigEventLoop interface {
	Run(namespaces []string, opts clients.WatchOpts) (<-chan error, error)
}

func NewConfigEventLoop

func NewConfigEventLoop(emitter ConfigEmitter, syncer ConfigSyncer) ConfigEventLoop

type ConfigSnapshot

func (ConfigSnapshot) Clone

func (s ConfigSnapshot) Clone() ConfigSnapshot

func (ConfigSnapshot) Hash

func (s ConfigSnapshot) Hash() uint64

func (ConfigSnapshot) HashFields

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

func (ConfigSnapshot) Stringer

type ConfigSnapshotStringer

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

func (ConfigSnapshotStringer) String

func (ss ConfigSnapshotStringer) String() string

type ConfigSyncer

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

type ConfigSyncers

type ConfigSyncers []ConfigSyncer

func (ConfigSyncers) Sync

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

type 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.
	Percentage           float64  `protobuf:"fixed64,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*FaultInjection) Descriptor

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

func (*FaultInjection) Equal

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

func (*FaultInjection) GetAbort

func (m *FaultInjection) GetAbort() *FaultInjection_Abort

func (*FaultInjection) GetDelay

func (m *FaultInjection) GetDelay() *FaultInjection_Delay

func (*FaultInjection) GetFaultInjectionType

func (m *FaultInjection) GetFaultInjectionType() isFaultInjection_FaultInjectionType

func (*FaultInjection) GetPercentage

func (m *FaultInjection) GetPercentage() float64

func (*FaultInjection) ProtoMessage

func (*FaultInjection) ProtoMessage()

func (*FaultInjection) Reset

func (m *FaultInjection) Reset()

func (*FaultInjection) String

func (m *FaultInjection) String() string

func (*FaultInjection) XXX_DiscardUnknown

func (m *FaultInjection) XXX_DiscardUnknown()

func (*FaultInjection) XXX_Marshal

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

func (*FaultInjection) XXX_Merge

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

func (*FaultInjection) XXX_OneofFuncs

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

XXX_OneofFuncs is for the internal use of the proto package.

func (*FaultInjection) XXX_Size

func (m *FaultInjection) XXX_Size() int

func (*FaultInjection) XXX_Unmarshal

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

type FaultInjection_Abort

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

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

func (*FaultInjection_Abort) Descriptor

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

func (*FaultInjection_Abort) Equal

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

func (*FaultInjection_Abort) GetErrorType

func (m *FaultInjection_Abort) GetErrorType() isFaultInjection_Abort_ErrorType

func (*FaultInjection_Abort) GetHttpStatus

func (m *FaultInjection_Abort) GetHttpStatus() int32

func (*FaultInjection_Abort) ProtoMessage

func (*FaultInjection_Abort) ProtoMessage()

func (*FaultInjection_Abort) Reset

func (m *FaultInjection_Abort) Reset()

func (*FaultInjection_Abort) String

func (m *FaultInjection_Abort) String() string

func (*FaultInjection_Abort) XXX_DiscardUnknown

func (m *FaultInjection_Abort) XXX_DiscardUnknown()

func (*FaultInjection_Abort) XXX_Marshal

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

func (*FaultInjection_Abort) XXX_Merge

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

func (*FaultInjection_Abort) XXX_OneofFuncs

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

XXX_OneofFuncs is for the internal use of the proto package.

func (*FaultInjection_Abort) XXX_Size

func (m *FaultInjection_Abort) XXX_Size() int

func (*FaultInjection_Abort) XXX_Unmarshal

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

type FaultInjection_Abort_

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

func (*FaultInjection_Abort_) Equal

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

type FaultInjection_Abort_HttpStatus

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

func (*FaultInjection_Abort_HttpStatus) Equal

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

type FaultInjection_Delay

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

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

func (*FaultInjection_Delay) Descriptor

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

func (*FaultInjection_Delay) Equal

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

func (*FaultInjection_Delay) GetDelayType

func (*FaultInjection_Delay) GetDuration

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

func (*FaultInjection_Delay) ProtoMessage

func (*FaultInjection_Delay) ProtoMessage()

func (*FaultInjection_Delay) Reset

func (m *FaultInjection_Delay) Reset()

func (*FaultInjection_Delay) String

func (m *FaultInjection_Delay) String() string

func (*FaultInjection_Delay) XXX_DiscardUnknown

func (m *FaultInjection_Delay) XXX_DiscardUnknown()

func (*FaultInjection_Delay) XXX_Marshal

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

func (*FaultInjection_Delay) XXX_Merge

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

func (*FaultInjection_Delay) XXX_Size

func (m *FaultInjection_Delay) XXX_Size() int

func (*FaultInjection_Delay) XXX_Unmarshal

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

type FaultInjection_Delay_

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

func (*FaultInjection_Delay_) Equal

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

type FaultInjection_Delay_Type

type FaultInjection_Delay_Type int32

types of delays available, currently only fixed is supported

const (
	FaultInjection_Delay_FIXED FaultInjection_Delay_Type = 0
)

func (FaultInjection_Delay_Type) EnumDescriptor

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

func (FaultInjection_Delay_Type) String

func (x FaultInjection_Delay_Type) String() string

type GlooInstall

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

Installation options for Gloo Ingress

func (*GlooInstall) Descriptor

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

func (*GlooInstall) Equal

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

func (*GlooInstall) GetGlooVersion

func (m *GlooInstall) GetGlooVersion() string

func (*GlooInstall) GetMeshes

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

func (*GlooInstall) ProtoMessage

func (*GlooInstall) ProtoMessage()

func (*GlooInstall) Reset

func (m *GlooInstall) Reset()

func (*GlooInstall) String

func (m *GlooInstall) String() string

func (*GlooInstall) XXX_DiscardUnknown

func (m *GlooInstall) XXX_DiscardUnknown()

func (*GlooInstall) XXX_Marshal

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

func (*GlooInstall) XXX_Merge

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

func (*GlooInstall) XXX_Size

func (m *GlooInstall) XXX_Size() int

func (*GlooInstall) XXX_Unmarshal

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

type GlooMeshIngress

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

Mesh ingress object for gloo

func (*GlooMeshIngress) Descriptor

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

func (*GlooMeshIngress) Equal

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

func (*GlooMeshIngress) ProtoMessage

func (*GlooMeshIngress) ProtoMessage()

func (*GlooMeshIngress) Reset

func (m *GlooMeshIngress) Reset()

func (*GlooMeshIngress) String

func (m *GlooMeshIngress) String() string

func (*GlooMeshIngress) XXX_DiscardUnknown

func (m *GlooMeshIngress) XXX_DiscardUnknown()

func (*GlooMeshIngress) XXX_Marshal

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

func (*GlooMeshIngress) XXX_Merge

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

func (*GlooMeshIngress) XXX_Size

func (m *GlooMeshIngress) XXX_Size() int

func (*GlooMeshIngress) XXX_Unmarshal

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

type HeaderManipulation

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

manipulate request and response headers

func (*HeaderManipulation) Descriptor

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

func (*HeaderManipulation) Equal

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

func (*HeaderManipulation) GetAppendRequestHeaders

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

func (*HeaderManipulation) GetAppendResponseHeaders

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

func (*HeaderManipulation) GetRemoveRequestHeaders

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

func (*HeaderManipulation) GetRemoveResponseHeaders

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

func (*HeaderManipulation) ProtoMessage

func (*HeaderManipulation) ProtoMessage()

func (*HeaderManipulation) Reset

func (m *HeaderManipulation) Reset()

func (*HeaderManipulation) String

func (m *HeaderManipulation) String() string

func (*HeaderManipulation) XXX_DiscardUnknown

func (m *HeaderManipulation) XXX_DiscardUnknown()

func (*HeaderManipulation) XXX_Marshal

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

func (*HeaderManipulation) XXX_Merge

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

func (*HeaderManipulation) XXX_Size

func (m *HeaderManipulation) XXX_Size() int

func (*HeaderManipulation) XXX_Unmarshal

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

type Install

type Install struct {
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by supergloo during validation
	Status core.Status `protobuf:"bytes,100,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,101,opt,name=metadata,proto3" json:"metadata"`
	// disables this install
	// setting this to true will cause supergloo not to
	// install this mesh, or uninstall an active install
	Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
	// The type of object the install handles
	// Currently support types are mesh, and ingress
	//
	// Types that are valid to be assigned to InstallType:
	//	*Install_Mesh
	//	*Install_Ingress
	InstallType isInstall_InstallType `protobuf_oneof:"install_type"`
	// which namespace to install to
	InstallationNamespace string `protobuf:"bytes,4,opt,name=installation_namespace,json=installationNamespace,proto3" json:"installation_namespace,omitempty"`
	// gzipped inline string containing the applied manifest
	// read-only, set by the server after successful installation.
	// TODO (ilackarms): make sure this is not too large for etcd (value size limit 1.5mb)
	InstalledManifest    string   `protobuf:"bytes,5,opt,name=installed_manifest,json=installedManifest,proto3" json:"installed_manifest,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

TODO: modify as needed to populate additional fields

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

func (m *Install) GetInstalledManifest() string

func (*Install) GetMesh

func (m *Install) GetMesh() *MeshInstall

func (*Install) GetMetadata

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

func (*Install) GetObjectKind

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

func (*Install) GetStatus

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

func (*Install) Hash

func (r *Install) Hash() uint64

func (*Install) ProtoMessage

func (*Install) ProtoMessage()

func (*Install) Reset

func (m *Install) Reset()

func (*Install) SetMetadata

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

func (*Install) SetStatus

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

func (*Install) String

func (m *Install) String() string

func (*Install) XXX_DiscardUnknown

func (m *Install) XXX_DiscardUnknown()

func (*Install) XXX_Marshal

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

func (*Install) XXX_Merge

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

func (*Install) XXX_OneofFuncs

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

XXX_OneofFuncs is for the internal use of the proto package.

func (*Install) XXX_Size

func (m *Install) XXX_Size() int

func (*Install) XXX_Unmarshal

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

type InstallClient

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

func NewInstallClient

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

func NewInstallClientWithBase

func NewInstallClientWithBase(rc clients.ResourceClient) InstallClient

func NewInstallClientWithToken

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

type InstallEmitter

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

func NewInstallEmitter

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

func NewInstallEmitterWithEmit

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

type InstallEventLoop

type InstallEventLoop interface {
	Run(namespaces []string, opts clients.WatchOpts) (<-chan error, error)
}

func NewInstallEventLoop

func NewInstallEventLoop(emitter InstallEmitter, syncer InstallSyncer) InstallEventLoop

type InstallList

type InstallList []*Install

func (InstallList) AsInputResources

func (list InstallList) AsInputResources() resources.InputResourceList

func (InstallList) AsInterfaces

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

func (InstallList) AsResources

func (list InstallList) AsResources() resources.ResourceList

func (InstallList) Clone

func (list InstallList) Clone() InstallList

func (InstallList) Each

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

func (InstallList) Find

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

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

func (InstallList) Names

func (list InstallList) Names() []string

func (InstallList) NamespacesDotNames

func (list InstallList) NamespacesDotNames() []string

func (InstallList) Sort

func (list InstallList) Sort() InstallList

type InstallReconciler

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

func NewInstallReconciler

func NewInstallReconciler(client InstallClient) InstallReconciler

type InstallSnapshot

type InstallSnapshot struct {
	Installs      InstallsByNamespace
	Meshes        MeshesByNamespace
	Meshingresses MeshingressesByNamespace
}

func (InstallSnapshot) Clone

func (s InstallSnapshot) Clone() InstallSnapshot

func (InstallSnapshot) Hash

func (s InstallSnapshot) Hash() uint64

func (InstallSnapshot) HashFields

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

func (InstallSnapshot) Stringer

type InstallSnapshotStringer

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

func (InstallSnapshotStringer) String

func (ss InstallSnapshotStringer) String() string

type InstallSyncer

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

type InstallSyncers

type InstallSyncers []InstallSyncer

func (InstallSyncers) Sync

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

type Install_Ingress

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

func (*Install_Ingress) Equal

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

type Install_Mesh

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

func (*Install_Mesh) Equal

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

type InstallsByNamespace

type InstallsByNamespace map[string]InstallList

func (InstallsByNamespace) Add

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

func (InstallsByNamespace) Clear

func (byNamespace InstallsByNamespace) Clear(namespace string)

func (InstallsByNamespace) Clone

func (byNamespace InstallsByNamespace) Clone() InstallsByNamespace

func (InstallsByNamespace) List

func (byNamespace InstallsByNamespace) List() InstallList

type IstioInstall

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

Installation options for Istio

func (*IstioInstall) Descriptor

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

func (*IstioInstall) Equal

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

func (*IstioInstall) GetCustomRootCert

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

func (*IstioInstall) GetEnableAutoInject

func (m *IstioInstall) GetEnableAutoInject() bool

func (*IstioInstall) GetEnableMtls

func (m *IstioInstall) GetEnableMtls() bool

func (*IstioInstall) GetInstallGrafana

func (m *IstioInstall) GetInstallGrafana() bool

func (*IstioInstall) GetInstallJaeger

func (m *IstioInstall) GetInstallJaeger() bool

func (*IstioInstall) GetInstallPrometheus

func (m *IstioInstall) GetInstallPrometheus() bool

func (*IstioInstall) GetIstioVersion

func (m *IstioInstall) GetIstioVersion() string

func (*IstioInstall) ProtoMessage

func (*IstioInstall) ProtoMessage()

func (*IstioInstall) Reset

func (m *IstioInstall) Reset()

func (*IstioInstall) String

func (m *IstioInstall) String() string

func (*IstioInstall) XXX_DiscardUnknown

func (m *IstioInstall) XXX_DiscardUnknown()

func (*IstioInstall) XXX_Marshal

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

func (*IstioInstall) XXX_Merge

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

func (*IstioInstall) XXX_Size

func (m *IstioInstall) XXX_Size() int

func (*IstioInstall) XXX_Unmarshal

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

type IstioMesh

type IstioMesh struct {
	// where the istio control plane has been installed
	InstallationNamespace string   `protobuf:"bytes,1,opt,name=installation_namespace,json=installationNamespace,proto3" json:"installation_namespace,omitempty"`
	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) 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 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
	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"`
	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

TODO: modify as needed to populate additional fields

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

func (m *Mesh) GetIstio() *IstioMesh

func (*Mesh) GetMeshType

func (m *Mesh) GetMeshType() isMesh_MeshType

func (*Mesh) GetMetadata

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

func (*Mesh) GetMonitoringConfig

func (m *Mesh) GetMonitoringConfig() *MonitoringConfig

func (*Mesh) GetMtlsConfig

func (m *Mesh) GetMtlsConfig() *MtlsConfig

func (*Mesh) GetObjectKind

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

func (*Mesh) GetStatus

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

func (*Mesh) Hash

func (r *Mesh) Hash() uint64

func (*Mesh) ProtoMessage

func (*Mesh) ProtoMessage()

func (*Mesh) Reset

func (m *Mesh) Reset()

func (*Mesh) SetMetadata

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

func (*Mesh) SetStatus

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

func (*Mesh) String

func (m *Mesh) String() string

func (*Mesh) XXX_DiscardUnknown

func (m *Mesh) XXX_DiscardUnknown()

func (*Mesh) XXX_Marshal

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

func (*Mesh) XXX_Merge

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

func (*Mesh) XXX_OneofFuncs

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

XXX_OneofFuncs is for the internal use of the proto package.

func (*Mesh) XXX_Size

func (m *Mesh) XXX_Size() int

func (*Mesh) XXX_Unmarshal

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

type MeshClient

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

func NewMeshClient

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

func NewMeshClientWithBase

func NewMeshClientWithBase(rc clients.ResourceClient) MeshClient

func NewMeshClientWithToken

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

type MeshGroup

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

func NewMeshGroup

func NewMeshGroup(namespace, name string) *MeshGroup

TODO: modify as needed to populate additional fields

func (*MeshGroup) DeepCopyObject

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

func (*MeshGroup) Descriptor

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

func (*MeshGroup) Equal

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

func (*MeshGroup) GetMeshes

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

func (*MeshGroup) GetMetadata

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

func (*MeshGroup) GetObjectKind

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

func (*MeshGroup) GetStatus

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

func (*MeshGroup) Hash

func (r *MeshGroup) Hash() uint64

func (*MeshGroup) ProtoMessage

func (*MeshGroup) ProtoMessage()

func (*MeshGroup) Reset

func (m *MeshGroup) Reset()

func (*MeshGroup) SetMetadata

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

func (*MeshGroup) SetStatus

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

func (*MeshGroup) String

func (m *MeshGroup) String() string

func (*MeshGroup) XXX_DiscardUnknown

func (m *MeshGroup) XXX_DiscardUnknown()

func (*MeshGroup) XXX_Marshal

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

func (*MeshGroup) XXX_Merge

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

func (*MeshGroup) XXX_Size

func (m *MeshGroup) XXX_Size() int

func (*MeshGroup) XXX_Unmarshal

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

type MeshGroupClient

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

func NewMeshGroupClient

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

func NewMeshGroupClientWithBase

func NewMeshGroupClientWithBase(rc clients.ResourceClient) MeshGroupClient

func NewMeshGroupClientWithToken

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

type MeshGroupList

type MeshGroupList []*MeshGroup

func (MeshGroupList) AsInputResources

func (list MeshGroupList) AsInputResources() resources.InputResourceList

func (MeshGroupList) AsInterfaces

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

func (MeshGroupList) AsResources

func (list MeshGroupList) AsResources() resources.ResourceList

func (MeshGroupList) Clone

func (list MeshGroupList) Clone() MeshGroupList

func (MeshGroupList) Each

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

func (MeshGroupList) Find

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

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

func (MeshGroupList) Names

func (list MeshGroupList) Names() []string

func (MeshGroupList) NamespacesDotNames

func (list MeshGroupList) NamespacesDotNames() []string

func (MeshGroupList) Sort

func (list MeshGroupList) Sort() MeshGroupList

type MeshGroupReconciler

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

func NewMeshGroupReconciler

func NewMeshGroupReconciler(client MeshGroupClient) MeshGroupReconciler

type MeshIngress

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

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

func NewMeshIngress

func NewMeshIngress(namespace, name string) *MeshIngress

TODO: modify as needed to populate additional fields

func (*MeshIngress) DeepCopyObject

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

func (*MeshIngress) Descriptor

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

func (*MeshIngress) Equal

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

func (*MeshIngress) GetGloo

func (m *MeshIngress) GetGloo() *GlooMeshIngress

func (*MeshIngress) GetInstallationNamespace

func (m *MeshIngress) GetInstallationNamespace() string

func (*MeshIngress) GetMeshIngressType

func (m *MeshIngress) GetMeshIngressType() isMeshIngress_MeshIngressType

func (*MeshIngress) GetMeshes

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

func (*MeshIngress) GetMetadata

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

func (*MeshIngress) GetObjectKind

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

func (*MeshIngress) GetStatus

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

func (*MeshIngress) Hash

func (r *MeshIngress) Hash() uint64

func (*MeshIngress) ProtoMessage

func (*MeshIngress) ProtoMessage()

func (*MeshIngress) Reset

func (m *MeshIngress) Reset()

func (*MeshIngress) SetMetadata

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

func (*MeshIngress) SetStatus

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

func (*MeshIngress) String

func (m *MeshIngress) String() string

func (*MeshIngress) XXX_DiscardUnknown

func (m *MeshIngress) XXX_DiscardUnknown()

func (*MeshIngress) XXX_Marshal

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

func (*MeshIngress) XXX_Merge

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

func (*MeshIngress) XXX_OneofFuncs

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

XXX_OneofFuncs is for the internal use of the proto package.

func (*MeshIngress) XXX_Size

func (m *MeshIngress) XXX_Size() int

func (*MeshIngress) XXX_Unmarshal

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

type MeshIngressClient

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

func NewMeshIngressClient

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

func NewMeshIngressClientWithBase

func NewMeshIngressClientWithBase(rc clients.ResourceClient) MeshIngressClient

func NewMeshIngressClientWithToken

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

type MeshIngressInstall

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

Generic container for ingress installs handled by supergloo

Holds all configuration shared between different ingress types

func (*MeshIngressInstall) Descriptor

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

func (*MeshIngressInstall) Equal

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

func (*MeshIngressInstall) GetGloo

func (m *MeshIngressInstall) GetGloo() *GlooInstall

func (*MeshIngressInstall) GetIngressInstallType

func (m *MeshIngressInstall) GetIngressInstallType() isMeshIngressInstall_IngressInstallType

func (*MeshIngressInstall) GetInstalledIngress

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

func (*MeshIngressInstall) ProtoMessage

func (*MeshIngressInstall) ProtoMessage()

func (*MeshIngressInstall) Reset

func (m *MeshIngressInstall) Reset()

func (*MeshIngressInstall) String

func (m *MeshIngressInstall) String() string

func (*MeshIngressInstall) XXX_DiscardUnknown

func (m *MeshIngressInstall) XXX_DiscardUnknown()

func (*MeshIngressInstall) XXX_Marshal

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

func (*MeshIngressInstall) XXX_Merge

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

func (*MeshIngressInstall) XXX_OneofFuncs

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

XXX_OneofFuncs is for the internal use of the proto package.

func (*MeshIngressInstall) XXX_Size

func (m *MeshIngressInstall) XXX_Size() int

func (*MeshIngressInstall) XXX_Unmarshal

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

type MeshIngressInstall_Gloo

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

func (*MeshIngressInstall_Gloo) Equal

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

type MeshIngressList

type MeshIngressList []*MeshIngress

func (MeshIngressList) AsInputResources

func (list MeshIngressList) AsInputResources() resources.InputResourceList

func (MeshIngressList) AsInterfaces

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

func (MeshIngressList) AsResources

func (list MeshIngressList) AsResources() resources.ResourceList

func (MeshIngressList) Clone

func (list MeshIngressList) Clone() MeshIngressList

func (MeshIngressList) Each

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

func (MeshIngressList) Find

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

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

func (MeshIngressList) Names

func (list MeshIngressList) Names() []string

func (MeshIngressList) NamespacesDotNames

func (list MeshIngressList) NamespacesDotNames() []string

func (MeshIngressList) Sort

func (list MeshIngressList) Sort() MeshIngressList

type MeshIngressReconciler

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

func NewMeshIngressReconciler

func NewMeshIngressReconciler(client MeshIngressClient) MeshIngressReconciler

type MeshIngress_Gloo

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

func (*MeshIngress_Gloo) Equal

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

type MeshInstall

type MeshInstall struct {
	// The type of mesh to install
	// currently only istio is supported
	//
	// Types that are valid to be assigned to MeshInstallType:
	//	*MeshInstall_IstioMesh
	MeshInstallType isMeshInstall_MeshInstallType `protobuf_oneof:"mesh_install_type"`
	// reference to the Mesh crd that was created from this install
	// read-only, set by the server after successful installation.
	InstalledMesh        *core.ResourceRef `protobuf:"bytes,6,opt,name=installed_mesh,json=installedMesh,proto3" json:"installed_mesh,omitempty"`
	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) GetInstalledMesh

func (m *MeshInstall) GetInstalledMesh() *core.ResourceRef

func (*MeshInstall) GetIstioMesh

func (m *MeshInstall) GetIstioMesh() *IstioInstall

func (*MeshInstall) GetMeshInstallType

func (m *MeshInstall) GetMeshInstallType() isMeshInstall_MeshInstallType

func (*MeshInstall) ProtoMessage

func (*MeshInstall) ProtoMessage()

func (*MeshInstall) Reset

func (m *MeshInstall) Reset()

func (*MeshInstall) String

func (m *MeshInstall) String() string

func (*MeshInstall) XXX_DiscardUnknown

func (m *MeshInstall) XXX_DiscardUnknown()

func (*MeshInstall) XXX_Marshal

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

func (*MeshInstall) XXX_Merge

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

func (*MeshInstall) XXX_OneofFuncs

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

XXX_OneofFuncs is for the internal use of the proto package.

func (*MeshInstall) XXX_Size

func (m *MeshInstall) XXX_Size() int

func (*MeshInstall) XXX_Unmarshal

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

type MeshInstall_IstioMesh

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

func (*MeshInstall_IstioMesh) Equal

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

type MeshList

type MeshList []*Mesh

func (MeshList) AsInputResources

func (list MeshList) AsInputResources() resources.InputResourceList

func (MeshList) AsInterfaces

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

func (MeshList) AsResources

func (list MeshList) AsResources() resources.ResourceList

func (MeshList) Clone

func (list MeshList) Clone() MeshList

func (MeshList) Each

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

func (MeshList) Find

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

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

func (MeshList) Names

func (list MeshList) Names() []string

func (MeshList) NamespacesDotNames

func (list MeshList) NamespacesDotNames() []string

func (MeshList) Sort

func (list MeshList) Sort() MeshList

type MeshReconciler

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

func NewMeshReconciler

func NewMeshReconciler(client MeshClient) MeshReconciler

type Mesh_AwsAppMesh

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

func (*Mesh_AwsAppMesh) Equal

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

type Mesh_Istio

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

func (*Mesh_Istio) Equal

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

type MeshesByNamespace

type MeshesByNamespace map[string]MeshList

func (MeshesByNamespace) Add

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

func (MeshesByNamespace) Clear

func (byNamespace MeshesByNamespace) Clear(namespace string)

func (MeshesByNamespace) Clone

func (byNamespace MeshesByNamespace) Clone() MeshesByNamespace

func (MeshesByNamespace) List

func (byNamespace MeshesByNamespace) List() MeshList

type MeshgroupsByNamespace

type MeshgroupsByNamespace map[string]MeshGroupList

func (MeshgroupsByNamespace) Add

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

func (MeshgroupsByNamespace) Clear

func (byNamespace MeshgroupsByNamespace) Clear(namespace string)

func (MeshgroupsByNamespace) Clone

func (byNamespace MeshgroupsByNamespace) Clone() MeshgroupsByNamespace

func (MeshgroupsByNamespace) List

func (byNamespace MeshgroupsByNamespace) List() MeshGroupList

type MeshingressesByNamespace

type MeshingressesByNamespace map[string]MeshIngressList

func (MeshingressesByNamespace) Add

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

func (MeshingressesByNamespace) Clear

func (byNamespace MeshingressesByNamespace) Clear(namespace string)

func (MeshingressesByNamespace) Clone

func (MeshingressesByNamespace) List

func (byNamespace MeshingressesByNamespace) List() MeshIngressList

type MonitoringConfig

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

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

func (*MonitoringConfig) Descriptor

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

func (*MonitoringConfig) Equal

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

func (*MonitoringConfig) GetPrometheusConfigmaps

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

func (*MonitoringConfig) ProtoMessage

func (*MonitoringConfig) ProtoMessage()

func (*MonitoringConfig) Reset

func (m *MonitoringConfig) Reset()

func (*MonitoringConfig) String

func (m *MonitoringConfig) String() string

func (*MonitoringConfig) XXX_DiscardUnknown

func (m *MonitoringConfig) XXX_DiscardUnknown()

func (*MonitoringConfig) XXX_Marshal

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

func (*MonitoringConfig) XXX_Merge

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

func (*MonitoringConfig) XXX_Size

func (m *MonitoringConfig) XXX_Size() int

func (*MonitoringConfig) XXX_Unmarshal

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

type MtlsConfig

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

type RegistrationEventLoop interface {
	Run(namespaces []string, opts clients.WatchOpts) (<-chan error, error)
}

func NewRegistrationEventLoop

func NewRegistrationEventLoop(emitter RegistrationEmitter, syncer RegistrationSyncer) RegistrationEventLoop

type RegistrationSnapshot

type RegistrationSnapshot struct {
	Meshes        MeshesByNamespace
	Meshingresses MeshingressesByNamespace
}

func (RegistrationSnapshot) Clone

func (RegistrationSnapshot) Hash

func (s RegistrationSnapshot) Hash() uint64

func (RegistrationSnapshot) HashFields

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

func (RegistrationSnapshot) Stringer

type RegistrationSnapshotStringer

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

func (RegistrationSnapshotStringer) String

type RegistrationSyncer

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

type RegistrationSyncers

type RegistrationSyncers []RegistrationSyncer

func (RegistrationSyncers) Sync

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

TODO: modify as needed to populate additional fields

func (*RoutingRule) DeepCopyObject

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

func (*RoutingRule) Descriptor

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

func (*RoutingRule) Equal

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

func (*RoutingRule) GetDestinationSelector

func (m *RoutingRule) GetDestinationSelector() *PodSelector

func (*RoutingRule) GetMetadata

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

func (*RoutingRule) GetObjectKind

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

func (*RoutingRule) GetRequestMatchers

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

func (*RoutingRule) GetSourceSelector

func (m *RoutingRule) GetSourceSelector() *PodSelector

func (*RoutingRule) GetSpec

func (m *RoutingRule) GetSpec() *RoutingRuleSpec

func (*RoutingRule) GetStatus

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

func (*RoutingRule) GetTargetMesh

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

func (*RoutingRule) Hash

func (r *RoutingRule) Hash() uint64

func (*RoutingRule) ProtoMessage

func (*RoutingRule) ProtoMessage()

func (*RoutingRule) Reset

func (m *RoutingRule) Reset()

func (*RoutingRule) SetMetadata

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

func (*RoutingRule) SetStatus

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

func (*RoutingRule) String

func (m *RoutingRule) String() string

func (*RoutingRule) XXX_DiscardUnknown

func (m *RoutingRule) XXX_DiscardUnknown()

func (*RoutingRule) XXX_Marshal

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

func (*RoutingRule) XXX_Merge

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

func (*RoutingRule) XXX_Size

func (m *RoutingRule) XXX_Size() int

func (*RoutingRule) XXX_Unmarshal

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

type RoutingRuleClient

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

func NewRoutingRuleClient

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

func NewRoutingRuleClientWithBase

func NewRoutingRuleClientWithBase(rc clients.ResourceClient) RoutingRuleClient

func NewRoutingRuleClientWithToken

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

type RoutingRuleList

type RoutingRuleList []*RoutingRule

func (RoutingRuleList) AsInputResources

func (list RoutingRuleList) AsInputResources() resources.InputResourceList

func (RoutingRuleList) AsInterfaces

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

func (RoutingRuleList) AsResources

func (list RoutingRuleList) AsResources() resources.ResourceList

func (RoutingRuleList) Clone

func (list RoutingRuleList) Clone() RoutingRuleList

func (RoutingRuleList) Each

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

func (RoutingRuleList) Find

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

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

func (RoutingRuleList) Names

func (list RoutingRuleList) Names() []string

func (RoutingRuleList) NamespacesDotNames

func (list RoutingRuleList) NamespacesDotNames() []string

func (RoutingRuleList) Sort

func (list RoutingRuleList) Sort() RoutingRuleList

type RoutingRuleReconciler

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

func NewRoutingRuleReconciler

func NewRoutingRuleReconciler(client RoutingRuleClient) RoutingRuleReconciler

type RoutingRuleSpec

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

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

func (*RoutingRuleSpec) Descriptor

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

func (*RoutingRuleSpec) Equal

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

func (*RoutingRuleSpec) GetCorsPolicy

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

func (*RoutingRuleSpec) GetFaultInjection

func (m *RoutingRuleSpec) GetFaultInjection() *FaultInjection

func (*RoutingRuleSpec) GetHeaderManipulation

func (m *RoutingRuleSpec) GetHeaderManipulation() *HeaderManipulation

func (*RoutingRuleSpec) GetMirror

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

func (*RoutingRuleSpec) GetRequestTimeout

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

func (*RoutingRuleSpec) GetRetries

func (m *RoutingRuleSpec) GetRetries() *v1alpha3.HTTPRetry

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 *types.Duration `protobuf:"bytes,7,opt,name=request_timeout,json=requestTimeout,proto3,oneof"`
}

func (*RoutingRuleSpec_RequestTimeout) Equal

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

type RoutingRuleSpec_Retries

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

func (*RoutingRuleSpec_Retries) Equal

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

type RoutingRuleSpec_TrafficShifting

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

func (*RoutingRuleSpec_TrafficShifting) Equal

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

type RoutingrulesByNamespace

type RoutingrulesByNamespace map[string]RoutingRuleList

func (RoutingrulesByNamespace) Add

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

func (RoutingrulesByNamespace) Clear

func (byNamespace RoutingrulesByNamespace) Clear(namespace string)

func (RoutingrulesByNamespace) Clone

func (RoutingrulesByNamespace) List

func (byNamespace RoutingrulesByNamespace) List() RoutingRuleList

type SecurityRule

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

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

func NewSecurityRule

func NewSecurityRule(namespace, name string) *SecurityRule

TODO: modify as needed to populate additional fields

func (*SecurityRule) DeepCopyObject

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

func (*SecurityRule) Descriptor

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

func (*SecurityRule) Equal

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

func (*SecurityRule) GetAllowedMethods

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

func (*SecurityRule) GetAllowedPaths

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

func (*SecurityRule) GetDestinationSelector

func (m *SecurityRule) GetDestinationSelector() *PodSelector

func (*SecurityRule) GetMetadata

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

func (*SecurityRule) GetObjectKind

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

func (*SecurityRule) GetSourceSelector

func (m *SecurityRule) GetSourceSelector() *PodSelector

func (*SecurityRule) GetStatus

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

func (*SecurityRule) GetTargetMesh

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

func (*SecurityRule) Hash

func (r *SecurityRule) Hash() uint64

func (*SecurityRule) ProtoMessage

func (*SecurityRule) ProtoMessage()

func (*SecurityRule) Reset

func (m *SecurityRule) Reset()

func (*SecurityRule) SetMetadata

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

func (*SecurityRule) SetStatus

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

func (*SecurityRule) String

func (m *SecurityRule) String() string

func (*SecurityRule) XXX_DiscardUnknown

func (m *SecurityRule) XXX_DiscardUnknown()

func (*SecurityRule) XXX_Marshal

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

func (*SecurityRule) XXX_Merge

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

func (*SecurityRule) XXX_Size

func (m *SecurityRule) XXX_Size() int

func (*SecurityRule) XXX_Unmarshal

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

type SecurityRuleClient

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

func NewSecurityRuleClient

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

func NewSecurityRuleClientWithBase

func NewSecurityRuleClientWithBase(rc clients.ResourceClient) SecurityRuleClient

func NewSecurityRuleClientWithToken

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

type SecurityRuleList

type SecurityRuleList []*SecurityRule

func (SecurityRuleList) AsInputResources

func (list SecurityRuleList) AsInputResources() resources.InputResourceList

func (SecurityRuleList) AsInterfaces

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

func (SecurityRuleList) AsResources

func (list SecurityRuleList) AsResources() resources.ResourceList

func (SecurityRuleList) Clone

func (list SecurityRuleList) Clone() SecurityRuleList

func (SecurityRuleList) Each

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

func (SecurityRuleList) Find

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

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

func (SecurityRuleList) Names

func (list SecurityRuleList) Names() []string

func (SecurityRuleList) NamespacesDotNames

func (list SecurityRuleList) NamespacesDotNames() []string

func (SecurityRuleList) Sort

func (list SecurityRuleList) Sort() SecurityRuleList

type SecurityRuleReconciler

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

func NewSecurityRuleReconciler

func NewSecurityRuleReconciler(client SecurityRuleClient) SecurityRuleReconciler

type SecurityrulesByNamespace

type SecurityrulesByNamespace map[string]SecurityRuleList

func (SecurityrulesByNamespace) Add

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

func (SecurityrulesByNamespace) Clear

func (byNamespace SecurityrulesByNamespace) Clear(namespace string)

func (SecurityrulesByNamespace) Clone

func (SecurityrulesByNamespace) List

func (byNamespace SecurityrulesByNamespace) List() SecurityRuleList

type 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

TODO: modify as needed to populate additional fields

func (*TlsSecret) DeepCopyObject

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

func (*TlsSecret) Descriptor

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

func (*TlsSecret) Equal

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

func (*TlsSecret) GetCaCert

func (m *TlsSecret) GetCaCert() string

func (*TlsSecret) GetCaKey

func (m *TlsSecret) GetCaKey() string

func (*TlsSecret) GetCertChain

func (m *TlsSecret) GetCertChain() string

func (*TlsSecret) GetMetadata

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

func (*TlsSecret) GetObjectKind

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

func (*TlsSecret) GetRootCert

func (m *TlsSecret) GetRootCert() string

func (*TlsSecret) Hash

func (r *TlsSecret) Hash() uint64

func (*TlsSecret) ProtoMessage

func (*TlsSecret) ProtoMessage()

func (*TlsSecret) Reset

func (m *TlsSecret) Reset()

func (*TlsSecret) SetMetadata

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

func (*TlsSecret) String

func (m *TlsSecret) String() string

func (*TlsSecret) XXX_DiscardUnknown

func (m *TlsSecret) XXX_DiscardUnknown()

func (*TlsSecret) XXX_Marshal

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

func (*TlsSecret) XXX_Merge

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

func (*TlsSecret) XXX_Size

func (m *TlsSecret) XXX_Size() int

func (*TlsSecret) XXX_Unmarshal

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

type TlsSecretClient

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

func NewTlsSecretClient

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

func NewTlsSecretClientWithBase

func NewTlsSecretClientWithBase(rc clients.ResourceClient) TlsSecretClient

func NewTlsSecretClientWithToken

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

type TlsSecretList

type TlsSecretList []*TlsSecret

func (TlsSecretList) AsInterfaces

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

func (TlsSecretList) AsResources

func (list TlsSecretList) AsResources() resources.ResourceList

func (TlsSecretList) Clone

func (list TlsSecretList) Clone() TlsSecretList

func (TlsSecretList) Each

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

func (TlsSecretList) Find

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

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

func (TlsSecretList) Names

func (list TlsSecretList) Names() []string

func (TlsSecretList) NamespacesDotNames

func (list TlsSecretList) NamespacesDotNames() []string

func (TlsSecretList) Sort

func (list TlsSecretList) Sort() TlsSecretList

type TlsSecretReconciler

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

func NewTlsSecretReconciler

func NewTlsSecretReconciler(client TlsSecretClient) TlsSecretReconciler

type TlssecretsByNamespace

type TlssecretsByNamespace map[string]TlsSecretList

func (TlssecretsByNamespace) Add

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

func (TlssecretsByNamespace) Clear

func (byNamespace TlssecretsByNamespace) Clear(namespace string)

func (TlssecretsByNamespace) Clone

func (byNamespace TlssecretsByNamespace) Clone() TlssecretsByNamespace

func (TlssecretsByNamespace) List

func (byNamespace TlssecretsByNamespace) List() TlsSecretList

type TrafficShifting

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

requests for this rule will be routed to these destinations

func (*TrafficShifting) Descriptor

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

func (*TrafficShifting) Equal

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

func (*TrafficShifting) GetDestinations

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

func (*TrafficShifting) ProtoMessage

func (*TrafficShifting) ProtoMessage()

func (*TrafficShifting) Reset

func (m *TrafficShifting) Reset()

func (*TrafficShifting) String

func (m *TrafficShifting) String() string

func (*TrafficShifting) XXX_DiscardUnknown

func (m *TrafficShifting) XXX_DiscardUnknown()

func (*TrafficShifting) XXX_Marshal

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

func (*TrafficShifting) XXX_Merge

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

func (*TrafficShifting) XXX_Size

func (m *TrafficShifting) XXX_Size() int

func (*TrafficShifting) XXX_Unmarshal

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

type TransitionInstallFunc

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

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

type TransitionMeshFunc

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

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

type TransitionMeshGroupFunc

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

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

type TransitionMeshIngressFunc

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

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

type 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

Jump to

Keyboard shortcuts

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