Documentation ¶
Index ¶
- Constants
- func DefaultDNSConfig() *corev1.PodDNSConfig
- type ConfigMapList
- type DeleteApp
- type DeleteCanaryRules
- type DeleteRevision
- type DeleteSLORules
- type DeleteServiceLevels
- type DeleteServiceMonitors
- type DeleteTaggedServiceLevels
- type EnsureNamespace
- type HorizontalPodAutoscalerList
- type List
- type ReplicaSetList
- type RetireRevision
- type Revision
- type SLOConfig
- type ScaleRevision
- type SecretList
- type SyncApp
- type SyncCanaryRules
- type SyncRevision
- type SyncSLORules
- type SyncServiceLevels
- type SyncServiceMonitors
- type SyncTaggedServiceLevels
- type WorkerPodAutoscalerList
Constants ¶
View Source
const ( PrometheusScrapeLabel = "prometheus.io/scrape" PrometheusScrapeLabelValue = "true" )
View Source
const ( CanaryAppLabel = "app" CanaryTagLabel = "tag" CanarySLOLabel = "slo" CanaryLabel = "canary" CanarySummaryAnnotation = "summary" CanaryMessageAnnotation = "message" // RuleTypeCanary is the value of the LabelRuleType label for canary rules. RuleTypeCanary = "canary" )
View Source
const (
IstioInjectionLabelName = "istio-injection"
)
View Source
const (
// RuleTypeSLO is the value of the LabelRuleType label for SLO rules.
RuleTypeSLO = "slo"
)
Variables ¶
This section is empty.
Functions ¶
func DefaultDNSConfig ¶
func DefaultDNSConfig() *corev1.PodDNSConfig
Types ¶
type ConfigMapList ¶
type ConfigMapList struct {
Item *corev1.ConfigMapList
}
func NewConfigMapList ¶
func NewConfigMapList() *ConfigMapList
func (*ConfigMapList) GetItems ¶
func (s *ConfigMapList) GetItems() (r []client.Object)
func (*ConfigMapList) GetList ¶
func (s *ConfigMapList) GetList() (r client.ObjectList)
type DeleteCanaryRules ¶
type DeleteRevision ¶
type DeleteSLORules ¶
type DeleteServiceLevels ¶
type DeleteServiceMonitors ¶
type EnsureNamespace ¶
type HorizontalPodAutoscalerList ¶
type HorizontalPodAutoscalerList struct {
Item *autoscaling.HorizontalPodAutoscalerList
}
func NewHorizontalPodAutoscalerList ¶
func NewHorizontalPodAutoscalerList() *HorizontalPodAutoscalerList
func (*HorizontalPodAutoscalerList) GetItems ¶
func (s *HorizontalPodAutoscalerList) GetItems() (r []client.Object)
func (*HorizontalPodAutoscalerList) GetList ¶
func (s *HorizontalPodAutoscalerList) GetList() (r client.ObjectList)
type ReplicaSetList ¶
type ReplicaSetList struct {
Item *appsv1.ReplicaSetList
}
func NewReplicaSetList ¶
func NewReplicaSetList() *ReplicaSetList
func (*ReplicaSetList) GetItems ¶
func (s *ReplicaSetList) GetItems() (r []client.Object)
func (*ReplicaSetList) GetList ¶
func (s *ReplicaSetList) GetList() (r client.ObjectList)
type RetireRevision ¶
type Revision ¶
type Revision struct { Tag string Weight uint32 TagRoutingHeader string TrafficPolicy *istio.TrafficPolicy }
type SLOConfig ¶
type SLOConfig struct { SLO *picchuv1alpha1.ServiceLevelObjective App string Name string Tag string Labels picchuv1alpha1.ServiceLevelObjectiveLabels }
Receiver pointer functions for SLOConfig can be found next to relevant syncer
type ScaleRevision ¶
type SecretList ¶
type SecretList struct {
Item *corev1.SecretList
}
func NewSecretList ¶
func NewSecretList() *SecretList
func (*SecretList) GetItems ¶
func (s *SecretList) GetItems() (r []client.Object)
func (*SecretList) GetList ¶
func (s *SecretList) GetList() (r client.ObjectList)
type SyncApp ¶
type SyncApp struct { App string Target string Fleet string Namespace string Labels map[string]string DeployedRevisions []Revision AlertRules []monitoringv1.Rule Ports []picchuv1alpha1.PortInfo HTTPPortFaults []picchuv1alpha1.HTTPPortFault IstioSidecarConfig *picchuv1alpha1.IstioSidecar DefaultIngressPorts map[string]string DevRoutesServiceHost string DevRoutesServicePort int }
type SyncCanaryRules ¶
type SyncCanaryRules struct { App string Namespace string Tag string Labels map[string]string ServiceLevelObjectiveLabels picchuv1alpha1.ServiceLevelObjectiveLabels ServiceLevelObjectives []*picchuv1alpha1.ServiceLevelObjective }
type SyncRevision ¶
type SyncRevision struct { App string Tag string Namespace string Labels map[string]string // Labels applied to all resources Configs []runtime.Object // Secret and ConfigMap objects supported and mapped to environment Ports []picchuv1alpha1.PortInfo Replicas int32 Image string Resources corev1.ResourceRequirements IAMRole string // AWS iam role PodAnnotations map[string]string // metadata.annotations in the Pod template ServiceAccountName string // k8s ServiceAccount LivenessProbe *corev1.Probe ReadinessProbe *corev1.Probe MinReadySeconds int32 Worker *picchuv1alpha1.WorkerScaleInfo Lifecycle *corev1.Lifecycle Affinity *corev1.Affinity Tolerations []corev1.Toleration EnvVars []corev1.EnvVar Sidecars []corev1.Container // Additional sidecar containers. VolumeMounts []corev1.VolumeMount Volumes []corev1.Volume }
func (*SyncRevision) Apply ¶
func (p *SyncRevision) Apply(ctx context.Context, cli client.Client, cluster *picchuv1alpha1.Cluster, log logr.Logger) error
func (*SyncRevision) Printable ¶
func (p *SyncRevision) Printable() interface{}
type SyncSLORules ¶
type SyncSLORules struct { App string Namespace string Labels map[string]string ServiceLevelObjectiveLabels picchuv1alpha1.ServiceLevelObjectiveLabels ServiceLevelObjectives []*picchuv1alpha1.ServiceLevelObjective }
func (*SyncSLORules) Apply ¶
func (p *SyncSLORules) Apply(ctx context.Context, cli client.Client, cluster *picchuv1alpha1.Cluster, log logr.Logger) error
func (*SyncSLORules) SLORules ¶
func (p *SyncSLORules) SLORules() ([]monitoringv1.PrometheusRule, error)
SLORules returns a PrometheusRuleList of recording rules to support tracking of the ServiceLevelObjectives
type SyncServiceLevels ¶
type SyncServiceLevels struct { App string Target string Namespace string Labels map[string]string ServiceLevelObjectiveLabels picchuv1alpha1.ServiceLevelObjectiveLabels ServiceLevelObjectives []*picchuv1alpha1.ServiceLevelObjective }
type SyncServiceMonitors ¶
type SyncServiceMonitors struct { App string Namespace string Labels map[string]string ServiceMonitors []*picchuv1alpha1.ServiceMonitor ServiceLevelObjectives []*picchuv1alpha1.ServiceLevelObjective }
type SyncTaggedServiceLevels ¶
type SyncTaggedServiceLevels struct { App string Target string Namespace string Tag string Labels map[string]string ServiceLevelObjectiveLabels picchuv1alpha1.ServiceLevelObjectiveLabels ServiceLevelObjectives []*picchuv1alpha1.ServiceLevelObjective }
type WorkerPodAutoscalerList ¶
type WorkerPodAutoscalerList struct {
Item *wpav1.WorkerPodAutoScalerList
}
func NewWorkerPodAutoscalerList ¶
func NewWorkerPodAutoscalerList() *WorkerPodAutoscalerList
func (*WorkerPodAutoscalerList) GetItems ¶
func (s *WorkerPodAutoscalerList) GetItems() (r []client.Object)
func (*WorkerPodAutoscalerList) GetList ¶
func (s *WorkerPodAutoscalerList) GetList() (r client.ObjectList)
Source Files ¶
- deleteApp.go
- deleteCanaryRules.go
- deleteRevision.go
- deleteSLORules.go
- deleteServiceLevels.go
- deleteServiceMonitors.go
- deleteTaggedServiceLevels.go
- ensureNamespace.go
- retireRevision.go
- scaleRevision.go
- sloConfig.go
- syncApp.go
- syncCanaryRules.go
- syncRevision.go
- syncSLORules.go
- syncServiceLevels.go
- syncServiceMonitors.go
- syncTaggedServiceLevels.go
- wrappers.go
Click to show internal directories.
Click to hide internal directories.