You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: developing/DEVELOPMENT.md
+67-28Lines changed: 67 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,9 +43,9 @@ node --version
43
43
npm --version
44
44
```
45
45
46
-
### Install Kind (Optional)
46
+
### Install Kind
47
47
48
-
**Note**: Tilt will automatically create a Kind cluster named `tilt` if it doesn't exist. However, you still need to have `kind` installed.
48
+
**Note**: The Makefile will automatically create a Kind cluster named `tilt` if it doesn't exist. However, you still need to have `kind` installed.
49
49
50
50
```bash
51
51
# macOS
@@ -54,21 +54,38 @@ brew install kind
54
54
# Or follow instructions at: https://kind.sigs.k8s.io/docs/user/quick-start/#installation
55
55
```
56
56
57
-
**Alternative**: If you prefer to use a different Kubernetes cluster (Docker Desktop, Minikube, etc.), you can skip Kind installation. Just ensure your cluster is running and `kubectl` is configured to use it. Tilt will detect and use your current `kubectl` context.
57
+
58
+
### Using Kind Provider (Optional)
59
+
60
+
You can choose to set the `KIND_EXPERIMENTAL_PROVIDER` environment variable in your shell session:
61
+
62
+
```bash
63
+
export KIND_EXPERIMENTAL_PROVIDER=podman
64
+
```
65
+
66
+
The Makefile will honor this environment variable when creating the Kind cluster.
58
67
59
68
## Quick Start
60
69
61
70
1.**Navigate to the developing directory**:
62
71
```bash
63
-
cdworkspaces/developing
72
+
cd developing
64
73
```
65
74
66
-
2.**Start Tilt**:
75
+
2.**Start Tilt using the Makefile**:
67
76
```bash
68
-
tilt up
77
+
make tilt
69
78
```
70
79
80
+
**Important**: Always use `make tilt` instead of running `tilt up` directly. The Makefile ensures:
81
+
- The Kind cluster exists and is properly configured
82
+
- The Kubernetes context is switched to `kind-tilt`
83
+
- Cert-manager is installed (required for webhooks)
84
+
- All prerequisites are met before Tilt starts
85
+
71
86
This will:
87
+
- Set up the Kind cluster (if it doesn't exist)
88
+
- Install cert-manager
72
89
- Open the Tilt UI in your browser (usually http://localhost:10350)
73
90
- Build the controller and backend Docker images
74
91
- Deploy them to your Kubernetes cluster
@@ -80,22 +97,20 @@ brew install kind
80
97
81
98
Watch the Tilt UI in your browser. You should see:
82
99
83
-
1.**Setup Resources** (one-time setup):
84
-
-`setup-kind` - Creating/verifying Kind cluster (if using Kind)
85
-
-`setup-cert-manager` - Installing cert-manager (required for webhooks)
86
-
-`install-crds` - Installing CRDs
87
-
88
-
2.**Local Resources**:
100
+
1.**Local Resources**:
89
101
-`controller-generate` - Generating manifests and code
102
+
-`install-crds` - Installing CRDs
90
103
-`workspaces-frontend` - Running webpack dev server (if enabled)
91
104
92
-
3.**Docker Resources** (building images):
105
+
2.**Docker Resources** (building images):
93
106
-`workspaces-controller`
94
107
-`workspaces-backend`
95
108
96
-
4.**Kubernetes Resources** (deploying):
109
+
3.**Kubernetes Resources** (deploying):
97
110
- Deployments, Services, etc.
98
111
112
+
**Note**: The Kind cluster and cert-manager setup are handled by the Makefile before Tilt starts, so you won't see those as Tilt resources.
113
+
99
114
Wait until all resources show green/healthy status.
100
115
101
116
5.**Access the componenets**:
@@ -107,6 +122,8 @@ brew install kind
107
122
```bash
108
123
# In the terminal where Tilt is running, press Ctrl+C
The Makefile provides several targets for managing your development environment:
151
+
152
+
-`make tilt` or `make` - Set up Kind cluster, install cert-manager, and start Tilt
153
+
-`make tilt-up` - Alias for `make tilt`
154
+
-`make tilt-down` - Stop Tilt
155
+
-`make setup-kind` - Set up the Kind cluster only (without starting Tilt)
156
+
-`make setup-cert-manager` - Install cert-manager only (requires Kind cluster)
157
+
131
158
### Skipping Frontend
132
159
133
160
To run Tilt without the frontend (useful for backend/controller-only development):
134
161
135
162
```bash
136
-
ENABLE_FRONTEND=false tilt up
163
+
ENABLE_FRONTEND=false make tilt
137
164
```
138
165
139
166
### Custom Ports
@@ -206,21 +233,32 @@ export DOCKER_BUILDKIT=0
206
233
207
234
### Kubernetes Connection Issues
208
235
209
-
Ensure:
210
-
-`kubectl` is configured correctly (`kubectl cluster-info`)
211
-
- Your cluster is running and accessible
212
-
- You have permissions to create resources in the `kubeflow-workspaces` namespace
236
+
The Makefile automatically handles context switching to `kind-tilt`. If you encounter issues:
213
237
214
-
```bash
215
-
# Verify cluster is accessible
216
-
kubectl cluster-info
238
+
1.**Verify the Kind cluster exists**:
239
+
```bash
240
+
kind get clusters
241
+
```
217
242
218
-
# Check current context
219
-
kubectl config current-context
243
+
2.**Check the current context**:
244
+
```bash
245
+
kubectl config current-context
246
+
# Should be: kind-tilt
247
+
```
220
248
221
-
# List available contexts
222
-
kubectl config get-contexts
223
-
```
249
+
3.**If context is wrong, manually switch**:
250
+
```bash
251
+
kubectl config use-context kind-tilt
252
+
```
253
+
254
+
4.**Verify cluster is accessible**:
255
+
```bash
256
+
kubectl cluster-info
257
+
```
258
+
259
+
5.**Ensure you have permissions** to create resources in the `kubeflow-workspaces` namespace
260
+
261
+
**Note**: If you're running `tilt up` directly (not via `make tilt`), you may be on the wrong Kubernetes context. Always use `make tilt` to ensure the correct context is set.
224
262
225
263
### Port Already in Use
226
264
@@ -262,5 +300,6 @@ Also check that you have cluster-admin permissions or appropriate RBAC.
262
300
- Node modules: `npm ci` in frontend
263
301
264
302
3.**Clean up resources**:
265
-
- Always run `tiltdown` when done
303
+
- Always run `make tilt-down` (or `tilt down`) when done
0 commit comments