Documentation
¶
Overview ¶
Package ingressapi serves control's private API for ingress processes.
Index ¶
- func NewHandler(config Config) (http.Handler, error)
- type Config
- type DirectClient
- func (s DirectClient) DrainIngress(ctx context.Context, ingressID ingressv1.IngressID, ...) (ingressv1.IngressLease, error)
- func (s DirectClient) GetIngressRoutingTableEvents(ctx context.Context, ingressID ingressv1.IngressID, ...) (ingressv1.IngressRoutingTablePage, error)
- func (s DirectClient) GetIngressRoutingTableSnapshot(ctx context.Context, ingressID ingressv1.IngressID, ...) (ingressv1.IngressRoutingTableSnapshot, error)
- func (s DirectClient) ObservePublicURLRecovery(ctx context.Context, ingressID ingressv1.IngressID, recoveryEpisodeID int64, ...) (ingressv1.PublicURLRecoveryObservation, error)
- func (s DirectClient) RegisterIngress(ctx context.Context, body ingressv1.IngressRegistration) (ingressv1.IngressLease, error)
- func (s DirectClient) RenewIngress(ctx context.Context, ingressID ingressv1.IngressID, ...) (ingressv1.IngressLease, error)
- func (s DirectClient) ReportIngressUsage(ctx context.Context, ingressID ingressv1.IngressID, ...) error
- type DirectConfig
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
Store Store
ClusterSecrets serviceapi.BearerSecrets
LeaseDuration time.Duration
RoutingPollInterval time.Duration
Now func() time.Time
Report func(error)
}
type DirectClient ¶
type DirectClient struct {
// contains filtered or unexported fields
}
DirectClient executes private ingress operations in-process for standalone.
func NewDirectClient ¶
func NewDirectClient(config DirectConfig) (*DirectClient, error)
func (DirectClient) DrainIngress ¶
func (s DirectClient) DrainIngress( ctx context.Context, ingressID ingressv1.IngressID, body ingressv1.IngressDrainRequest, ) (ingressv1.IngressLease, error)
func (DirectClient) GetIngressRoutingTableEvents ¶
func (s DirectClient) GetIngressRoutingTableEvents( ctx context.Context, ingressID ingressv1.IngressID, params ingressv1.GetIngressRoutingTableEventsParams, ) (ingressv1.IngressRoutingTablePage, error)
func (DirectClient) GetIngressRoutingTableSnapshot ¶
func (s DirectClient) GetIngressRoutingTableSnapshot( ctx context.Context, ingressID ingressv1.IngressID, params ingressv1.GetIngressRoutingTableSnapshotParams, ) (ingressv1.IngressRoutingTableSnapshot, error)
func (DirectClient) ObservePublicURLRecovery ¶
func (s DirectClient) ObservePublicURLRecovery( ctx context.Context, ingressID ingressv1.IngressID, recoveryEpisodeID int64, body ingressv1.PublicURLRecoveryObservationRequest, ) (ingressv1.PublicURLRecoveryObservation, error)
func (DirectClient) RegisterIngress ¶
func (s DirectClient) RegisterIngress(ctx context.Context, body ingressv1.IngressRegistration) (ingressv1.IngressLease, error)
func (DirectClient) RenewIngress ¶
func (s DirectClient) RenewIngress( ctx context.Context, ingressID ingressv1.IngressID, body ingressv1.IngressRenewal, ) (ingressv1.IngressLease, error)
func (DirectClient) ReportIngressUsage ¶
type DirectConfig ¶
type Store ¶
type Store interface {
RegisterIngress(context.Context, controlstate.IngressRegistration, time.Time, time.Duration) (controlstate.IngressLease, error)
RenewIngress(context.Context, controlstate.IngressRenewal, time.Time, time.Duration) (controlstate.IngressLease, error)
BeginIngressDrain(context.Context, controlstate.IngressLeaseIdentity, time.Time, time.Time) (controlstate.IngressLease, error)
ReadIngressRoutingTableSnapshot(context.Context, controlstate.IngressLeaseIdentity, time.Time) (controlstate.IngressRoutingTableSnapshot, error)
ReadIngressRoutingTableEvents(context.Context, controlstate.IngressLeaseIdentity, uint64, int, time.Time) (controlstate.IngressRoutingTablePage, error)
ReportIngressUsage(context.Context, controlstate.IngressLeaseIdentity, controlstate.IngressUsageBatch, time.Time) error
ObservePublicURLRecovery(context.Context, controlstate.IngressLeaseIdentity, string, uint64, uint64, time.Time) (controlstate.PublicURLRecoveryObservation, error)
}
Click to show internal directories.
Click to hide internal directories.