From e07cc59e7767794f87e0d5f996057686f864e205 Mon Sep 17 00:00:00 2001 From: Bhakti Narvekar Date: Sat, 14 Jun 2025 20:15:45 -0700 Subject: [PATCH] Tilt setup for backend Signed-off-by: Bhakti Narvekar --- workspaces/backend/Tiltfile | 23 ++++++++ workspaces/backend/devenv/backend.yaml | 75 ++++++++++++++++++++++++ workspaces/backend/devenv/dev.Dockerfile | 7 +++ 3 files changed, 105 insertions(+) create mode 100644 workspaces/backend/Tiltfile create mode 100644 workspaces/backend/devenv/backend.yaml create mode 100644 workspaces/backend/devenv/dev.Dockerfile diff --git a/workspaces/backend/Tiltfile b/workspaces/backend/Tiltfile new file mode 100644 index 000000000..178700084 --- /dev/null +++ b/workspaces/backend/Tiltfile @@ -0,0 +1,23 @@ +load("ext://restart_process", "docker_build_with_restart") + +local_resource( + "backend-bin", + "CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ../bin/backend cmd/main.go", + deps=["cmd", "internal", "go.mod", "go.sum"], +) + + +docker_build_with_restart( + "backend", + context="..", # this is where dev.Dockerfile lives + dockerfile="devenv/dev.Dockerfile", + entrypoint=["/backend"], + only=["bin/backend"], + live_update=[ + sync("../bin/backend", "/backend"), + ], +) + +k8s_yaml("devenv/backend.yaml") + +k8s_resource("backend", port_forwards=4000) diff --git a/workspaces/backend/devenv/backend.yaml b/workspaces/backend/devenv/backend.yaml new file mode 100644 index 000000000..2a94da4fa --- /dev/null +++ b/workspaces/backend/devenv/backend.yaml @@ -0,0 +1,75 @@ +# Deployment +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend +spec: + replicas: 1 + selector: + matchLabels: + app: backend + template: + metadata: + labels: + app: backend + spec: + serviceAccountName: backend-svc # custom service account + containers: + - name: backend + image: backend + ports: + - containerPort: 4000 + +--- +# Service +apiVersion: v1 +kind: Service +metadata: + name: backend +spec: + selector: + app: backend + ports: + - protocol: TCP + port: 80 + targetPort: 4000 + +--- +# ServiceAccount +apiVersion: v1 +kind: ServiceAccount +metadata: + name: backend-svc + namespace: default + +--- +# ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: backend-role +rules: + - apiGroups: [""] + resources: ["namespaces"] + verbs: ["get", "list", "watch", "create", "update", "delete"] + - apiGroups: ["kubeflow.org"] + resources: ["workspacekinds"] + verbs: ["get", "list", "watch","create","update","delete"] # ["get", "list", "watch", "create", "update", "delete"] + - apiGroups: ["kubeflow.org"] + resources: ["workspaces"] + verbs: ["get", "list", "watch", "create", "update", "delete"] + +--- +# ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: backend-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: backend-role +subjects: + - kind: ServiceAccount + name: backend-svc + namespace: default diff --git a/workspaces/backend/devenv/dev.Dockerfile b/workspaces/backend/devenv/dev.Dockerfile new file mode 100644 index 000000000..fde72648b --- /dev/null +++ b/workspaces/backend/devenv/dev.Dockerfile @@ -0,0 +1,7 @@ +FROM alpine:3.18 + +WORKDIR /app + +COPY bin/backend /backend + +ENTRYPOINT ["/backend"] \ No newline at end of file