forked from chroma-core/chroma
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTiltfile
96 lines (83 loc) · 2.76 KB
/
Tiltfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
update_settings(max_parallel_updates=6)
docker_build(
'migration',
context='.',
dockerfile='./go/Dockerfile.migration'
)
docker_build(
'coordinator',
context='.',
dockerfile='./go/Dockerfile'
)
docker_build(
'server',
context='.',
dockerfile='./Dockerfile',
)
docker_build(
'worker',
context='.',
dockerfile='./rust/worker/Dockerfile'
)
k8s_yaml(
helm(
'k8s/distributed-chroma',
namespace='chroma',
values=[
'k8s/distributed-chroma/values.yaml'
]
)
)
# Lots of things assume the cluster is in a basic state. Get it into a basic
# state before deploying anything else.
k8s_resource(
objects=[
'chroma:Namespace',
'pod-watcher:Role',
'memberlists.chroma.cluster:CustomResourceDefinition',
'worker-memberlist:MemberList',
'coordinator-serviceaccount:serviceaccount',
'coordinator-serviceaccount-rolebinding:RoleBinding',
'coordinator-worker-memberlist-binding:clusterrolebinding',
'logservice-serviceaccount:serviceaccount',
'worker-serviceaccount:serviceaccount',
'worker-serviceaccount-rolebinding:RoleBinding',
'worker-memberlist-readerwriter:ClusterRole',
'worker-worker-memberlist-binding:clusterrolebinding',
'worker-memberlist-readerwriter-binding:clusterrolebinding',
'test-memberlist:MemberList',
'test-memberlist-reader:ClusterRole',
'test-memberlist-reader-binding:ClusterRoleBinding',
],
new_name='k8s_setup',
labels=["infrastructure"]
)
# Production Chroma
k8s_resource('postgres', resource_deps=['k8s_setup'], labels=["infrastructure"])
k8s_resource('pulsar', resource_deps=['k8s_setup'], labels=["infrastructure"], port_forwards=['6650:6650', '8080:8080'])
k8s_resource('migration', resource_deps=['postgres'], labels=["infrastructure"])
k8s_resource('logservice', resource_deps=['migration'], labels=["chroma"], port_forwards='50052:50051')
k8s_resource('frontend-server', resource_deps=['logservice'],labels=["chroma"], port_forwards=8000 )
k8s_resource('coordinator', resource_deps=['pulsar', 'frontend-server', 'migration'], labels=["chroma"], port_forwards=50051)
k8s_resource('worker', resource_deps=['coordinator'],labels=["chroma"])
# Extra stuff to make debugging and testing easier
k8s_yaml([
'k8s/test/coordinator_service.yaml',
'k8s/test/logservice_service.yaml',
'k8s/test/minio.yaml',
'k8s/test/pulsar_service.yaml',
'k8s/test/worker_service.yaml',
'k8s/test/test_memberlist_cr.yaml',
])
k8s_resource(
objects=[
# I don't know why but Tilt denies the existence of 'coordinator:service' et al
# when you try to add them here.
'worker:service',
],
new_name='debug_setup',
resource_deps=['worker'],
labels=["debug"],
)
# Local S3
k8s_resource('minio-deployment', resource_deps=['k8s_setup'], labels=["debug"], port_forwards=9000)