Documentation ¶
Index ¶
- Variables
- func NewApiEventLoop(emitter ApiSnapshotEmitter, syncer ApiSyncer) eventloop.EventLoop
- func NewApiSimpleEventLoop(emitter ApiSimpleEmitter, syncers ...ApiSyncer) eventloop.SimpleEventLoop
- type ApiEmitter
- type ApiSimpleEmitter
- type ApiSnapshot
- func (s ApiSnapshot) Clone() ApiSnapshot
- func (s *ApiSnapshot) GetResourcesList(resource resources.Resource) (resources.ResourceList, error)
- func (s ApiSnapshot) Hash(hasher hash.Hash64) (uint64, error)
- func (s ApiSnapshot) HashFields() []zap.Field
- func (s *ApiSnapshot) RemoveFromResourceList(resource resources.Resource) error
- func (s ApiSnapshot) Stringer() ApiSnapshotStringer
- func (s *ApiSnapshot) UpsertToResourceList(resource resources.Resource) error
- type ApiSnapshotEmitter
- type ApiSnapshotStringer
- type ApiSyncDeciderdeprecated
- type ApiSyncDeciderWithContext
- type ApiSyncer
- type ApiSyncers
Constants ¶
This section is empty.
Variables ¶
View Source
var ApiGvkToHashableResource = map[schema.GroupVersionKind]func() resources.HashableResource{ gloo_solo_io.ArtifactGVK: gloo_solo_io.NewArtifactHashableResource, gloo_solo_io.EndpointGVK: gloo_solo_io.NewEndpointHashableResource, gloo_solo_io.ProxyGVK: gloo_solo_io.NewProxyHashableResource, gloo_solo_io.UpstreamGroupGVK: gloo_solo_io.NewUpstreamGroupHashableResource, gloo_solo_io.SecretGVK: gloo_solo_io.NewSecretHashableResource, gloo_solo_io.UpstreamGVK: gloo_solo_io.NewUpstreamHashableResource, enterprise_gloo_solo_io.AuthConfigGVK: enterprise_gloo_solo_io.NewAuthConfigHashableResource, github_com_solo_io_gloo_projects_gloo_pkg_api_external_solo_ratelimit.RateLimitConfigGVK: github_com_solo_io_gloo_projects_gloo_pkg_api_external_solo_ratelimit.NewRateLimitConfigHashableResource, gateway_solo_io.VirtualServiceGVK: gateway_solo_io.NewVirtualServiceHashableResource, gateway_solo_io.RouteTableGVK: gateway_solo_io.NewRouteTableHashableResource, gateway_solo_io.GatewayGVK: gateway_solo_io.NewGatewayHashableResource, gateway_solo_io.VirtualHostOptionGVK: gateway_solo_io.NewVirtualHostOptionHashableResource, gateway_solo_io.RouteOptionGVK: gateway_solo_io.NewRouteOptionHashableResource, gateway_solo_io.MatchableHttpGatewayGVK: gateway_solo_io.NewMatchableHttpGatewayHashableResource, graphql_gloo_solo_io.GraphQLApiGVK: graphql_gloo_solo_io.NewGraphQLApiHashableResource, }
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_gloosnapshot_snap_proto protoreflect.FileDescriptor
Functions ¶
func NewApiEventLoop ¶
func NewApiEventLoop(emitter ApiSnapshotEmitter, syncer ApiSyncer) eventloop.EventLoop
func NewApiSimpleEventLoop ¶
func NewApiSimpleEventLoop(emitter ApiSimpleEmitter, syncers ...ApiSyncer) eventloop.SimpleEventLoop
Types ¶
type ApiEmitter ¶
type ApiEmitter interface { ApiSnapshotEmitter Register() error Artifact() gloo_solo_io.ArtifactClient Endpoint() gloo_solo_io.EndpointClient Proxy() gloo_solo_io.ProxyClient UpstreamGroup() gloo_solo_io.UpstreamGroupClient Secret() gloo_solo_io.SecretClient Upstream() gloo_solo_io.UpstreamClient AuthConfig() enterprise_gloo_solo_io.AuthConfigClient RateLimitConfig() github_com_solo_io_gloo_projects_gloo_pkg_api_external_solo_ratelimit.RateLimitConfigClient VirtualService() gateway_solo_io.VirtualServiceClient RouteTable() gateway_solo_io.RouteTableClient Gateway() gateway_solo_io.GatewayClient VirtualHostOption() gateway_solo_io.VirtualHostOptionClient RouteOption() gateway_solo_io.RouteOptionClient MatchableHttpGateway() gateway_solo_io.MatchableHttpGatewayClient GraphQLApi() graphql_gloo_solo_io.GraphQLApiClient }
func NewApiEmitter ¶
func NewApiEmitter(artifactClient gloo_solo_io.ArtifactClient, endpointClient gloo_solo_io.EndpointClient, proxyClient gloo_solo_io.ProxyClient, upstreamGroupClient gloo_solo_io.UpstreamGroupClient, secretClient gloo_solo_io.SecretClient, upstreamClient gloo_solo_io.UpstreamClient, authConfigClient enterprise_gloo_solo_io.AuthConfigClient, rateLimitConfigClient github_com_solo_io_gloo_projects_gloo_pkg_api_external_solo_ratelimit.RateLimitConfigClient, virtualServiceClient gateway_solo_io.VirtualServiceClient, routeTableClient gateway_solo_io.RouteTableClient, gatewayClient gateway_solo_io.GatewayClient, virtualHostOptionClient gateway_solo_io.VirtualHostOptionClient, routeOptionClient gateway_solo_io.RouteOptionClient, matchableHttpGatewayClient gateway_solo_io.MatchableHttpGatewayClient, graphQLApiClient graphql_gloo_solo_io.GraphQLApiClient) ApiEmitter
func NewApiEmitterWithEmit ¶
func NewApiEmitterWithEmit(artifactClient gloo_solo_io.ArtifactClient, endpointClient gloo_solo_io.EndpointClient, proxyClient gloo_solo_io.ProxyClient, upstreamGroupClient gloo_solo_io.UpstreamGroupClient, secretClient gloo_solo_io.SecretClient, upstreamClient gloo_solo_io.UpstreamClient, authConfigClient enterprise_gloo_solo_io.AuthConfigClient, rateLimitConfigClient github_com_solo_io_gloo_projects_gloo_pkg_api_external_solo_ratelimit.RateLimitConfigClient, virtualServiceClient gateway_solo_io.VirtualServiceClient, routeTableClient gateway_solo_io.RouteTableClient, gatewayClient gateway_solo_io.GatewayClient, virtualHostOptionClient gateway_solo_io.VirtualHostOptionClient, routeOptionClient gateway_solo_io.RouteOptionClient, matchableHttpGatewayClient gateway_solo_io.MatchableHttpGatewayClient, graphQLApiClient graphql_gloo_solo_io.GraphQLApiClient, emit <-chan struct{}) ApiEmitter
type ApiSimpleEmitter ¶
type ApiSimpleEmitter interface {
Snapshots(ctx context.Context) (<-chan *ApiSnapshot, <-chan error, error)
}
func NewApiSimpleEmitter ¶
func NewApiSimpleEmitter(aggregatedWatch clients.ResourceWatch) ApiSimpleEmitter
func NewApiSimpleEmitterWithEmit ¶
func NewApiSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) ApiSimpleEmitter
type ApiSnapshot ¶
type ApiSnapshot struct { Artifacts gloo_solo_io.ArtifactList Endpoints gloo_solo_io.EndpointList Proxies gloo_solo_io.ProxyList UpstreamGroups gloo_solo_io.UpstreamGroupList Secrets gloo_solo_io.SecretList Upstreams gloo_solo_io.UpstreamList AuthConfigs enterprise_gloo_solo_io.AuthConfigList Ratelimitconfigs github_com_solo_io_gloo_projects_gloo_pkg_api_external_solo_ratelimit.RateLimitConfigList VirtualServices gateway_solo_io.VirtualServiceList RouteTables gateway_solo_io.RouteTableList Gateways gateway_solo_io.GatewayList VirtualHostOptions gateway_solo_io.VirtualHostOptionList RouteOptions gateway_solo_io.RouteOptionList HttpGateways gateway_solo_io.MatchableHttpGatewayList GraphqlApis graphql_gloo_solo_io.GraphQLApiList }
func (ApiSnapshot) Clone ¶
func (s ApiSnapshot) Clone() ApiSnapshot
func (*ApiSnapshot) GetResourcesList ¶ added in v1.11.50
func (s *ApiSnapshot) GetResourcesList(resource resources.Resource) (resources.ResourceList, error)
func (ApiSnapshot) HashFields ¶
func (s ApiSnapshot) HashFields() []zap.Field
func (*ApiSnapshot) RemoveFromResourceList ¶ added in v1.11.50
func (s *ApiSnapshot) RemoveFromResourceList(resource resources.Resource) error
func (ApiSnapshot) Stringer ¶
func (s ApiSnapshot) Stringer() ApiSnapshotStringer
func (*ApiSnapshot) UpsertToResourceList ¶ added in v1.11.50
func (s *ApiSnapshot) UpsertToResourceList(resource resources.Resource) error
type ApiSnapshotEmitter ¶
type ApiSnapshotStringer ¶
type ApiSnapshotStringer struct { Version uint64 Artifacts []string Endpoints []string Proxies []string UpstreamGroups []string Secrets []string Upstreams []string AuthConfigs []string Ratelimitconfigs []string VirtualServices []string RouteTables []string Gateways []string VirtualHostOptions []string RouteOptions []string HttpGateways []string GraphqlApis []string }
func (ApiSnapshotStringer) String ¶
func (ss ApiSnapshotStringer) String() string
type ApiSyncDecider
deprecated
type ApiSyncDecider interface { ApiSyncer ShouldSync(old, new *ApiSnapshot) bool }
Deprecated: use ApiSyncDeciderWithContext
type ApiSyncDeciderWithContext ¶
type ApiSyncDeciderWithContext interface { ApiSyncer ShouldSync(ctx context.Context, old, new *ApiSnapshot) bool }
type ApiSyncers ¶
type ApiSyncers []ApiSyncer
func (ApiSyncers) Sync ¶
func (s ApiSyncers) Sync(ctx context.Context, snapshot *ApiSnapshot) error
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
kube
|
|
apis/gloosnapshot.gloo.solo.io/gloosnapshot
Package gloosnapshot is the gloosnapshot version of the API.
|
Package gloosnapshot is the gloosnapshot version of the API. |
Click to show internal directories.
Click to hide internal directories.