Documentation ¶
Index ¶
- Variables
- type DeploymentTemplate
- type DeploymentWorkload
- type DeploymentWorkloadWithTraffic
- type HorizontalPodAutoscalerTemplate
- type PodDisruptionBudgetTemplate
- type PodMonitorTemplate
- type ServiceTemplate
- type TrafficManager
- type WithHorizontalPodAutoscaler
- type WithKey
- type WithLabels
- type WithMonitoring
- type WithPodDisruptionBadget
- type WithSelector
- type WithTraffic
- type WithWorkloadMeta
- type WorkloadReconciler
- func (r *WorkloadReconciler) NewDeploymentWorkload(ctx context.Context, owner client.Object, scheme *runtime.Scheme, ...) ([]basereconciler.Resource, error)
- func (r *WorkloadReconciler) NewDeploymentWorkloadWithTraffic(ctx context.Context, owner client.Object, scheme *runtime.Scheme, ...) ([]basereconciler.Resource, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( EmptyKey types.NamespacedName = types.NamespacedName{} EmptyLabel map[string]string = map[string]string{} EmptySelector map[string]string = map[string]string{} )
Functions ¶
This section is empty.
Types ¶
type DeploymentTemplate ¶
type DeploymentTemplate struct {
basereconciler_resources.DeploymentTemplate
}
DeploymentTemplate specifies a Deployment resource and its rollout triggers
func NewDeploymentTemplate ¶
func NewDeploymentTemplate(t basereconciler_resources.DeploymentTemplate) DeploymentTemplate
func (DeploymentTemplate) ApplyMeta ¶
func (dt DeploymentTemplate) ApplyMeta(gen DeploymentWorkload) DeploymentTemplate
func (DeploymentTemplate) ApplyTrafficSelector ¶
func (dt DeploymentTemplate) ApplyTrafficSelector(tm TrafficManager) DeploymentTemplate
type DeploymentWorkload ¶
type DeploymentWorkload interface { WithWorkloadMeta WithMonitoring WithHorizontalPodAutoscaler WithPodDisruptionBadget Deployment() resources.DeploymentTemplate }
type DeploymentWorkloadWithTraffic ¶
type DeploymentWorkloadWithTraffic interface { DeploymentWorkload WithTraffic }
type HorizontalPodAutoscalerTemplate ¶
type HorizontalPodAutoscalerTemplate struct {
basereconciler_resources.HorizontalPodAutoscalerTemplate
}
HorizontalPodAutoscaler specifies a HorizontalPodAutoscaler resource
func NewHorizontalPodAutoscalerTemplate ¶
func NewHorizontalPodAutoscalerTemplate(t basereconciler_resources.HorizontalPodAutoscalerTemplate) HorizontalPodAutoscalerTemplate
func NewHorizontalPodAutoscalerTemplateFromSpec ¶
func NewHorizontalPodAutoscalerTemplateFromSpec(cfg saasv1alpha1.HorizontalPodAutoscalerSpec) HorizontalPodAutoscalerTemplate
func (HorizontalPodAutoscalerTemplate) ApplyMeta ¶
func (hpat HorizontalPodAutoscalerTemplate) ApplyMeta(w WithWorkloadMeta) HorizontalPodAutoscalerTemplate
type PodDisruptionBudgetTemplate ¶
type PodDisruptionBudgetTemplate struct {
basereconciler_resources.PodDisruptionBudgetTemplate
}
PodDisruptionBudget specifies a PodDisruptionBudget resource
func NewPodDisruptionBudgetTemplate ¶
func NewPodDisruptionBudgetTemplate(t basereconciler_resources.PodDisruptionBudgetTemplate) PodDisruptionBudgetTemplate
func NewPodDisruptionBudgetTemplateFromSpec ¶
func NewPodDisruptionBudgetTemplateFromSpec(cfg saasv1alpha1.PodDisruptionBudgetSpec) PodDisruptionBudgetTemplate
func (PodDisruptionBudgetTemplate) ApplyMeta ¶
func (pdbt PodDisruptionBudgetTemplate) ApplyMeta(w WithWorkloadMeta) PodDisruptionBudgetTemplate
type PodMonitorTemplate ¶
type PodMonitorTemplate struct {
basereconciler_resources.PodMonitorTemplate
}
PodMonitor specifies a PodMonitor resource
func NewPodMonitorTemplate ¶
func NewPodMonitorTemplate(t basereconciler_resources.PodMonitorTemplate) PodMonitorTemplate
func NewPodMonitorTemplateFromEndpoints ¶
func NewPodMonitorTemplateFromEndpoints(endpoints ...monitoringv1.PodMetricsEndpoint) PodMonitorTemplate
func (PodMonitorTemplate) ApplyMeta ¶
func (pmt PodMonitorTemplate) ApplyMeta(w WithWorkloadMeta) PodMonitorTemplate
type ServiceTemplate ¶
type ServiceTemplate struct {
basereconciler_resources.ServiceTemplate
}
ServicesTemplate specifies a Services resource
func NewServiceTemplate ¶
func NewServiceTemplate(t basereconciler_resources.ServiceTemplate) ServiceTemplate
func (ServiceTemplate) ApplyMeta ¶
func (st ServiceTemplate) ApplyMeta(tm TrafficManager) ServiceTemplate
func (ServiceTemplate) ApplyTrafficSelector ¶
func (st ServiceTemplate) ApplyTrafficSelector(tm TrafficManager, w ...WithTraffic) ServiceTemplate
type TrafficManager ¶
type TrafficManager interface { WithKey WithLabels TrafficSelector() map[string]string Services() []resources.ServiceTemplate }
type WithHorizontalPodAutoscaler ¶
type WithHorizontalPodAutoscaler interface {
HPASpec() *saasv1alpha1.HorizontalPodAutoscalerSpec
}
type WithKey ¶
type WithKey interface {
GetKey() types.NamespacedName
}
type WithLabels ¶
type WithMonitoring ¶
type WithMonitoring interface {
MonitoredEndpoints() []monitoringv1.PodMetricsEndpoint
}
type WithPodDisruptionBadget ¶
type WithPodDisruptionBadget interface {
PDBSpec() *saasv1alpha1.PodDisruptionBudgetSpec
}
type WithSelector ¶
type WithTraffic ¶
type WithTraffic interface { WithSelector SendTraffic() bool }
type WithWorkloadMeta ¶
type WithWorkloadMeta interface { WithKey WithLabels WithSelector }
type WorkloadReconciler ¶
type WorkloadReconciler struct {
basereconciler.Reconciler
}
func NewFromManager ¶
func NewFromManager(mgr manager.Manager, recorderName string, clusterWatchers bool) WorkloadReconciler
NewFromManager constructs a new Reconciler from the given manager
func (*WorkloadReconciler) NewDeploymentWorkload ¶
func (r *WorkloadReconciler) NewDeploymentWorkload(ctx context.Context, owner client.Object, scheme *runtime.Scheme, workloads ...DeploymentWorkload) ([]basereconciler.Resource, error)
func (*WorkloadReconciler) NewDeploymentWorkloadWithTraffic ¶
func (r *WorkloadReconciler) NewDeploymentWorkloadWithTraffic(ctx context.Context, owner client.Object, scheme *runtime.Scheme, trafficManager TrafficManager, workloads ...DeploymentWorkloadWithTraffic) ([]basereconciler.Resource, error)
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
api/v1alpha1
Package v1alpha1 is a test API definition +kubebuilder:object:generate=true +groupName=example.com
|
Package v1alpha1 is a test API definition +kubebuilder:object:generate=true +groupName=example.com |
Click to show internal directories.
Click to hide internal directories.