Documentation
¶
Index ¶
- type ChangeProcessor
- type ChangeProcessorConfig
- type ChangeProcessorImpl
- type GatewayClassStatus
- type GatewayStatus
- type HTTPRouteStatus
- type HTTPRouteStatuses
- type IgnoredGatewayStatus
- type IgnoredGatewayStatuses
- type ListenerStatus
- type ListenerStatuses
- type ParentStatus
- type Statuses
- type Updater
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChangeProcessor ¶
type ChangeProcessor interface { // CaptureUpsertChange captures an upsert change to a resource. // It panics if the resource is of unsupported type or if the passed Gateway is different from the one this // ChangeProcessor was created for. CaptureUpsertChange(obj client.Object) // CaptureDeleteChange captures a delete change to a resource. // The method panics if the resource is of unsupported type or if the passed Gateway is different from the one // this ChangeProcessor was created for. CaptureDeleteChange(resourceType client.Object, nsname types.NamespacedName) // Process processes any captured changes and produces an internal representation of the Gateway configuration and // the status information about the processed resources. // If no changes were captured, the changed return argument will be false and both the configuration and statuses // will be empty. Process(ctx context.Context) (changed bool, conf dataplane.Configuration, statuses Statuses) }
ChangeProcessor processes the changes to resources producing the internal representation of the Gateway configuration. It only supports one GatewayClass resource.
type ChangeProcessorConfig ¶
type ChangeProcessorConfig struct { // SecretMemoryManager is the secret memory manager. SecretMemoryManager secrets.SecretDiskMemoryManager // ServiceResolver resolves Services to Endpoints. ServiceResolver resolver.ServiceResolver // RelationshipCapturer captures relationships between Kubernetes API resources and Gateway API resources. RelationshipCapturer relationship.Capturer // Validators validate resources according to data-plane specific rules. Validators validation.Validators // Logger is the logger for this Change Processor. Logger logr.Logger // EventRecorder records events for Kubernetes resources. EventRecorder record.EventRecorder // Scheme is the a Kubernetes scheme. Scheme *runtime.Scheme // GatewayCtlrName is the name of the Gateway controller. GatewayCtlrName string // GatewayClassName is the name of the GatewayClass resource. GatewayClassName string }
ChangeProcessorConfig holds configuration parameters for ChangeProcessorImpl.
type ChangeProcessorImpl ¶
type ChangeProcessorImpl struct {
// contains filtered or unexported fields
}
ChangeProcessorImpl is an implementation of ChangeProcessor.
func NewChangeProcessorImpl ¶
func NewChangeProcessorImpl(cfg ChangeProcessorConfig) *ChangeProcessorImpl
NewChangeProcessorImpl creates a new ChangeProcessorImpl for the Gateway resource with the configured namespace name.
func (*ChangeProcessorImpl) CaptureDeleteChange ¶
func (c *ChangeProcessorImpl) CaptureDeleteChange(resourceType client.Object, nsname types.NamespacedName)
func (*ChangeProcessorImpl) CaptureUpsertChange ¶
func (c *ChangeProcessorImpl) CaptureUpsertChange(obj client.Object)
func (*ChangeProcessorImpl) Process ¶
func (c *ChangeProcessorImpl) Process( ctx context.Context, ) (changed bool, conf dataplane.Configuration, statuses Statuses)
type GatewayClassStatus ¶
type GatewayClassStatus struct { Conditions []conditions.Condition ObservedGeneration int64 }
GatewayClassStatus holds status-related information about the GatewayClass resource.
type GatewayStatus ¶
type GatewayStatus struct { // ListenerStatuses holds the statuses of listeners defined on the Gateway. ListenerStatuses ListenerStatuses // NsName is the namespaced name of the winning Gateway resource. NsName types.NamespacedName // ObservedGeneration is the generation of the resource that was processed. ObservedGeneration int64 }
GatewayStatus holds the status of the winning Gateway resource.
type HTTPRouteStatus ¶
type HTTPRouteStatus struct { // ParentStatuses holds the statuses for parentRefs of the HTTPRoute. ParentStatuses []ParentStatus // ObservedGeneration is the generation of the resource that was processed. ObservedGeneration int64 }
HTTPRouteStatus holds the status-related information about an HTTPRoute resource.
type HTTPRouteStatuses ¶
type HTTPRouteStatuses map[types.NamespacedName]HTTPRouteStatus
HTTPRouteStatuses holds the statuses of HTTPRoutes where the key is the namespaced name of an HTTPRoute.
type IgnoredGatewayStatus ¶
type IgnoredGatewayStatus struct {
ObservedGeneration int64
}
IgnoredGatewayStatus holds the status of an ignored Gateway resource.
type IgnoredGatewayStatuses ¶
type IgnoredGatewayStatuses map[types.NamespacedName]IgnoredGatewayStatus
IgnoredGatewayStatuses holds the statuses of the ignored Gateway resources.
type ListenerStatus ¶
type ListenerStatus struct { // Conditions is the list of conditions for this listener. Conditions []conditions.Condition // AttachedRoutes is the number of routes attached to the listener. AttachedRoutes int32 }
ListenerStatus holds the status-related information about a listener in the Gateway resource.
type ListenerStatuses ¶
type ListenerStatuses map[string]ListenerStatus
ListenerStatuses holds the statuses of listeners where the key is the name of a listener in the Gateway resource.
type ParentStatus ¶
type ParentStatus struct { // GatewayNsName is the Namespaced name of the Gateway, which the parentRef references. GatewayNsName types.NamespacedName // SectionName is the SectionName of the parentRef. SectionName *v1beta1.SectionName // Conditions is the list of conditions that are relevant to the parentRef. Conditions []conditions.Condition }
ParentStatus holds status-related information related to how the HTTPRoute binds to a specific parentRef.
type Statuses ¶
type Statuses struct { GatewayClassStatus *GatewayClassStatus GatewayStatus *GatewayStatus IgnoredGatewayStatuses IgnoredGatewayStatuses HTTPRouteStatuses HTTPRouteStatuses }
Statuses holds the status-related information about Gateway API resources.
Directories
¶
Path | Synopsis |
---|---|
Package dataplane translates Graph representation of the cluster state into an intermediate representation of data plane configuration.
|
Package dataplane translates Graph representation of the cluster state into an intermediate representation of data plane configuration. |
Package graph translates the cluster state (Gateway API and Kubernetes resources) into a graph-like representation, for which: - Resources are validated.
|
Package graph translates the cluster state (Gateway API and Kubernetes resources) into a graph-like representation, for which: - Resources are validated. |
relationshipfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
resolverfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
secretsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
validationfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |