Files
flagger/test
Samuel Lang ad8233cf46 👷 Add high-level E2E test steps for Skipper
Add e2e-skipper* files for test setup

It does the following things:
* install Skipper ingress with Kustomize
* load Flagger image onto the local cluster
* install Flagger and Prometheus in the flagger-system namespace
2020-08-18 17:02:45 +02:00
..
2020-06-10 14:13:08 +03:00
2020-08-15 09:25:27 +03:00
2020-06-10 14:13:08 +03:00
2020-08-17 08:23:38 +02:00

Flagger end-to-end testing

The e2e testing infrastructure is powered by CircleCI and Kubernetes Kind.

CircleCI e2e Istio workflow

  • install latest stable kubectl e2e-kind.sh
  • install Kubernetes Kind e2e-kind.sh
  • create local Kubernetes cluster with kind e2e-kind.sh
  • install latest stable Helm CLI e2e-istio.sh
  • deploy Tiller on the local cluster e2e-istio.sh
  • install Istio CRDs with Helm e2e-istio.sh
  • install Istio control plane and Prometheus with Helm e2e-istio.sh
  • load Flagger image onto the local cluster e2e-istio.sh
  • deploy Flagger in the istio-system namespace e2e-istio.sh
  • create a test namespace with Istio injection enabled e2e-tests.sh
  • deploy the load tester in the test namespace e2e-tests.sh
  • deploy a demo workload (podinfo) in the test namespace e2e-tests.sh
  • test the canary initialization e2e-tests.sh
  • test the canary analysis and promotion using weighted traffic and the load testing webhook e2e-tests.sh
  • test the A/B testing analysis and promotion using cookies filters and pre/post rollout webhooks e2e-tests.sh

CircleCI e2e Linkerd workflow

CircleCI e2e NGINX ingress workflow

CircleCI e2e Skipper ingress workflow

  • install latest stable kubectl e2e-kind.sh
  • install Kubernetes Kind e2e-kind.sh
  • create local Kubernetes cluster with kind e2e-kind.sh
  • install Skipper ingress with Kustomize e2e-skipper.sh
  • load Flagger image onto the local cluster e2e-skipper.sh
  • install Flagger and Prometheus in the flagger-system namespace e2e-skipper.sh
  • create a test namespace e2e-skipper-tests.sh
  • deploy the load tester in the test namespace e2e-skipper-tests.sh
  • deploy the demo workload (podinfo) and ingress in the test namespace e2e-skipper-tests.sh
  • test the canary initialization e2e-skipper-tests.sh
  • test the canary analysis and promotion using weighted traffic and the load testing webhook [e2e-skipper-tests.sh]e2e-skipper-tests.sh)
  • test the A/B testing analysis and promotion using header filters and pre/post rollout webhooks [e2e-skipper-tests.sh]e2e-skipper-tests.sh)
  • cleanup test environment e2e-skipper-cleanup.sh