test: add unit and e2e tests to the helm chart#2233
Open
kevintijssen wants to merge 2 commits intosiderolabs:mainfrom
Open
test: add unit and e2e tests to the helm chart#2233kevintijssen wants to merge 2 commits intosiderolabs:mainfrom
kevintijssen wants to merge 2 commits intosiderolabs:mainfrom
Conversation
Member
|
@kevintijssen please make your org membership public |
Member
Author
Done |
75725c2 to
e548a52
Compare
utkuozdemir
reviewed
Feb 6, 2026
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive testing infrastructure to the Omni Helm chart, including unit tests using helm-unittest and end-to-end tests using KUTTL. It also removes the values.schema.json file, which was reportedly causing issues.
Changes:
- Added 7 helm-unittest test files covering ServiceAccount, Services, Secrets, PrometheusRule, Ingress, and HTTPRoute resources
- Added complete KUTTL E2E test suite with 7 test steps validating full Omni deployment and functionality
- Removed
values.schema.jsonfile (947 lines) to resolve breaking issues
Reviewed changes
Copilot reviewed 18 out of 21 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| deploy/helm/v2/omni/values.schema.json | Removed schema file that was causing breaking issues |
| deploy/helm/v2/omni/tests/serviceaccount.yaml | Unit tests for ServiceAccount creation, naming, annotations, and token automounting |
| deploy/helm/v2/omni/tests/service.yaml | Unit tests for main, gRPC, metrics, and WireGuard services, plus ServiceMonitor |
| deploy/helm/v2/omni/tests/secret-etcd.yaml | Unit tests for etcd encryption key secret creation and content validation |
| deploy/helm/v2/omni/tests/secret-config.yaml | Unit tests for Omni configuration secret |
| deploy/helm/v2/omni/tests/prometheusrule.yaml | Unit tests for PrometheusRule creation and configuration |
| deploy/helm/v2/omni/tests/ingress.yaml | Unit tests for UI, gRPC, K8s proxy, and SideroLink API ingress resources |
| deploy/helm/v2/omni/tests/httproute.yaml | Unit tests for Gateway API HTTPRoute resources |
| deploy/helm/e2e/kuttl-test.yaml | KUTTL test suite configuration |
| deploy/helm/e2e/README.md | Comprehensive documentation for E2E tests |
| deploy/helm/e2e/tests/01-omni/*.yaml | E2E test steps: prerequisites, namespace, TLS cert, installation, deployment validation, SA key extraction, and functional testing |
| deploy/helm/e2e/_crds/.gitkeep | Placeholder for CRDs directory |
| deploy/helm/e2e/_manifests/.gitkeep | Placeholder for manifests directory |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e548a52 to
5f66fde
Compare
5f66fde to
6b02995
Compare
Member
|
Closes #2278. |
1 task
6b02995 to
a2d531a
Compare
a2d531a to
a4e510b
Compare
utkuozdemir
approved these changes
Feb 6, 2026
a4e510b to
9b7452d
Compare
8619902 to
18ab02b
Compare
18ab02b to
05c248b
Compare
05c248b to
b26f805
Compare
b26f805 to
68cb155
Compare
68cb155 to
63d0d5b
Compare
63d0d5b to
1340091
Compare
1340091 to
7f56ea9
Compare
7f56ea9 to
f9d6013
Compare
f9d6013 to
d3873d1
Compare
d3873d1 to
60408e9
Compare
60408e9 to
6aa536b
Compare
6aa536b to
a91e171
Compare
a91e171 to
128f2cd
Compare
Merge the separate gRPC service and ingress into the main service using h2c (HTTP/2 cleartext), since the backend already demuxes HTTP and gRPC on the same port. Split out the Kubernetes proxy into its own service because it doesn't support h2c. Remove the dedicated gRPC GatewayAPI route. Add hostNetwork support for environments where NET_ADMIN is insufficient for WireGuard. Remove the JSON schema in favor of values file comments and validation template. Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com> Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
Add helm unit tests (via helm-unittest) covering services, ingresses, HTTPRoutes, secrets, PrometheusRules and ServiceAccounts. Add a helm-based e2e test workflow that deploys Omni on a Talos cluster with Traefik and etcd, runs integration tests including workload proxy, and verifies the full stack end-to-end. Add a configurable TestOptions struct to the workload proxy test to allow running with smaller scale in helm e2e. Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com> Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
128f2cd to
e4fe035
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1
fix: unify helm chart services and ingresses, remove JSON schema
Merge the separate gRPC service and ingress into the main service using h2c (HTTP/2 cleartext), since the backend already demuxes HTTP and gRPC on the same port. Split out the Kubernetes proxy into its own service because it doesn't support h2c. Remove the dedicated gRPC GatewayAPI route. Add hostNetwork support for environments where NET_ADMIN is insufficient for WireGuard. Remove the JSON schema in favor of values file comments and validation template.
2
test: add unit and e2e tests to the helm chart
Add helm unit tests (via helm-unittest) covering services, ingresses, HTTPRoutes, secrets, PrometheusRules and ServiceAccounts. Add a helm-based e2e test workflow that deploys Omni on a Talos cluster with Traefik and etcd, runs integration tests including workload proxy, and verifies the full stack end-to-end. Add a configurable TestOptions struct to the workload proxy test to allow running with smaller scale in helm e2e.