kube-test-harness
kube-test-harness copied to clipboard
Write Kubernetes integration tests in go!
They do a `t.Fatal` right now, which isn't always desirable as I would like to gather more information. And in case something doesn't exist or doesn't have pods, or cant'...
Setting a custom kubeconfig path is broken. The following code does _not_ pick up the the value of `Options.Kubeconfig` and falls back on the default instead: ```go kubeHarness := harness.New(harness.Options{...
It'd be handy if we printed some debug logs that could be easily enabled, so that one can see what object get created and deleted. I suppose I could run...
This is what we have in `eksctl`: ``` import ( harness "github.com/dlespiau/kube-test-harness" "github.com/dlespiau/kube-test-harness/logger" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) type tHelper struct{ GinkgoTInterface } func (t *tHelper) Helper() { return }...
We have similar looking code in every object (Get, Create, ...) and maybe for each object version supported by client-go as well (see #6) it'd be nice to codegen it...
There are a few things to be mindful of when using minikube in a CI environment. For instance, we should wait for the dns to be ready before trying to...
At the moment, the functions are all flat on the `Test` object, ie. `test.CreateDeploymentFromFile()`, it may be nice to have very thin objects wrapping the k8s objects ie. `test.Deployment.NewFromFile()`.
We don't always have the client-go object we want to to wait for. We could want to wait, say, for an object that is going to be created by an...
`AppsV1beta2` is deprecated in K8s `1.10` so maybe switching to `V1` instead would make more sense? https://github.com/dlespiau/kube-harness/blob/ce8cb74e61fe701580166e37bb6b95e8cc431729/deployment.go#L18 https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#deployment-v1beta2-apps
If we want that library to be somewhat generic, we need to support the various object versions across a range of Kubernetes versions. At the moment client-go doesn't offer much...