@@ -13,6 +13,7 @@ This guide covers project setup, architecture, development workflows, and toolin
1313- [ KWOK Simulated Cluster Testing] ( #kwok-simulated-cluster-testing )
1414- [ Make Targets Reference] ( #make-targets-reference )
1515- [ Debugging] ( #debugging )
16+ - [ Validator Development] ( #validator-development )
1617
1718## Quick Start
1819
@@ -316,6 +317,13 @@ make e2e
316317# With local Kubernetes cluster (requires make dev-env first)
317318make e2e-tilt
318319
320+ # Run E2E tests exactly like CI (automated setup + teardown)
321+ ./scripts/run-e2e-local.sh
322+
323+ # Run with options
324+ ./scripts/run-e2e-local.sh --skip-cleanup # Keep cluster after tests
325+ ./scripts/run-e2e-local.sh --collect-artifacts # Collect artifacts even on success
326+
319327# KWOK simulated cluster tests (no GPU hardware required)
320328make kwok-test-all # All recipes
321329make kwok-e2e RECIPE=eks-training # Single recipe
@@ -453,13 +461,27 @@ make dev-reset # Full reset (tear down and recreate)
453461### Running E2E Tests with Tilt
454462
455463``` bash
464+ # Option 1: Automated (exactly like CI)
465+ ./scripts/run-e2e-local.sh
466+
467+ # Option 2: Manual setup (for development/debugging)
456468# Start the dev environment
457469make dev-env
458470
459471# In another terminal, run E2E tests against the Tilt cluster
460472make e2e-tilt
461473```
462474
475+ The automated script (` run-e2e-local.sh ` ) replicates the exact CI workflow:
476+ - Creates Kind cluster with local registry
477+ - Starts Tilt in CI mode
478+ - Builds and pushes both images (` eidos:local ` , ` eidos-validator:local ` )
479+ - Injects fake nvidia-smi into worker nodes
480+ - Sets up port forwarding to eidosd
481+ - Runs E2E tests with proper environment variables
482+ - Collects debug artifacts on failure
483+ - Cleans up cluster and resources
484+
463485### Testing the API Server Locally (without Kubernetes)
464486
465487For quick iteration without Kubernetes:
@@ -551,8 +573,9 @@ See [kwok/README.md](kwok/README.md) for adding recipes, profiles, and troublesh
551573| Target | Description |
552574| --------| -------------|
553575| ` make build ` | Build binaries for current OS/arch |
554- | ` make image ` | Build and push container image |
555- | ` make release ` | Full release with goreleaser |
576+ | ` make image ` | Build and push eidos container image (Ko) |
577+ | ` make image-validator ` | Build and push validator image with Go toolchain (Docker) |
578+ | ` make release ` | Full release with goreleaser (includes all images) |
556579| ` make bump-major ` | Bump major version (1.2.3 → 2.0.0) |
557580| ` make bump-minor ` | Bump minor version (1.2.3 → 1.3.0) |
558581| ` make bump-patch ` | Bump patch version (1.2.3 → 1.2.4) |
@@ -649,6 +672,20 @@ tilt logs -f tilt/Tiltfile
649672make dev-reset
650673```
651674
675+ ## Validator Development
676+
677+ For detailed information on adding validation checks and constraint validators, see:
678+
679+ ** [ pkg/validator/checks/README.md] ( ../pkg/validator/checks/README.md ) **
680+
681+ This comprehensive guide covers:
682+ - Architecture overview (Job-based validation, test registration framework)
683+ - Quick start with code generator: ` eidos generate-validator `
684+ - How-to guides for adding checks and constraint validators
685+ - Testing patterns (unit tests vs integration tests)
686+ - Enforcement mechanisms (automated registration validation)
687+ - Troubleshooting common issues
688+
652689## Additional Resources
653690
654691### Project Documentation
0 commit comments