Skip to content

Feat/add e2e to external example pack#153

Merged
iAlexeze merged 6 commits into
mainfrom
feat/add-e2e-to-external-example-pack
Jun 1, 2026
Merged

Feat/add e2e to external example pack#153
iAlexeze merged 6 commits into
mainfrom
feat/add-e2e-to-external-example-pack

Conversation

@iAlexeze
Copy link
Copy Markdown
Collaborator

@iAlexeze iAlexeze commented Jun 1, 2026

Summary

  • Adds ork e2e --dev-server flag that deploys ghcr.io/orkspace/orkestra-dev-server:latest as a Kubernetes Deployment+Service into orkestra-system before Orkestra installs, making the mock server available at orkestra-dev-server.orkestra-system.svc:9999 from inside the cluster
  • Adds cmd/devserver/main.go standalone entry point, make docker-devserver / make release-devserver targets, and a build-devserver CI job in build-push-images.yml — built and pushed alongside runtime/gateway/cc
  • Adds cr-e2e.yaml for all 10 external examples using the in-cluster DNS address instead of localhost:9999
  • Adds e2e.yaml for all 10 external examples with meaningful assertions lifted from README verification steps — happy path + rejection case where applicable (07-vault, 08-opa)
  • Adds root examples/use-cases/external/e2e.yaml suite that imports all 10
  • Adds ## E2E section to all 10 external example READMEs

Test plan

  • ork validate -f e2e.yaml passes on root external suite (10 imports valid)
  • ork e2e --use-current --dev-server passes on all 10 examples individually
  • Dev server deployed and torn down cleanly on each run
  • make ork and go build ./cmd/devserver/... compile clean

iAlexeze added 6 commits June 1, 2026 18:37
Add comprehensive suite-level results display for e2e test imports:

- Add ImportResult struct capturing path, Result, and error for each import
- Change runImports return type from []error to []ImportResult
- Implement printImportSummary with formatted table output
- Show pass/fail status, test counts, duration, and failure reasons
- Display overall suite summary (X of Y imports passed, total duration)

Example output:
─── Suite Results: multi-tenancy-suite ───

  ✓  multi-tenancy-basic-e2e              8 / 8   53s
  ✗  cross-access-control-e2e             0 / 4   12s   → CrashLoopBackOff
  ✓  shared-platform-e2e                  4 / 4   3m17s

  2 of 3 imports passed  (4m22s)

Also updates cross-access-control example:
  - Fix e2e.yaml configuration for proper import testing
  - Update README with suite results documentation
  - Fix katalog.yaml for cross-access-control scenario

This provides clear visibility into multi-test suite execution
and makes debugging failed imports much easier.
Adds devServer bool to New() and Runner. When set, deploys
ghcr.io/orkspace/orkestra-dev-server:latest as a Deployment+Service
into orkestra-system before Orkestra installs, waits for it with
DeploymentHealthChecker, and tears it down automatically.
Each cr-e2e.yaml uses orkestra-dev-server.orkestra-system.svc:9999
instead of localhost:9999 — works from inside the cluster without
host networking. Root e2e.yaml imports all 10 sub-tests.
All 10 external examples now have runnable e2e. Tests lifted from
README verification steps — asserts both happy path and rejection
cases (07-vault, 08-opa each verify blocked paths with status checks).
Each README now has a '## E2E' section showing the run command
(ork e2e --dev-server), explaining cr-e2e.yaml, and showing the
key expectations inline — following the enrich/03-rollout-observer
README pattern.
@iAlexeze iAlexeze merged commit b94c9dd into main Jun 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant