Skip to content
This repository has been archived by the owner on Jan 13, 2021. It is now read-only.
/ ingress-conformance Public archive

Conformance test suite for Kubernetes Ingress (POC)

Notifications You must be signed in to change notification settings

aledbf/ingress-conformance

Repository files navigation

ingress-conformance

Conformance test suite for Kubernetes Ingress (POC)

Assumptions (open to change)

  • Tests will use an existing, running, Kubernetes cluster.
  • An ingress controller is installed and running.
  • e2e tests use the ingress status field to determine the FQDN/IP address to be used in the base URL.
  • Timeouts are configurable. The default is five minutes per test.
  • Is not relevant if the cluster is running in a cloud provider (or not).
  • Only ports 80 and 443 are used.
  • HTTPS tests should generate self signed certificates using the FQDN/IP address of the ingress to test.

The file conformance.md should not be edited manually but only by running make update-conformance-list

How to run the e2e suite:


How to run tests using binaries

$ make build # build e2e.test binary
$ make test  # runs e2e suite against an existing Kubernetes cluster
             # (uses current context from KUBECONFIG)

How to run tests using a pod

$ kubectl create -f images/conformance/conformance.yaml

How to run tests using sonobuoy

The goal is to use the same approach used by the official Kubernetes certification program

The standard tool for running these tests is Sonobuoy. Sonobuoy is regularly built and kept up to date to execute against all currently supported versions of kubernetes.

Download a binary release of the CLI, or build it yourself by running:

$ go get -u -v github.com/heptio/sonobuoy
run
$ sonobuoy run \
    --wait \
    --mode=certified-conformance \
    --kube-conformance-image=aledbf/ingress-conformance:v02062020-ac7e541
Retrieve results and check for failed tests
$ results=$(sonobuoy retrieve)
$ sonobuoy e2e $results
Cleanup
$ sonobuoy delete --wait

TODO:

  • Build docker image
  • Confirm the suite runs in a pod
  • Use Sonoboy to run the tests
  • Use httpexpect library
  • Confirm the comments in e2e tests are parseable and compatible with k/k

About

Conformance test suite for Kubernetes Ingress (POC)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published