Skip to content

Commit e4880ac

Browse files
committed
feat(dev): initial tilt config
Signed-off-by: Alessio Pragliola <seth.pro@gmail.com>
1 parent 365c44b commit e4880ac

File tree

7 files changed

+114
-1
lines changed

7 files changed

+114
-1
lines changed

devenv/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
tilt-up:
2+
DOCKER_BUILDKIT=0 tilt up

devenv/Tiltfile

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
load_dynamic("./configs/tiltfiles/setup.tiltfile")
2+
3+
config.define_string_list("services")
4+
5+
parsed_config = config.parse()
6+
7+
for service in parsed_config.get("services", []):
8+
load_dynamic("./configs/tiltfiles/%s.tiltfile" % (service))
9+
10+
manifests = kustomize("../workspaces/controller/config/default")
11+
12+
objects = decode_yaml_stream(manifests)
13+
14+
for o in objects:
15+
if o["kind"] == "Deployment" and o.get("metadata").get("name") in ["workspace-controller-controller-manager"]:
16+
o["spec"]["template"]["spec"]["securityContext"] = {"runAsNonRoot": False, "readOnlyRootFilesystem": False}
17+
o["spec"]["template"]["spec"]["containers"][0]["imagePullPolicy"] = "Always"
18+
19+
overridden_manifests = encode_yaml_stream(objects)
20+
21+
k8s_yaml(overridden_manifests, allow_duplicates=True)
22+
23+
k8s_resource(
24+
workload="workspace-controller-controller-manager",
25+
objects=[
26+
"workspace-controller-system:namespace",
27+
"workspacekinds.kubeflow.org:customresourcedefinition",
28+
"workspaces.kubeflow.org:customresourcedefinition",
29+
"workspace-controller-controller-manager:serviceaccount",
30+
"workspace-controller-leader-election-role:role",
31+
"workspace-controller-manager-role:clusterrole",
32+
"workspace-controller-workspace-editor-role:clusterrole",
33+
"workspace-controller-workspace-viewer-role:clusterrole",
34+
"workspace-controller-workspacekind-editor-role:clusterrole",
35+
"workspace-controller-workspacekind-viewer-role:clusterrole",
36+
"workspace-controller-leader-election-rolebinding:rolebinding",
37+
"workspace-controller-manager-rolebinding:clusterrolebinding",
38+
"workspace-controller-serving-cert:certificate",
39+
"workspace-controller-selfsigned-issuer:issuer",
40+
"workspace-controller-validating-webhook-configuration:validatingwebhookconfiguration"
41+
],
42+
labels="controller",
43+
resource_deps=[
44+
"cert-manager"
45+
]
46+
)
47+
48+
load("ext://restart_process", "docker_build_with_restart")
49+
50+
local_resource(
51+
"manager",
52+
"CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/manager cmd/main.go",
53+
dir = "../workspaces/controller",
54+
deps = [
55+
"../workspaces/controller/cmd",
56+
"../workspaces/controller/internal",
57+
"../workspaces/controller/go.mod",
58+
"../workspaces/controller/go.sum",
59+
],
60+
labels="controller",
61+
)
62+
63+
docker_build_with_restart(
64+
"ghcr.io/kubeflow/notebooks/workspace-controller",
65+
context = "../workspaces/controller",
66+
dockerfile = "../workspaces/controller/tilt.dockerfile",
67+
entrypoint = ["/manager"],
68+
only=[
69+
"bin/",
70+
],
71+
live_update = [
72+
sync("../workspaces/controller/bin/manager", "/manager"),
73+
],
74+
)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
load("ext://helm_resource", "helm_repo", "helm_resource")
2+
load("ext://namespace", "namespace_create")
3+
4+
namespace_create("cert-manager")
5+
6+
helm_repo(
7+
name="jetstack",
8+
url="https://charts.jetstack.io",
9+
resource_name="jetstack-repo",
10+
labels=["common"]
11+
)
12+
13+
helm_resource(
14+
name="cert-manager",
15+
chart="jetstack/cert-manager",
16+
release_name="cert-manager",
17+
namespace="cert-manager",
18+
flags=["--version=v1.17.0", "--set", "crds.enabled=true"],
19+
deps=["namespaces", "cert-manager"],
20+
labels=["common"]
21+
)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Disable analytics
2+
analytics_settings(False)
3+
4+
update_settings(k8s_upsert_timeout_secs = 120)

devenv/tilt_config.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"services": [
3+
"cert-manager"
4+
]
5+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# More info: https://docs.docker.com/engine/reference/builder/#dockerignore-file
22
# Ignore build and test binaries.
3-
bin/
3+
# bin/
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM alpine:3.12
2+
3+
WORKDIR /
4+
5+
COPY bin/manager /manager
6+
7+
ENTRYPOINT ["/manager"]

0 commit comments

Comments
 (0)