⚠️ 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:
- Update the
values.yamland set the following properties
| Key | Description | Example | Default Value |
|---|---|---|---|
| useFullName | Option to use full name containing release name for resources | false |
false |
| matchLabels | Match labels for deployment selector | {} |
{} |
| deployment.labels | Labels for deployment | {} |
{} |
| deployment.annotations | Annotations for deployment | {} |
{} |
| config.labels | Labels for configmap | {} |
{} |
| config.annotations | Annotations for configmap | fabric8.io/target-platform: kubernetes |
fabric8.io/target-platform: kubernetes |
| rbac.create | Option to create rbac resources | true |
true |
| rbac.labels | Labels for rbac | {} |
{} |
| serviceAccount.create | Option to create service account | true |
true |
| serviceAccount.labels | Labels for serviceAccount | {} |
{} |
| serviceAccount.name | Name of serviceAccount | ingressmonitorcontroller |
ingressmonitorcontroller |
| image.name | Image of ingressMonitorController | stakater/ingressmonitorcontroller |
stakater/ingressmonitorcontroller |
| image.tag | Version of ingressMonitorController Image | 1.0.47 |
1.0.47 |
| image.pullPolicy | Pull policy for image | IfNotPresent |
IfNotPresent |
| providers.name | Name of the provider | UptimeRobot |
UptimeRobot |
| providers.apiKey | ApiKey of the provider | u956-afus321g565fghr519 |
your-api-key |
| providers.apiURL | Base url of the ApiProvider | https://api.uptimerobot.com/v2/ |
https://api.uptimerobot.com/v2/ |
| providers.alertContacts | A - separated list of contact id's that you want to add to the monitors |
12345_0_0-23564_0_0 |
some-alert-contacts |
| watchNamespace | Name of the namespace if you want to monitor ingresses/route only in that namespace. | dev |
"" |
| enableMonitorDeletion | A 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) | false |
false |
Note: Follow this guide to see how to fetch alertContacts from UptimeRobot.
-
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.
"monitor.stakater.com/enabled": "true" -
Deploy the controller by running the following command:
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 hello@stakater.com
See our other projects or contact us in case of professional services and queries on hello@stakater.com
Contributers
Stakater Team and the Open Source community! 🏆


