Documentation ¶
Index ¶
- Variables
- type DeploymentTemplate
- type DeploymentWorkload
- type EnvoyConfigTemplate
- type HorizontalPodAutoscalerTemplate
- type PodDisruptionBudgetTemplate
- type PodMonitorTemplate
- type ServiceTemplate
- type WithEnvoySidecar
- type WithHorizontalPodAutoscaler
- type WithKey
- type WithLabels
- type WithMonitoring
- type WithPodDisruptionBadget
- type WithSelector
- type WithTraffic
- type WithWorkloadMeta
- type WorkloadReconciler
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(wt WithTraffic) DeploymentTemplate
type DeploymentWorkload ¶
type DeploymentWorkload interface { WithWorkloadMeta WithMonitoring WithHorizontalPodAutoscaler WithPodDisruptionBadget Deployment() resources.DeploymentTemplate }
type EnvoyConfigTemplate ¶ added in v0.18.0
type EnvoyConfigTemplate struct {
resource_extensions.EnvoyConfigTemplate
}
EnvoyConfigTemplate specifies a EnvoyConfig resource
func NewEnvoyConfigTemplate ¶ added in v0.18.0
func NewEnvoyConfigTemplate(t resource_extensions.EnvoyConfigTemplate) EnvoyConfigTemplate
func NewEnvoyConfigTemplateFromEnvoyResources ¶ added in v0.18.0
func NewEnvoyConfigTemplateFromEnvoyResources(configs []descriptor.EnvoyDynamicConfigDescriptor) EnvoyConfigTemplate
func (EnvoyConfigTemplate) ApplyMeta ¶ added in v0.18.0
func (ect EnvoyConfigTemplate) ApplyMeta(w WithWorkloadMeta) EnvoyConfigTemplate
func (EnvoyConfigTemplate) SetNodeID ¶ added in v0.18.0
func (ect EnvoyConfigTemplate) SetNodeID(w WithWorkloadMeta) EnvoyConfigTemplate
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(wt WithTraffic) ServiceTemplate
func (ServiceTemplate) ApplyTrafficSelector ¶
func (st ServiceTemplate) ApplyTrafficSelector(main WithTraffic, canary WithTraffic) ServiceTemplate
type WithEnvoySidecar ¶ added in v0.18.0
type WithEnvoySidecar interface { WithWorkloadMeta EnvoyDynamicConfigurations() []descriptor.EnvoyDynamicConfigDescriptor }
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 { WithWorkloadMeta WithSelector SendTraffic() bool TrafficSelector() map[string]string Services() []resources.ServiceTemplate }
type WithWorkloadMeta ¶
type WithWorkloadMeta interface { WithKey WithLabels WithSelector }
type WorkloadReconciler ¶
type WorkloadReconciler struct {
basereconciler.Reconciler
}
func NewFromManager ¶
func NewFromManager(mgr manager.Manager) WorkloadReconciler
NewFromManager constructs a new Reconciler from the given manager
func (*WorkloadReconciler) NewDeploymentWorkload ¶
func (r *WorkloadReconciler) NewDeploymentWorkload( main DeploymentWorkload, canary DeploymentWorkload) ([]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.