Documentation ¶
Index ¶
- func IsValidServiceNameTemplate(serviceNameTemplate string) bool
- func ReconcileStatus(project string, actual AutonegStatus, intended AutonegStatus) (removes, upserts map[string]map[string]Backends)
- func TrimFieldsEvenly(max int, fields ...string) []string
- type AutonegConfig
- type AutonegConfigTemp
- type AutonegNEGConfig
- type AutonegStatus
- type BackendController
- type Backends
- type NEGConfig
- type NEGStatus
- type OldAutonegConfig
- type OldAutonegStatus
- type ServiceReconciler
- type Statuses
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsValidServiceNameTemplate ¶ added in v0.9.4
Validates the given serviceNameTemplate A template should only contain {namespace}, {name}, {port} or {hash} separated by hyphens
func ReconcileStatus ¶
func ReconcileStatus(project string, actual AutonegStatus, intended AutonegStatus) (removes, upserts map[string]map[string]Backends)
ReconcileStatus takes the actual and intended AutonegStatus and returns sets of backends to remove, and to upsert
func TrimFieldsEvenly ¶ added in v0.9.4
This function is mostly copied from: https://github.com/kubernetes/ingress-gce/blob/4cb04408a6266b5ea00d9567c6165b9235392972/pkg/utils/namer/utils.go#L27..L62 TrimFieldsEvenly trims the fields evenly and keeps the total length <= max. Truncation is spread in ratio with their original length, meaning smaller fields will be truncated less than longer ones.
Types ¶
type AutonegConfig ¶
type AutonegConfig struct {
BackendServices map[string]map[string]AutonegNEGConfig `json:"backend_services"`
}
AutonegConfig specifies the intended configuration of autoneg stored in the controller.autoneg.dev/neg annotation
type AutonegConfigTemp ¶ added in v0.9.4
type AutonegConfigTemp struct {
BackendServices map[string][]AutonegNEGConfig `json:"backend_services"`
}
type AutonegNEGConfig ¶ added in v0.9.4
type AutonegNEGConfig struct { Name string `json:"name,omitempty"` Region string `json:"region,omitempty"` Rate float64 `json:"max_rate_per_endpoint,omitempty"` Connections float64 `json:"max_connections_per_endpoint,omitempty"` }
AutonegConfig specifies the intended configuration of autoneg stored in the controller.autoneg.dev/neg annotation
type AutonegStatus ¶
type AutonegStatus struct { AutonegConfig NEGStatus }
AutonegStatus specifies the reconciled status of autoneg stored in the controller.autoneg.dev/neg annotation
type BackendController ¶
type BackendController struct {
// contains filtered or unexported fields
}
BackendController manages operations on a GCLB backend service
func NewBackendController ¶
func NewBackendController(project string, s *compute.Service) *BackendController
NewBackendController takes the project name and an initialized *compute.Service
func (*BackendController) ReconcileBackends ¶
func (b *BackendController) ReconcileBackends(actual, intended AutonegStatus) (err error)
ReconcileBackends takes the actual and intended AutonegStatus and attempts to apply the intended status or return an error
type Backends ¶
type Backends struct {
// contains filtered or unexported fields
}
Backends specifies a name and list of compute.Backends
type NEGConfig ¶ added in v0.9.4
type NEGConfig struct {
ExposedPorts map[string]interface{} `json:"exposed_ports"`
}
NEGConfig specifies the configuration stored in in the cloud.google.com/neg annotation
type NEGStatus ¶
type NEGStatus struct { NEGs map[string]string `json:"network_endpoint_groups"` Zones []string `json:"zones"` }
NEGStatus specifies the output of the GKE NEG controller stored in the cloud.google.com/neg-status annotation
type OldAutonegConfig ¶ added in v0.9.4
type OldAutonegConfig struct { Name string `json:"name"` Rate float64 `json:"max_rate_per_endpoint"` }
AutonegConfig specifies the intended configuration of autoneg stored in the anthos.cft.dev/autoneg annotation
type OldAutonegStatus ¶ added in v0.9.4
type OldAutonegStatus struct { OldAutonegConfig NEGStatus }
AutonegStatus specifies the reconciled status of autoneg stored in the anthos.cft.dev/autoneg-status annotation
type ServiceReconciler ¶
type ServiceReconciler struct { client.Client *BackendController Recorder record.EventRecorder Log logr.Logger ServiceNameTemplate string }
ServiceReconciler reconciles a Service object
func (*ServiceReconciler) SetupWithManager ¶
func (r *ServiceReconciler) SetupWithManager(mgr ctrl.Manager) error