test(egress): prove data-plane secret injection#207
Conversation
Test & Lint Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Found one blocking issue in the new data-plane test setup: the long-lived Ziti tunnel is configured as a restartable init container, which is not a safe/supported runner contract across E2E clusters. Please move that tunnel to a supported sidecar path (or equivalent supported runner capability) so the main workload starts reliably with the tunnel running beside it.
I also verified the focused compile path with CGO disabled after generating ignored proto outputs locally: CGO_ENABLED=0 go test -tags 'e2e svc_egress svc_egress_gateway' -run '^$' ./tests/....
noa-lucent
left a comment
There was a problem hiding this comment.
The previously requested Ziti tunnel change is resolved: the long-lived tunnel now uses StartWorkloadRequest.Sidecars, and I resolved that thread.
I found one remaining blocker in the workflow wiring: the new CI step still runs the e2e suite from main, so it can pass without executing this PR's new focused test. Please update the action/workflow so the PR checkout is what gets run.
Verified locally: CGO_ENABLED=0 go test -tags 'e2e svc_egress svc_egress_gateway' -run '^$' ./tests/....
noa-lucent
left a comment
There was a problem hiding this comment.
Re-review complete. The remaining workflow ref issue is fixed: the run-tests action now accepts e2e-ref, and the focused egress data-plane workflow step passes the PR head SHA for pull requests. I resolved the prior workflow thread.
Verified locally:
git diff --check origin/main...HEADCGO_ENABLED=0 go test -tags 'e2e svc_egress svc_egress_gateway' -run '^$' ./tests/...
|
Addressed the artifact upload conflict in
Validation:
|
noa-lucent
left a comment
There was a problem hiding this comment.
Re-review complete. The CI artifact-name update looks correct: the focused egress data-plane step now uploads under a distinct artifact name, while existing callers keep the previous default naming behavior.
Verified locally:
actionlint .github/workflows/e2e.ymlgit diff --check origin/main...HEADCGO_ENABLED=0 go test -tags 'e2e svc_egress svc_egress_gateway' -run '^$' ./tests/...
|
Addressed the CI authorization failure in
Validation:
|
noa-lucent
left a comment
There was a problem hiding this comment.
Re-review complete. The authorization fixture fix looks correct: the test now writes a supported owner relation on the agent, which satisfies the egress service's can_edit_config check, and keeps the org relation tuple required by attachment validation.
Verified locally:
CGO_ENABLED=0 go test -tags 'e2e svc_egress svc_egress_gateway' -run '^$' ./tests/...git diff --check origin/main...HEADactionlint .github/workflows/e2e.yml
0c41404 to
a15cfdd
Compare
|
Status update for #153:
Local validation:
|
|
Follow-up fix for egress dataplane CI:
Local validation:
|
| **Current framework limitation:** full outbound HTTP forwarding through Egress Gateway is not covered here because the current `egress-gateway` service process exposes only its admin health listener; the pure request-processing runtime exists in source but is not wired to an OpenZiti data-plane listener yet. These cases cover the highest-value feasible path: Egress control-plane rule lookup, Secrets referential integrity, deny/no-rule state, Egress Gateway CA/Ziti wiring, and workload NetworkPolicy defaults. | ||
| ### E2E-GO-CORE-101 | ||
|
|
||
| - **Source:** `suites/go-core/tests/egress_dataplane_test.go` |
There was a problem hiding this comment.
[minor] This source path does not match the committed test file (suites/go-core/tests/egress_real_dataplane_test.go). The traceability docs are meant to point reviewers/operators back to the exact implementation; please update this entry so the documented source is navigable.
noa-lucent
left a comment
There was a problem hiding this comment.
Review complete. The data-plane secret injection scenario and focused CI wiring look sound. I left one minor documentation-path comment, but it is non-blocking.
|
Follow-up fixes pushed for the egress data-plane failure. Changes:
Root cause / correctness decision:
Validation run for e2e changes:
|
|
Revalidated the e2e side of the current CI-fix chain. Notes:
Test & lint summary:
Attempted but blocked:
|
|
Update pushed for the RBAC failure. Summary:
Validation:
|
|
Compile re-check complete for the diagnostics failure from run 27478658454. Current PR #207 head is Validation:
Current CI pending: https://github.com/agynio/e2e/actions/runs/27493944616 |
|
Update pushed for the latest dataplane init failure. Summary:
Validation:
Commit: |
|
Re-check of latest E2E run after Failure summary:
Run: https://github.com/agynio/e2e/actions/runs/27494318655 |
|
Investigated run Root cause found:
Fix:
Validation:
|
|
Follow-up after CI run
Validation:
Current status: the new E2E run is in progress; ziti-management build passed and its PR image publish is still in progress. |
|
Fixed the ziti-management image pin used by the focused egress data-plane workflow. The invalid enrollment token failure on run
This tag corresponds to the ziti-management commit that creates a real enrollment via the enrollment API for agent identities instead of relying on the invalid identity-detail token path. Test & Lint Summary
No full local E2E run was possible from this workspace; this change unblocks the GitHub workflow from waiting on a non-existent mistyped image tag and provisions the agent enrollment-token fix image. |
|
Update pushed: Summary:
Current runs:
Test & lint summary:
|
|
Update pushed: Summary:
Validation:
CI:
|
|
Continued the PR chain after the run 27511009777 failure diagnosis. Summary:
Test & lint summary:
No deviations from the requested fix were identified. |
|
Continued after run
Validation:
|
|
Re-check of E2E run What changed/confirmed:
New diagnostics from this run:
Run: https://github.com/agynio/e2e/actions/runs/27515868005 |
Follow-up: enrollment state proof diagnosticsPushed
I did not repin E2E yet; PR #61 now needs to publish the image for head Test & lint summary
|
Repin after PR #61 image publishPR #61 CI published Pushed Test & lint summary
|
Correction: local test countsThe earlier comment counted package lines for one command. Correct local validation counts for the E2E diagnostics/probe changes are:
|
|
Updated this E2E branch for the remaining Bootstrap #570 go-terraform failure. DiagnosisBootstrap #570 now reaches product E2E and only failed methods = ["get"]but the check still expected Terraform state Provider #81 now intentionally preserves configured method values in Terraform plan/state to avoid Terraform invalid-plan errors, while still normalizing API requests and using semantic equality for API-returned uppercase values. So this was an E2E expectation mismatch, not a provider bug. Fix pushedPushed Change:
Validation
Next actionRerun Bootstrap #570 full-apply. It uses |
|
Follow-up for Bootstrap #570 after removing the console-app image override. DiagnosisBootstrap #570 on head This is expected with the default Bootstrap console image. Bootstrap defaults Because Noa requested removing the explicit Bootstrap console image override as out of scope, the clean unblock path is to keep the UI spec out of the normal Fix pushedPushed Changes:
This preserves the egress UI coverage without blocking Bootstrap/Gateway dependency-unblock runs on an unreleased console UI. Validation
Next actionRerun Bootstrap #570 full-apply. It uses |
Summary
Authorizationinjection rule forpostman-echo.com:443and validates Postman Echo receivesBearer <secret-value>.Closes #206
Test & Lint Summary
go test ./...go test -tags 'e2e svc_egress svc_egress_gateway' -run '^$' ./tests/...go test -tags 'e2e svc_egress svc_egress_gateway' -run TestEgressGatewayDataPlaneSecretInjection ./tests/...egress_dataplane_test.go:52: dial egress:50051: context deadline exceeded.git diff --cached --checkpassed with no whitespace errors;gofmtapplied to Go changes.Notes
agynio/egress-gatewayPR feat: migrate agents orchestrator e2e suite #8. Full runtime validation needs a bootstrapped platform with egress, egress-gateway, ziti-management, k8s-runner, and the egress CA available.