-
Notifications
You must be signed in to change notification settings - Fork 69
chore: add tilt-based development environment #744
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: notebooks-v2
Are you sure you want to change the base?
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
2447a64 to
4fb9f94
Compare
paulovmr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great addition, @andyatmiami . Tested locally, it worked!
|
/ok-to-test |
|
/retest |
caponetto
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments inline :)
f2575fd to
292394e
Compare
closes: #41 closes: kubeflow#135 Introduce a comprehensive Tilt setup for streamlined local development of the Kubeflow Notebooks workspace components (controller, backend, and frontend). Key features: * Orchestrated development workflow: Tiltfile manages the entire development lifecycle including cluster setup, dependency installation, Docker builds, and Kubernetes deployments * Automated infrastructure setup: - Kind cluster creation and verification via setup-kind.sh - Cert-manager installation via setup-cert-manager.sh - CRD installation with proper dependency ordering * Component integration: - Controller: Docker builds with code generation, CRD installation, and Kubernetes deployment with dev-specific overrides (USE_ISTIO=false) - Backend: Docker builds and Kubernetes deployment with port forwarding - Frontend: Local webpack dev server with hot reloading (not containerized for faster iteration) * Frontend Tilt support: - Environment-aware webpack configuration that loads .env.tilt when TILT_ENV=true - New start:tilt npm script for Tilt-specific development - Enables standalone frontend mode with proper backend proxy configuration * Developer experience improvements: - File watching with intelligent exclusions to prevent rebuild loops - Resource dependency management ensuring proper startup order - Optional frontend via ENABLE_FRONTEND environment variable - Comprehensive documentation in DEVELOPMENT.md * Hot reloading and live updates: - Frontend changes reflect immediately via webpack dev server - Controller/backend changes trigger automatic Docker rebuilds and redeployments - Port forwards configured for easy local access This setup enables developers to iterate quickly on all components with minimal manual setup and configuration. Signed-off-by: Andy Stoneberg <[email protected]>
a62701d to
deefad4
Compare
Signed-off-by: Paulo Rego <[email protected]> Signed-off-by: Andy Stoneberg <[email protected]>
deefad4 to
7466c07
Compare
|
thank you, @andyatmiami! /lgtm |
closes: #41
closes: #135
Introduce a comprehensive Tilt setup for streamlined local development of the Kubeflow Notebooks workspace components (controller, backend, and frontend).
Key features:
Orchestrated development workflow: Tiltfile manages the entire development lifecycle including cluster setup, dependency installation, Docker builds, and Kubernetes deployments
Automated infrastructure setup:
Component integration:
Frontend Tilt support:
Developer experience improvements:
Hot reloading and live updates:
This setup enables developers to iterate quickly on all components with minimal manual setup and configuration.