Back to Charts

⚠️ Repo Archive Notice

stable/ingressmonitorcontroller/README.md

latest7.6 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

Ingress Monitor Controller

A Kubernetes/Openshift controller to watch ingresses/routes and create liveness alerts for your apps/microservices in Uptime checkers.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

Problem Statement

We want to monitor ingresses in a kubernetes cluster and routes in openshift cluster via any uptime checker but the problem is having to manually check for new ingresses or routes / removed ingresses or routes and add them to the checker or remove them.

Solution

IngressMonitorController will continuously watch ingresses/routes in specific or all namespaces, and automatically add / remove monitors in any of the uptime checkers. With the help of this solution, you can keep a check on your services and see whether they're up and running and live, without worrying about manually registering them on the Uptime checker.

Supported Uptime Checkers

Currently we support the following monitors:

Usage

The following quickstart let's you set up Ingress Monitor Controller to register uptime monitors for ingresses/routes in all namespaces:

  1. Update the values.yaml and set the following properties
KeyDescriptionExampleDefault Value
useFullNameOption to use full name containing release name for resourcesfalsefalse
matchLabelsMatch labels for deployment selector{}{}
deployment.labelsLabels for deployment{}{}
deployment.annotationsAnnotations for deployment{}{}
config.labelsLabels for configmap{}{}
config.annotationsAnnotations for configmapfabric8.io/target-platform: kubernetesfabric8.io/target-platform: kubernetes
rbac.createOption to create rbac resourcestruetrue
rbac.labelsLabels for rbac{}{}
serviceAccount.createOption to create service accounttruetrue
serviceAccount.labelsLabels for serviceAccount{}{}
serviceAccount.nameName of serviceAccountingressmonitorcontrolleringressmonitorcontroller
image.nameImage of ingressMonitorControllerstakater/ingressmonitorcontrollerstakater/ingressmonitorcontroller
image.tagVersion of ingressMonitorController Image1.0.471.0.47
image.pullPolicyPull policy for imageIfNotPresentIfNotPresent
providers.nameName of the providerUptimeRobotUptimeRobot
providers.apiKeyApiKey of the provideru956-afus321g565fghr519your-api-key
providers.apiURLBase url of the ApiProviderhttps://api.uptimerobot.com/v2/https://api.uptimerobot.com/v2/
providers.alertContactsA - separated list of contact id's that you want to add to the monitors12345_0_0-23564_0_0some-alert-contacts
watchNamespaceName of the namespace if you want to monitor ingresses/route only in that namespace.dev""
enableMonitorDeletionA safeguard flag that is used to enable or disable monitor deletion on ingress deletion (Useful for prod environments where you don't want to remove monitor on ingress deletion)falsefalse

Note: Follow this guide to see how to fetch alertContacts from UptimeRobot.

  1. Enable for your Ingress/Route

    You will need to add the following annotation on your ingresses/routes so that the controller is able to recognize and monitor it.

    yaml
    "monitor.stakater.com/enabled": "true"
    
  2. Deploy the controller by running the following command:

    bash
    helm install --name imc-stakater . --namespace default
    

Help

Documentation

You can find more detailed documentation for configuration, extension, and support for other Uptime checkers etc. here

Have a question?

File a GitHub issue, or send us an email.

Talk to us on Slack

Join and talk to us on the #tools-ingressmonitor channel for discussing the Ingress Monitor Controller

License

Apache2 © Stakater

About

The IngressMonitorController is maintained by Stakater. Like it? Please let us know at [email protected]

See our other projects or contact us in case of professional services and queries on [email protected]

Contributers

Stakater Team and the Open Source community! :trophy: