You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,9 @@ This directory contains user and operator documentation for Skyhook. Here you'll
33
33
-[Webhook Bootstrap Lease](designs/webhook-bootstrap-lease.md): Why the admission-webhook cert bootstrap runs on a dedicated leader-election lease, and the runbook for upgrading from v0.7.x (where the new lease does not yet exist).
34
34
35
35
-**Process**
36
+
-[Local Development](development.md):
37
+
Developer workflow notes, including local kind clusters and Kubernetes test version ownership.
38
+
36
39
-[Releases](releases.md):
37
40
Release notes and upgrade information for Skyhook.
Keep manual installs in sync with `CTLPTL_VERSION` in `operator/deps.mk`.
20
20
21
+
## Kubernetes Test Versions
22
+
23
+
`operator/k8s-test-versions.mk` is the source of truth for Kubernetes versions used by envtest, local kind clusters, and GitHub Actions test matrices.
24
+
25
+
-`ENVTEST_K8S_VERSION` controls `setup-envtest` binary assets under `operator/bin/k8s/`.
26
+
-`KIND_NODE_IMAGE_VERSION` controls the default `kindest/node` image for local kind clusters. `KIND_VERSION` remains as a backward-compatible alias for local overrides.
27
+
-`KIND_BINARY_VERSION` controls the Kind CLI/action version and is intentionally separate from Kubernetes node image versions.
28
+
-`CI_KIND_NODE_IMAGE_VERSIONS_JSON` and `CI_PRIMARY_KIND_NODE_IMAGE_VERSION` feed the GitHub Actions matrix.
29
+
30
+
These versions often match, but they are allowed to diverge. Kind does not publish every Kubernetes patch version as a `kindest/node` image, so validate a new node image before using it:
31
+
32
+
```bash
33
+
cd operator
34
+
make validate-kind-node-image KIND_NODE_IMAGE_VERSION=1.35.0
35
+
```
36
+
37
+
When updating supported test versions, edit `operator/k8s-test-versions.mk` first, then run the validation target and the relevant tests.
38
+
21
39
## Local Cluster
22
40
23
41
Bring up the kind cluster and local registry:
@@ -27,7 +45,9 @@ cd operator
27
45
make create-kind-cluster
28
46
```
29
47
30
-
`make create-kind-cluster` applies `config/local-dev/ctlptl-config.yaml`, which creates the kind cluster and a local registry at `localhost:5005`. It also runs `make setup-kind-cluster`, which is idempotent and labels the test node and creates the `skyhook` namespace pull secret.
48
+
`make create-kind-cluster` renders `config/local-dev/ctlptl-config.yaml` into `reporting/ctlptl-config.yaml`, deletes any existing cluster defined by that rendered config, and then creates the kind cluster plus a local registry at `localhost:5005`. It also runs `make setup-kind-cluster`, which is idempotent and labels the test node and creates the `skyhook` namespace pull secret.
49
+
50
+
Do not run `ctlptl apply -f config/local-dev/ctlptl-config.yaml` directly; the tracked file is a Make-rendered template.
31
51
32
52
## Webhook Iteration
33
53
@@ -42,7 +62,7 @@ The local registry removes the need for `kind load docker-image` or registry-pin
42
62
43
63
## Teardown
44
64
45
-
Delete the cluster and registry with the same ctlptl config:
65
+
Delete the cluster and registry with the rendered ctlptl config:
- GitHub Actions matrix builds with multiple K8s versions. The exact tested patch versions are owned by `CI_KIND_NODE_IMAGE_VERSIONS_JSON` in `operator/k8s-test-versions.mk`.
125
124
- Local testing with [kind](https://kind.sigs.k8s.io/)
126
125
- Basic functionality and integration tests
127
126
128
127
## Notes
129
128
130
129
This is a living document that will evolve as the project grows. Our current approach supports all actively maintained Kubernetes versions (typically 3 versions) while providing reasonable predictability for users.
131
130
132
-
For questions about Kubernetes support, please open an issue in our [GitHub repository](https://github.com/NVIDIA/skyhook).
131
+
For questions about Kubernetes support, please open an issue in our [GitHub repository](https://github.com/NVIDIA/skyhook).
0 commit comments