E2E tests K8s operator

Framework:

  • Kubebuilder

Configuration:

  • K8s yaml

Languages:

  • Golang for the operator

  • Golang for Infrastructure and monitoring tests

  • Javascript - Protractor & Cucumber E2E tests

2019-now

Creates a test run custom resource. The CRD stands up 4 customer ID cloud clusters. Triggering the customer project creation automation of over 20 workloads and similar numbers of services, config maps, ingress etc for each. These cover the two types of clusters and an upgrade of each - to ensure upgrade is good. The clusters are run up by the operator - which uses the normal declarative control loop pattern for

  1. cluster ready

  2. running E2E tests via Zalenium

  3. running other infrastructure and monitoring tests etc

  4. reporting to Slack with details in cloud datastore

  5. teardown.

The kubectl test run CRD creation can be triggered via a CLI tool wrapper, a git PR ready state or release cycle automation.