Documentation ¶
Index ¶
- Variables
- func AddLabelsToNamespace(kubeClient kubernetes.Interface, name string, ...) error
- func CreateClusterRole(kubeClient kubernetes.Interface, relativePath string) error
- func CreateClusterRoleBinding(kubeClient kubernetes.Interface, ns string, relativePath string) (finalizerFn, error)
- func CreateDeployment(kubeClient kubernetes.Interface, namespace string, d *appsv1.Deployment) error
- func CreateIngress(kubeClient kubernetes.Interface, namespace string, i *v1beta1.Ingress) error
- func CreateNamespace(kubeClient kubernetes.Interface, name string) (*v1.Namespace, error)
- func CreateRoleBinding(kubeClient kubernetes.Interface, ns string, relativePath string) (finalizerFn, error)
- func CreateServiceAccount(kubeClient kubernetes.Interface, namespace string, relativPath string) (finalizerFn, error)
- func CreateServiceAndWaitUntilReady(kubeClient kubernetes.Interface, namespace string, service *v1.Service) (finalizerFn, error)
- func DeleteClusterRole(kubeClient kubernetes.Interface, relativePath string) error
- func DeleteClusterRoleBinding(kubeClient kubernetes.Interface, relativePath string) error
- func DeleteDeployment(kubeClient kubernetes.Interface, namespace, name string) error
- func DeleteNamespace(kubeClient kubernetes.Interface, name string) error
- func DeleteNginxIngressControllerIncDefaultBackend(kubeClient kubernetes.Interface, namespace string) error
- func DeleteRoleBinding(kubeClient kubernetes.Interface, ns string, relativePath string) error
- func DeleteServiceAccount(kubeClient kubernetes.Interface, namespace string, relativPath string) error
- func DeleteServiceAndWaitUntilGone(kubeClient kubernetes.Interface, namespace string, serviceName string) error
- func GetIngressIP(kubeClient kubernetes.Interface, namespace string, ingressName string) (*string, error)
- func GetLogs(kubeClient kubernetes.Interface, namespace string, ...) (string, error)
- func MakeBasicIngress(serviceName string, servicePort int) *v1beta1.Ingress
- func MakeDeployment(pathToYaml string) (*appsv1.Deployment, error)
- func PathToOSFile(relativPath string) (*os.File, error)
- func ProxyGetPod(kubeClient kubernetes.Interface, namespace, podName, path string) *rest.Request
- func ProxyPostPod(kubeClient kubernetes.Interface, namespace, podName, path, body string) *rest.Request
- func SetupNginxIngressControllerIncDefaultBackend(kubeClient kubernetes.Interface, namespace string) error
- func WaitForHTTPSuccessStatusCode(timeout time.Duration, url string) error
- func WaitForPodsReady(kubeClient kubernetes.Interface, namespace string, timeout time.Duration, ...) error
- func WaitForPodsRunImage(kubeClient kubernetes.Interface, namespace string, expectedReplicas int, ...) error
- func WaitForServiceReady(kubeClient kubernetes.Interface, namespace string, serviceName string) error
- func WaitUntilDeploymentGone(kubeClient kubernetes.Interface, namespace, name string, timeout time.Duration) error
- type Framework
- func (f *Framework) AddAlertingToPrometheus(p *monitoringv1.Prometheus, ns, name string)
- func (f *Framework) AlertmanagerConfigSecret(ns, name string) (*v1.Secret, error)
- func (f *Framework) CheckPrometheusFiringAlert(ns, svcName, alertName string) (bool, error)
- func (f *Framework) CreateAlertmanagerAndWaitUntilReady(ns string, a *monitoringv1.Alertmanager) (*monitoringv1.Alertmanager, error)
- func (f *Framework) CreatePrometheusAndWaitUntilReady(ns string, p *monitoringv1.Prometheus) (*monitoringv1.Prometheus, error)
- func (f *Framework) CreatePrometheusOperator(ns, opImage string, namespacesToWatch []string) error
- func (f *Framework) CreateRule(ns string, ar *monitoringv1.PrometheusRule) (*monitoringv1.PrometheusRule, error)
- func (f *Framework) CreateSilence(ns, n string) (string, error)
- func (f *Framework) DeleteAlertmanagerAndWaitUntilGone(ns, name string) error
- func (f *Framework) DeletePrometheusAndWaitUntilGone(ns, name string) error
- func (f *Framework) DeleteRule(ns string, r string) error
- func (f *Framework) GetActiveTargets(ns, svcName string) ([]*Target, error)
- func (f *Framework) GetAlertmanagerStatus(ns, n string) (amAPIStatusResp, error)
- func (f *Framework) GetPodRestartCount(ns, podName string) (map[string]int32, error)
- func (f *Framework) GetSilences(ns, n string) ([]amAPISil, error)
- func (f *Framework) MakeAlertmanagerService(name, group string, serviceType v1.ServiceType) *v1.Service
- func (f *Framework) MakeAndCreateFiringRule(ns, name, alertName string) (*monitoringv1.PrometheusRule, error)
- func (f *Framework) MakeBasicAlertmanager(name string, replicas int32) *monitoringv1.Alertmanager
- func (f *Framework) MakeBasicPrometheus(ns, name, group string, replicas int32) *monitoringv1.Prometheus
- func (f *Framework) MakeBasicRule(ns, name string, groups []monitoringv1.RuleGroup) *monitoringv1.PrometheusRule
- func (f *Framework) MakeBasicServiceMonitor(name string) *monitoringv1.ServiceMonitor
- func (f *Framework) MakePrometheusService(name, group string, serviceType v1.ServiceType) *v1.Service
- func (f *Framework) MakeThanosQuerierService(name string) *v1.Service
- func (f *Framework) MakeThanosService(name string) *v1.Service
- func (f *Framework) NewTestCtx(t *testing.T) TestCtx
- func (f *Framework) Poll(timeout, pollInterval time.Duration, pollFunc func() (bool, error)) error
- func (f *Framework) PrintEvents() error
- func (f *Framework) PrintPodLogs(ns, p string) error
- func (f *Framework) QueryPrometheusSVC(ns, svcName, endpoint string, query map[string]string) ([]byte, error)
- func (f *Framework) SecretFromYaml(filepath string) (*v1.Secret, error)
- func (f *Framework) SendAlertToAlertmanager(ns, n string, start time.Time) error
- func (f *Framework) UpdateAlertmanagerAndWaitUntilReady(ns string, a *monitoringv1.Alertmanager) (*monitoringv1.Alertmanager, error)
- func (f *Framework) UpdatePrometheusAndWaitUntilReady(ns string, p *monitoringv1.Prometheus) (*monitoringv1.Prometheus, error)
- func (f *Framework) UpdateRule(ns string, ar *monitoringv1.PrometheusRule) (*monitoringv1.PrometheusRule, error)
- func (f *Framework) WaitForAlertmanagerConfigToContainString(ns, amName, expectedString string) error
- func (f *Framework) WaitForAlertmanagerInitializedMesh(ns, name string, amountPeers int) error
- func (f *Framework) WaitForAlertmanagerReady(ns, name string, replicas int) error
- func (f *Framework) WaitForConfigMapExist(ns, name string) (*v1.ConfigMap, error)
- func (f *Framework) WaitForConfigMapNotExist(ns, name string) error
- func (f *Framework) WaitForPrometheusFiringAlert(ns, svcName, alertName string) error
- func (f *Framework) WaitForPrometheusReady(p *monitoringv1.Prometheus, timeout time.Duration) error
- func (f *Framework) WaitForPrometheusRunImageAndReady(ns string, p *monitoringv1.Prometheus) error
- func (f *Framework) WaitForRule(ns, name string) error
- func (f *Framework) WaitForTargets(ns, svcName string, amount int) error
- type Target
- type TestCtx
- func (ctx *TestCtx) AddFinalizerFn(fn finalizerFn)
- func (ctx *TestCtx) Cleanup(t *testing.T)
- func (ctx *TestCtx) CreateNamespace(t *testing.T, kubeClient kubernetes.Interface) string
- func (ctx *TestCtx) GetObjID() string
- func (ctx *TestCtx) SetupPrometheusRBAC(t *testing.T, ns string, kubeClient kubernetes.Interface)
- func (ctx *TestCtx) SetupPrometheusRBACGlobal(t *testing.T, ns string, kubeClient kubernetes.Interface)
Constants ¶
This section is empty.
Variables ¶
var ValidAlertmanagerConfig = `` /* 229-byte string literal not displayed */
Functions ¶
func AddLabelsToNamespace ¶ added in v0.19.0
func CreateClusterRole ¶
func CreateClusterRole(kubeClient kubernetes.Interface, relativePath string) error
func CreateClusterRoleBinding ¶
func CreateClusterRoleBinding(kubeClient kubernetes.Interface, ns string, relativePath string) (finalizerFn, error)
func CreateDeployment ¶
func CreateDeployment(kubeClient kubernetes.Interface, namespace string, d *appsv1.Deployment) error
func CreateIngress ¶
func CreateNamespace ¶
func CreateRoleBinding ¶
func CreateRoleBinding(kubeClient kubernetes.Interface, ns string, relativePath string) (finalizerFn, error)
func CreateServiceAccount ¶
func CreateServiceAccount(kubeClient kubernetes.Interface, namespace string, relativPath string) (finalizerFn, error)
func DeleteClusterRole ¶
func DeleteClusterRole(kubeClient kubernetes.Interface, relativePath string) error
func DeleteClusterRoleBinding ¶
func DeleteClusterRoleBinding(kubeClient kubernetes.Interface, relativePath string) error
func DeleteDeployment ¶
func DeleteDeployment(kubeClient kubernetes.Interface, namespace, name string) error
func DeleteNamespace ¶
func DeleteNamespace(kubeClient kubernetes.Interface, name string) error
func DeleteNginxIngressControllerIncDefaultBackend ¶
func DeleteNginxIngressControllerIncDefaultBackend(kubeClient kubernetes.Interface, namespace string) error
func DeleteRoleBinding ¶
func DeleteRoleBinding(kubeClient kubernetes.Interface, ns string, relativePath string) error
func DeleteServiceAccount ¶
func DeleteServiceAccount(kubeClient kubernetes.Interface, namespace string, relativPath string) error
func DeleteServiceAndWaitUntilGone ¶
func DeleteServiceAndWaitUntilGone(kubeClient kubernetes.Interface, namespace string, serviceName string) error
func GetIngressIP ¶
func MakeDeployment ¶
func MakeDeployment(pathToYaml string) (*appsv1.Deployment, error)
func ProxyGetPod ¶
func ProxyGetPod(kubeClient kubernetes.Interface, namespace, podName, path string) *rest.Request
func ProxyPostPod ¶ added in v0.18.1
func ProxyPostPod(kubeClient kubernetes.Interface, namespace, podName, path, body string) *rest.Request
func SetupNginxIngressControllerIncDefaultBackend ¶
func SetupNginxIngressControllerIncDefaultBackend(kubeClient kubernetes.Interface, namespace string) error
func WaitForPodsReady ¶
func WaitForPodsReady(kubeClient kubernetes.Interface, namespace string, timeout time.Duration, expectedReplicas int, opts metav1.ListOptions) error
WaitForPodsReady waits for a selection of Pods to be running and each container to pass its readiness check.
func WaitForPodsRunImage ¶
func WaitForPodsRunImage(kubeClient kubernetes.Interface, namespace string, expectedReplicas int, image string, opts metav1.ListOptions) error
func WaitForServiceReady ¶
func WaitForServiceReady(kubeClient kubernetes.Interface, namespace string, serviceName string) error
func WaitUntilDeploymentGone ¶
Types ¶
type Framework ¶
type Framework struct { KubeClient kubernetes.Interface MonClientV1 monitoringclient.MonitoringV1Interface HTTPClient *http.Client MasterHost string DefaultTimeout time.Duration }
func (*Framework) AddAlertingToPrometheus ¶
func (f *Framework) AddAlertingToPrometheus(p *monitoringv1.Prometheus, ns, name string)
func (*Framework) AlertmanagerConfigSecret ¶
func (*Framework) CheckPrometheusFiringAlert ¶ added in v0.24.0
func (*Framework) CreateAlertmanagerAndWaitUntilReady ¶
func (f *Framework) CreateAlertmanagerAndWaitUntilReady(ns string, a *monitoringv1.Alertmanager) (*monitoringv1.Alertmanager, error)
func (*Framework) CreatePrometheusAndWaitUntilReady ¶
func (f *Framework) CreatePrometheusAndWaitUntilReady(ns string, p *monitoringv1.Prometheus) (*monitoringv1.Prometheus, error)
func (*Framework) CreatePrometheusOperator ¶ added in v0.24.0
CreatePrometheusOperator creates a Prometheus Operator Kubernetes Deployment inside the specified namespace using the specified operator image. In addition one can specify the namespaces to watch, which defaults to all namespaces.
func (*Framework) CreateRule ¶ added in v0.20.0
func (f *Framework) CreateRule(ns string, ar *monitoringv1.PrometheusRule) (*monitoringv1.PrometheusRule, error)
func (*Framework) CreateSilence ¶ added in v0.18.1
func (*Framework) DeleteAlertmanagerAndWaitUntilGone ¶
func (*Framework) DeletePrometheusAndWaitUntilGone ¶
func (*Framework) DeleteRule ¶ added in v0.22.0
func (*Framework) GetActiveTargets ¶
func (*Framework) GetAlertmanagerStatus ¶ added in v0.29.0
func (*Framework) GetPodRestartCount ¶ added in v0.24.0
GetPodRestartCount returns a map of container names and their restart counts for a given pod.
func (*Framework) GetSilences ¶ added in v0.18.1
func (*Framework) MakeAlertmanagerService ¶
func (*Framework) MakeAndCreateFiringRule ¶ added in v0.20.0
func (f *Framework) MakeAndCreateFiringRule(ns, name, alertName string) (*monitoringv1.PrometheusRule, error)
func (*Framework) MakeBasicAlertmanager ¶
func (f *Framework) MakeBasicAlertmanager(name string, replicas int32) *monitoringv1.Alertmanager
func (*Framework) MakeBasicPrometheus ¶
func (f *Framework) MakeBasicPrometheus(ns, name, group string, replicas int32) *monitoringv1.Prometheus
func (*Framework) MakeBasicRule ¶ added in v0.20.0
func (f *Framework) MakeBasicRule(ns, name string, groups []monitoringv1.RuleGroup) *monitoringv1.PrometheusRule
func (*Framework) MakeBasicServiceMonitor ¶
func (f *Framework) MakeBasicServiceMonitor(name string) *monitoringv1.ServiceMonitor
func (*Framework) MakePrometheusService ¶
func (*Framework) MakeThanosQuerierService ¶ added in v0.21.0
func (*Framework) MakeThanosService ¶ added in v0.21.0
func (*Framework) PrintEvents ¶ added in v0.22.0
PrintEvents prints the Kubernetes events to standard out.
func (*Framework) PrintPodLogs ¶ added in v0.22.0
PrintPodLogs prints the logs of a specified Pod
func (*Framework) QueryPrometheusSVC ¶
func (*Framework) SecretFromYaml ¶
func (*Framework) SendAlertToAlertmanager ¶ added in v0.24.0
SendAlertToAlertmanager sends an alert to the alertmanager in the given namespace (ns) with the given name (n).
func (*Framework) UpdateAlertmanagerAndWaitUntilReady ¶
func (f *Framework) UpdateAlertmanagerAndWaitUntilReady(ns string, a *monitoringv1.Alertmanager) (*monitoringv1.Alertmanager, error)
func (*Framework) UpdatePrometheusAndWaitUntilReady ¶
func (f *Framework) UpdatePrometheusAndWaitUntilReady(ns string, p *monitoringv1.Prometheus) (*monitoringv1.Prometheus, error)
func (*Framework) UpdateRule ¶ added in v0.20.0
func (f *Framework) UpdateRule(ns string, ar *monitoringv1.PrometheusRule) (*monitoringv1.PrometheusRule, error)
func (*Framework) WaitForAlertmanagerConfigToContainString ¶ added in v0.20.0
func (f *Framework) WaitForAlertmanagerConfigToContainString(ns, amName, expectedString string) error
WaitForAlertmanagerConfigToContainString retrieves the Alertmanager configuration via the Alertmanager's API and checks if it contains the given string.
func (*Framework) WaitForAlertmanagerInitializedMesh ¶
func (*Framework) WaitForAlertmanagerReady ¶
func (*Framework) WaitForConfigMapExist ¶ added in v0.20.0
func (*Framework) WaitForConfigMapNotExist ¶ added in v0.20.0
func (*Framework) WaitForPrometheusFiringAlert ¶ added in v0.19.0
func (*Framework) WaitForPrometheusReady ¶
func (f *Framework) WaitForPrometheusReady(p *monitoringv1.Prometheus, timeout time.Duration) error
func (*Framework) WaitForPrometheusRunImageAndReady ¶
func (f *Framework) WaitForPrometheusRunImageAndReady(ns string, p *monitoringv1.Prometheus) error
func (*Framework) WaitForRule ¶ added in v0.20.0
WaitForRule waits for a rule file with a given name to exist in a given namespace.
type TestCtx ¶
type TestCtx struct { ID string // contains filtered or unexported fields }
func (*TestCtx) AddFinalizerFn ¶
func (ctx *TestCtx) AddFinalizerFn(fn finalizerFn)
func (*TestCtx) CreateNamespace ¶
func (*TestCtx) GetObjID ¶
GetObjID returns an ascending ID based on the length of cleanUpFns. It is based on the premise that every new object also appends a new finalizerFn on cleanUpFns. This can e.g. be used to create multiple namespaces in the same test context.