Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Latest commit

 

History

History

example-kubernetes

Example Kubernetes deployment

This folder contains a full Kubernetes deployment example.

It contains:

  • An overseer Kubernetes namespace.
  • A service account, which will let overseer observe services in the k8s cluster.
  • An overseer-worker deployment, to process tests to execute.
  • An overseer-bridge-webhook-n17 deployment, to notify errors using Notify17.
  • An optional overseer-bridge-email deployment, to notify errors using a standard email SMTP server.
  • An optional overseer-bridge-queue deployment, to duplicate test results and send them to multiple destination (read more).
  • An optional k8s-event-watcher deployment, to observe Kubernetes events and raise alerts when certain conditions are met.
  • A CronJob that will periodically enqueue the tests you want to run.
  • A simple Redis deployment, to hold test queues and results.

Install

Multiple destinations (e.g. Notify17 AND email)

In the scenario where you want to send your notifications to multiple destinations (e.g. Notify17 AND email), you can use the overseer-bridge-queue deployment:

  • Use one -dest-queues argument for each queue you want (e.g. if you want to send an email, you can create a queue with -dest-queue=overseer.results.email).
  • Configure the corresponding bridges to use the new queue names by having the -redis-queue-key argument match the previously configured one. (e.g. overseer.results.email).

A complete scenario can be:

  • An enqueue cron job to queue the tests.
  • A worker to process tests and write results (e.g. to standard Redis queue overseer.results).
  • A queue bridge to clone results from overseer.results to overseer.results.email and overseer.results.n17.
  • An email bridge to send emails using test results stored in overseer.results.email queue.
  • A webhook bridge to send Notify17 notifications, using test results stored in overseer.results.n17 queue.

Scripts

Delete

  • Run kubectl delete ns overseer to destroy all overseer resources.