Skip to content

Files

Latest commit

 

History

History
 
 

e2e

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

E2E tests

Small set of tests complete e2e flows, like local vs. in-cluster configs, incluster namespace defaulting, and non-standard feature flags that are hard to test within kube.

You probably do not want to make an E2E test.

boot

Simple executable that lists pods.

Intended as a compilation target to ensure kube builds with any k8s-openapi version feature selection greater than or equal to our MK8SV.

job

A more advanced application that is containerised and deployed into a cluster on CI during the e2e job via our ci workflow.

Functionally equivalent to the job_api example. Creates a noop job, waits for it to complete, then deletes it.

Intended as a safety mechanism to ensure in-cluster authenication is working, not hanging, and its minimal work is is verifiable out-of-band.

Testing Strategy

job

Compile the job binary (via muslrust) and put the it into a distroless:static image.

Then, import the image into k3d (to avoid pushing), and apply the test yaml. We can observe the job completes.

Running these locally requires a local cluster. Use just k3d to start a simple one.

Then, run just e2e-incluster openssl,latest or just e2e-incluster rustls,latest.

boot

Build the boot bin against various k8s-openapi version features, and check that it runs. Uses local auth; not dockerised.

To run this with all feature combinations combinations, run just e2e-mink8s.