Documentation ¶
Index ¶
- Variables
- func NewStatusEventLoop(emitter StatusSnapshotEmitter, syncer StatusSyncer) eventloop.EventLoop
- func NewStatusSimpleEventLoop(emitter StatusSimpleEmitter, syncers ...StatusSyncer) eventloop.SimpleEventLoop
- func NewTranslatorEventLoop(emitter TranslatorSnapshotEmitter, syncer TranslatorSyncer) eventloop.EventLoop
- func NewTranslatorSimpleEventLoop(emitter TranslatorSimpleEmitter, syncers ...TranslatorSyncer) eventloop.SimpleEventLoop
- type Ingress
- func (o *Ingress) DeepCopyInto(out *Ingress)
- func (o *Ingress) DeepCopyObject() runtime.Object
- func (*Ingress) Descriptor() ([]byte, []int)
- func (this *Ingress) Equal(that interface{}) bool
- func (m *Ingress) GetKubeIngressSpec() *types.Any
- func (m *Ingress) GetKubeIngressStatus() *types.Any
- func (m *Ingress) GetMetadata() core.Metadata
- func (o *Ingress) GetObjectKind() schema.ObjectKind
- func (r *Ingress) GroupVersionKind() schema.GroupVersionKind
- func (r *Ingress) Hash() uint64
- func (*Ingress) ProtoMessage()
- func (m *Ingress) Reset()
- func (r *Ingress) SetMetadata(meta core.Metadata)
- func (m *Ingress) String() string
- func (m *Ingress) XXX_DiscardUnknown()
- func (m *Ingress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Ingress) XXX_Merge(src proto.Message)
- func (m *Ingress) XXX_Size() int
- func (m *Ingress) XXX_Unmarshal(b []byte) error
- type IngressClient
- type IngressList
- func (list IngressList) AsInterfaces() []interface{}
- func (list IngressList) AsResources() resources.ResourceList
- func (list IngressList) Clone() IngressList
- func (list IngressList) Each(f func(element *Ingress))
- func (list IngressList) EachResource(f func(element resources.Resource))
- func (list IngressList) Find(namespace, name string) (*Ingress, error)
- func (list IngressList) Names() []string
- func (list IngressList) NamespacesDotNames() []string
- func (list IngressList) Sort() IngressList
- type IngressReconciler
- type IngressWatcher
- type KubeService
- func (o *KubeService) DeepCopyInto(out *KubeService)
- func (o *KubeService) DeepCopyObject() runtime.Object
- func (*KubeService) Descriptor() ([]byte, []int)
- func (this *KubeService) Equal(that interface{}) bool
- func (m *KubeService) GetKubeServiceSpec() *types.Any
- func (m *KubeService) GetKubeServiceStatus() *types.Any
- func (m *KubeService) GetMetadata() core.Metadata
- func (o *KubeService) GetObjectKind() schema.ObjectKind
- func (r *KubeService) GroupVersionKind() schema.GroupVersionKind
- func (r *KubeService) Hash() uint64
- func (*KubeService) ProtoMessage()
- func (m *KubeService) Reset()
- func (r *KubeService) SetMetadata(meta core.Metadata)
- func (m *KubeService) String() string
- func (m *KubeService) XXX_DiscardUnknown()
- func (m *KubeService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *KubeService) XXX_Merge(src proto.Message)
- func (m *KubeService) XXX_Size() int
- func (m *KubeService) XXX_Unmarshal(b []byte) error
- type KubeServiceClient
- type KubeServiceList
- func (list KubeServiceList) AsInterfaces() []interface{}
- func (list KubeServiceList) AsResources() resources.ResourceList
- func (list KubeServiceList) Clone() KubeServiceList
- func (list KubeServiceList) Each(f func(element *KubeService))
- func (list KubeServiceList) EachResource(f func(element resources.Resource))
- func (list KubeServiceList) Find(namespace, name string) (*KubeService, error)
- func (list KubeServiceList) Names() []string
- func (list KubeServiceList) NamespacesDotNames() []string
- func (list KubeServiceList) Sort() KubeServiceList
- type KubeServiceReconciler
- type KubeServiceWatcher
- type StatusEmitter
- type StatusSimpleEmitter
- type StatusSnapshot
- type StatusSnapshotEmitter
- type StatusSnapshotStringer
- type StatusSyncDeciderdeprecated
- type StatusSyncDeciderWithContext
- type StatusSyncer
- type StatusSyncers
- type TransitionIngressFunc
- type TransitionKubeServiceFunc
- type TranslatorEmitter
- type TranslatorSimpleEmitter
- type TranslatorSnapshot
- type TranslatorSnapshotEmitter
- type TranslatorSnapshotStringer
- type TranslatorSyncDeciderdeprecated
- type TranslatorSyncDeciderWithContext
- type TranslatorSyncer
- type TranslatorSyncers
Constants ¶
This section is empty.
Variables ¶
View Source
var ( IngressCrd = crd.NewCrd( "ingresses", IngressGVK.Group, IngressGVK.Version, IngressGVK.Kind, "ig", false, &Ingress{}) )
View Source
var (
IngressGVK = schema.GroupVersionKind{
Version: "v1",
Group: "ingress.solo.io",
Kind: "Ingress",
}
)
View Source
var ( KubeServiceCrd = crd.NewCrd( "services", KubeServiceGVK.Group, KubeServiceGVK.Version, KubeServiceGVK.Kind, "sv", false, &KubeService{}) )
View Source
var (
KubeServiceGVK = schema.GroupVersionKind{
Version: "v1",
Group: "ingress.solo.io",
Kind: "KubeService",
}
)
Functions ¶
func NewStatusEventLoop ¶
func NewStatusEventLoop(emitter StatusSnapshotEmitter, syncer StatusSyncer) eventloop.EventLoop
func NewStatusSimpleEventLoop ¶
func NewStatusSimpleEventLoop(emitter StatusSimpleEmitter, syncers ...StatusSyncer) eventloop.SimpleEventLoop
func NewTranslatorEventLoop ¶
func NewTranslatorEventLoop(emitter TranslatorSnapshotEmitter, syncer TranslatorSyncer) eventloop.EventLoop
func NewTranslatorSimpleEventLoop ¶
func NewTranslatorSimpleEventLoop(emitter TranslatorSimpleEmitter, syncers ...TranslatorSyncer) eventloop.SimpleEventLoop
Types ¶
type Ingress ¶
type Ingress struct { // a raw byte representation of the kubernetes ingress this resource wraps KubeIngressSpec *types.Any `protobuf:"bytes,1,opt,name=kube_ingress_spec,json=kubeIngressSpec,proto3" json:"kube_ingress_spec,omitempty"` // a raw byte representation of the ingress status of the kubernetes ingress object KubeIngressStatus *types.Any `protobuf:"bytes,2,opt,name=kube_ingress_status,json=kubeIngressStatus,proto3" json:"kube_ingress_status,omitempty"` // Metadata contains the object metadata for this resource Metadata core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
A simple wrapper for a Kubernetes Ingress Object.
func NewIngress ¶
func (*Ingress) DeepCopyInto ¶
func (*Ingress) DeepCopyObject ¶
func (*Ingress) Descriptor ¶
func (*Ingress) GetKubeIngressSpec ¶
func (*Ingress) GetKubeIngressStatus ¶
func (*Ingress) GetMetadata ¶
func (*Ingress) GetObjectKind ¶
func (o *Ingress) GetObjectKind() schema.ObjectKind
func (*Ingress) GroupVersionKind ¶
func (r *Ingress) GroupVersionKind() schema.GroupVersionKind
func (*Ingress) ProtoMessage ¶
func (*Ingress) ProtoMessage()
func (*Ingress) SetMetadata ¶
func (*Ingress) XXX_DiscardUnknown ¶
func (m *Ingress) XXX_DiscardUnknown()
func (*Ingress) XXX_Marshal ¶
func (*Ingress) XXX_Unmarshal ¶
type IngressClient ¶
type IngressClient interface { BaseClient() clients.ResourceClient Register() error Read(namespace, name string, opts clients.ReadOpts) (*Ingress, error) Write(resource *Ingress, opts clients.WriteOpts) (*Ingress, error) Delete(namespace, name string, opts clients.DeleteOpts) error List(namespace string, opts clients.ListOpts) (IngressList, error) IngressWatcher }
func NewIngressClient ¶
func NewIngressClient(rcFactory factory.ResourceClientFactory) (IngressClient, error)
func NewIngressClientWithBase ¶
func NewIngressClientWithBase(rc clients.ResourceClient) IngressClient
func NewIngressClientWithToken ¶
func NewIngressClientWithToken(rcFactory factory.ResourceClientFactory, token string) (IngressClient, error)
type IngressList ¶
type IngressList []*Ingress
func (IngressList) AsInterfaces ¶
func (list IngressList) AsInterfaces() []interface{}
func (IngressList) AsResources ¶
func (list IngressList) AsResources() resources.ResourceList
func (IngressList) Clone ¶
func (list IngressList) Clone() IngressList
func (IngressList) Each ¶
func (list IngressList) Each(f func(element *Ingress))
func (IngressList) EachResource ¶
func (list IngressList) EachResource(f func(element resources.Resource))
func (IngressList) Find ¶
func (list IngressList) Find(namespace, name string) (*Ingress, error)
namespace is optional, if left empty, names can collide if the list contains more than one with the same name
func (IngressList) Names ¶
func (list IngressList) Names() []string
func (IngressList) NamespacesDotNames ¶
func (list IngressList) NamespacesDotNames() []string
func (IngressList) Sort ¶
func (list IngressList) Sort() IngressList
type IngressReconciler ¶
type IngressReconciler interface {
Reconcile(namespace string, desiredResources IngressList, transition TransitionIngressFunc, opts clients.ListOpts) error
}
func NewIngressReconciler ¶
func NewIngressReconciler(client IngressClient) IngressReconciler
type IngressWatcher ¶
type KubeService ¶
type KubeService struct { // a raw byte representation of the kubernetes service this resource wraps KubeServiceSpec *types.Any `protobuf:"bytes,1,opt,name=kube_service_spec,json=kubeServiceSpec,proto3" json:"kube_service_spec,omitempty"` // a raw byte representation of the service status of the kubernetes service object KubeServiceStatus *types.Any `protobuf:"bytes,2,opt,name=kube_service_status,json=kubeServiceStatus,proto3" json:"kube_service_status,omitempty"` // Metadata contains the object metadata for this resource Metadata core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
A simple wrapper for a Kubernetes Service Object.
func NewKubeService ¶
func NewKubeService(namespace, name string) *KubeService
func (*KubeService) DeepCopyInto ¶
func (o *KubeService) DeepCopyInto(out *KubeService)
func (*KubeService) DeepCopyObject ¶
func (o *KubeService) DeepCopyObject() runtime.Object
func (*KubeService) Descriptor ¶
func (*KubeService) Descriptor() ([]byte, []int)
func (*KubeService) Equal ¶
func (this *KubeService) Equal(that interface{}) bool
func (*KubeService) GetKubeServiceSpec ¶
func (m *KubeService) GetKubeServiceSpec() *types.Any
func (*KubeService) GetKubeServiceStatus ¶
func (m *KubeService) GetKubeServiceStatus() *types.Any
func (*KubeService) GetMetadata ¶
func (m *KubeService) GetMetadata() core.Metadata
func (*KubeService) GetObjectKind ¶
func (o *KubeService) GetObjectKind() schema.ObjectKind
func (*KubeService) GroupVersionKind ¶
func (r *KubeService) GroupVersionKind() schema.GroupVersionKind
func (*KubeService) Hash ¶
func (r *KubeService) Hash() uint64
func (*KubeService) ProtoMessage ¶
func (*KubeService) ProtoMessage()
func (*KubeService) Reset ¶
func (m *KubeService) Reset()
func (*KubeService) SetMetadata ¶
func (r *KubeService) SetMetadata(meta core.Metadata)
func (*KubeService) String ¶
func (m *KubeService) String() string
func (*KubeService) XXX_DiscardUnknown ¶
func (m *KubeService) XXX_DiscardUnknown()
func (*KubeService) XXX_Marshal ¶
func (m *KubeService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*KubeService) XXX_Merge ¶
func (m *KubeService) XXX_Merge(src proto.Message)
func (*KubeService) XXX_Size ¶
func (m *KubeService) XXX_Size() int
func (*KubeService) XXX_Unmarshal ¶
func (m *KubeService) XXX_Unmarshal(b []byte) error
type KubeServiceClient ¶
type KubeServiceClient interface { BaseClient() clients.ResourceClient Register() error Read(namespace, name string, opts clients.ReadOpts) (*KubeService, error) Write(resource *KubeService, opts clients.WriteOpts) (*KubeService, error) Delete(namespace, name string, opts clients.DeleteOpts) error List(namespace string, opts clients.ListOpts) (KubeServiceList, error) KubeServiceWatcher }
func NewKubeServiceClient ¶
func NewKubeServiceClient(rcFactory factory.ResourceClientFactory) (KubeServiceClient, error)
func NewKubeServiceClientWithBase ¶
func NewKubeServiceClientWithBase(rc clients.ResourceClient) KubeServiceClient
func NewKubeServiceClientWithToken ¶
func NewKubeServiceClientWithToken(rcFactory factory.ResourceClientFactory, token string) (KubeServiceClient, error)
type KubeServiceList ¶
type KubeServiceList []*KubeService
func (KubeServiceList) AsInterfaces ¶
func (list KubeServiceList) AsInterfaces() []interface{}
func (KubeServiceList) AsResources ¶
func (list KubeServiceList) AsResources() resources.ResourceList
func (KubeServiceList) Clone ¶
func (list KubeServiceList) Clone() KubeServiceList
func (KubeServiceList) Each ¶
func (list KubeServiceList) Each(f func(element *KubeService))
func (KubeServiceList) EachResource ¶
func (list KubeServiceList) EachResource(f func(element resources.Resource))
func (KubeServiceList) Find ¶
func (list KubeServiceList) Find(namespace, name string) (*KubeService, error)
namespace is optional, if left empty, names can collide if the list contains more than one with the same name
func (KubeServiceList) Names ¶
func (list KubeServiceList) Names() []string
func (KubeServiceList) NamespacesDotNames ¶
func (list KubeServiceList) NamespacesDotNames() []string
func (KubeServiceList) Sort ¶
func (list KubeServiceList) Sort() KubeServiceList
type KubeServiceReconciler ¶
type KubeServiceReconciler interface {
Reconcile(namespace string, desiredResources KubeServiceList, transition TransitionKubeServiceFunc, opts clients.ListOpts) error
}
func NewKubeServiceReconciler ¶
func NewKubeServiceReconciler(client KubeServiceClient) KubeServiceReconciler
type KubeServiceWatcher ¶
type StatusEmitter ¶
type StatusEmitter interface { StatusSnapshotEmitter Register() error KubeService() KubeServiceClient Ingress() IngressClient }
func NewStatusEmitter ¶
func NewStatusEmitter(kubeServiceClient KubeServiceClient, ingressClient IngressClient) StatusEmitter
func NewStatusEmitterWithEmit ¶
func NewStatusEmitterWithEmit(kubeServiceClient KubeServiceClient, ingressClient IngressClient, emit <-chan struct{}) StatusEmitter
type StatusSimpleEmitter ¶
type StatusSimpleEmitter interface {
Snapshots(ctx context.Context) (<-chan *StatusSnapshot, <-chan error, error)
}
func NewStatusSimpleEmitter ¶
func NewStatusSimpleEmitter(aggregatedWatch clients.ResourceWatch) StatusSimpleEmitter
func NewStatusSimpleEmitterWithEmit ¶
func NewStatusSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) StatusSimpleEmitter
type StatusSnapshot ¶
type StatusSnapshot struct { Services KubeServiceList Ingresses IngressList }
func (StatusSnapshot) Clone ¶
func (s StatusSnapshot) Clone() StatusSnapshot
func (StatusSnapshot) Hash ¶
func (s StatusSnapshot) Hash() uint64
func (StatusSnapshot) HashFields ¶
func (s StatusSnapshot) HashFields() []zap.Field
func (StatusSnapshot) Stringer ¶
func (s StatusSnapshot) Stringer() StatusSnapshotStringer
type StatusSnapshotEmitter ¶
type StatusSnapshotStringer ¶
func (StatusSnapshotStringer) String ¶
func (ss StatusSnapshotStringer) String() string
type StatusSyncDecider
deprecated
type StatusSyncDecider interface { StatusSyncer ShouldSync(old, new *StatusSnapshot) bool }
Deprecated: use StatusSyncDeciderWithContext
type StatusSyncDeciderWithContext ¶
type StatusSyncDeciderWithContext interface { StatusSyncer ShouldSync(ctx context.Context, old, new *StatusSnapshot) bool }
type StatusSyncer ¶
type StatusSyncer interface {
Sync(context.Context, *StatusSnapshot) error
}
type StatusSyncers ¶
type StatusSyncers []StatusSyncer
func (StatusSyncers) Sync ¶
func (s StatusSyncers) Sync(ctx context.Context, snapshot *StatusSnapshot) error
type TransitionIngressFunc ¶
Option to copy anything from the original to the desired before writing. Return value of false means don't update
type TransitionKubeServiceFunc ¶
type TransitionKubeServiceFunc func(original, desired *KubeService) (bool, error)
Option to copy anything from the original to the desired before writing. Return value of false means don't update
type TranslatorEmitter ¶
type TranslatorEmitter interface { TranslatorSnapshotEmitter Register() error Secret() gloo_solo_io.SecretClient Upstream() gloo_solo_io.UpstreamClient Ingress() IngressClient }
func NewTranslatorEmitter ¶
func NewTranslatorEmitter(secretClient gloo_solo_io.SecretClient, upstreamClient gloo_solo_io.UpstreamClient, ingressClient IngressClient) TranslatorEmitter
func NewTranslatorEmitterWithEmit ¶
func NewTranslatorEmitterWithEmit(secretClient gloo_solo_io.SecretClient, upstreamClient gloo_solo_io.UpstreamClient, ingressClient IngressClient, emit <-chan struct{}) TranslatorEmitter
type TranslatorSimpleEmitter ¶
type TranslatorSimpleEmitter interface {
Snapshots(ctx context.Context) (<-chan *TranslatorSnapshot, <-chan error, error)
}
func NewTranslatorSimpleEmitter ¶
func NewTranslatorSimpleEmitter(aggregatedWatch clients.ResourceWatch) TranslatorSimpleEmitter
func NewTranslatorSimpleEmitterWithEmit ¶
func NewTranslatorSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) TranslatorSimpleEmitter
type TranslatorSnapshot ¶
type TranslatorSnapshot struct { Secrets gloo_solo_io.SecretList Upstreams gloo_solo_io.UpstreamList Ingresses IngressList }
func (TranslatorSnapshot) Clone ¶
func (s TranslatorSnapshot) Clone() TranslatorSnapshot
func (TranslatorSnapshot) Hash ¶
func (s TranslatorSnapshot) Hash() uint64
func (TranslatorSnapshot) HashFields ¶
func (s TranslatorSnapshot) HashFields() []zap.Field
func (TranslatorSnapshot) Stringer ¶
func (s TranslatorSnapshot) Stringer() TranslatorSnapshotStringer
type TranslatorSnapshotStringer ¶
type TranslatorSnapshotStringer struct { Version uint64 Secrets []string Upstreams []string Ingresses []string }
func (TranslatorSnapshotStringer) String ¶
func (ss TranslatorSnapshotStringer) String() string
type TranslatorSyncDecider
deprecated
type TranslatorSyncDecider interface { TranslatorSyncer ShouldSync(old, new *TranslatorSnapshot) bool }
Deprecated: use TranslatorSyncDeciderWithContext
type TranslatorSyncDeciderWithContext ¶
type TranslatorSyncDeciderWithContext interface { TranslatorSyncer ShouldSync(ctx context.Context, old, new *TranslatorSnapshot) bool }
type TranslatorSyncer ¶
type TranslatorSyncer interface {
Sync(context.Context, *TranslatorSnapshot) error
}
type TranslatorSyncers ¶
type TranslatorSyncers []TranslatorSyncer
func (TranslatorSyncers) Sync ¶
func (s TranslatorSyncers) Sync(ctx context.Context, snapshot *TranslatorSnapshot) error
Source Files ¶
- ingress.pb.go
- ingress.sk.go
- ingress_client.sk.go
- ingress_reconciler.sk.go
- kube_service.sk.go
- kube_service_client.sk.go
- kube_service_reconciler.sk.go
- service.pb.go
- status_event_loop.sk.go
- status_simple_event_loop.sk.go
- status_snapshot.sk.go
- status_snapshot_emitter.sk.go
- status_snapshot_simple_emitter.sk.go
- translator_event_loop.sk.go
- translator_simple_event_loop.sk.go
- translator_snapshot.sk.go
- translator_snapshot_emitter.sk.go
- translator_snapshot_simple_emitter.sk.go
Click to show internal directories.
Click to hide internal directories.