Skip to content

KubeStellar has multiple documentation versions to match its multiple releases.
Please make sure you are viewing the docs version which matches the release version of the code you are using!

Notes for KubeStellar Contributors#

These notes are incomplete; as mentioned in the introduction, if you are interested in contributing directly to the development of KubeStellar, we recommend joining in via the KubeStellar github repository and KubeStellar Slack


Make sure all pre-requisites are installed as described in pre-reqs.

Unit testing#

The Makefile has a target for running all the unit tests.

make test

Integration testing#

There are currently two integration tests. Contributors can run them. There is also a GitHub Actions workflow (in .github/workflows/pr-test-integration.yml) that runs these tests.

These tests require you to already have etcd on your $PATH. See https://github.com/kubernetes/kubernetes/blob/v1.28.2/hack/install-etcd.sh for an example of how to do that.

To run the tests sequentially, issue a command like the following.

CONTROLLER_TEST_NUM_OBJECTS=24 go test -v ./test/integration/controller-manager &> /tmp/test.log

If CONTROLLER_TEST_NUM_OBJECTS is not set then the number of objects will be 18. This parameterization by an environment variable is only a point-in-time hack, it is expected to go away once we have a test that runs reliably on a large number of objects.

To run one of the individual tests, issue a command like the following example.

go test -v -timeout 60s -run ^TestCRDHandling$ ./test/integration/controller-manager

Making releases#

See the release process document.