feat(main): add e2e with kamaji case#324
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Revert the master->main trigger edits to ci.yml and publish.yml. These are pre-existing workflows unrelated to adding the e2e suite; publish.yml in particular would arm a push to a Docker Hub repo the project no longer owns. The new e2e.yml is unaffected and still gates PRs. Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>
Timofei Larkin (lllamnyp)
left a comment
There was a problem hiding this comment.
Everything raised earlier is resolved.
- Rebased onto
v1cleanly (merge-base isv1's tip), so the stale fork point is gone. - Plugin TLS tests reconciled to the corrected
--cert-filedetection —helpers_test.gonow covers server-TLS-only, mTLS, no-cert-file, and mount-not-found viafindSecretNameForTLS, with no overlap or helper-name collision against thegetTLSConfigtests already onv1. Compiles and passes together. - Seed
IsVoterfix (Status().Update→Status().Patch(MergeFrom)) rebased cleanly and keeps its concurrent-writer regression test. - Workflow-trigger changes dropped. I pushed a commit on top (
f8bbeec, maintainer edit) reverting themaster→mainedits toci.ymlandpublish.ymlback to theirv1state — they're pre-existing workflows unrelated to adding e2e, andpublish.ymlin particular would have armed a push to a Docker Hub repo the project no longer owns. The newe2e.ymlis untouched and still gates PRs.
Build, go vet, the full unit suite, and make manifests generate (no drift) all pass on the rebased tree.
The e2e suite itself is the strong part: it proves the full consumer story end to end — an operator-managed full-mTLS EtcdCluster backs a Kamaji DataStore, a TenantControlPlane comes up on it, and a ConfigMap written through the tenant API is then found as a key in our etcd. The harness dumps diagnostics from the EXIT trap before teardown, pins component versions with rationale, and is build-tag-gated so it stays out of unit runs.
LGTM.
No description provided.