forked from wormhole-foundation/wormhole-explorer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Tiltfile
124 lines (103 loc) · 3.09 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Disable telemetry by default
analytics_settings(False)
# Moar updates (default is 3)
update_settings(max_parallel_updates = 10)
# When running Tilt on a server, this can be used to set the public hostname Tilt runs on
# for service links in the UI to work.
config.define_string("webHost", False, "Public hostname for port forwards")
# Components
config.define_bool("mongo", False, "Enable mongo component")
config.define_bool("mongo-express", False, "Enable mongo-express component")
config.define_bool("fly", False, "Enable fly component")
config.define_bool("server", False, "Enable server component")
config.define_bool("web", False, "Enable web component")
config.define_bool("web_hot", False, "Enable how web component")
config.define_bool("onchain-data", False, "Enable onchain_data component")
cfg = config.parse()
webHost = cfg.get("webHost", "localhost")
mongo = cfg.get("mongo", True)
mongoExpress = cfg.get("mongo-express", True)
fly = cfg.get("fly", True)
server = cfg.get("server", True)
web = cfg.get("web", True)
web_hot = cfg.get("web_hot", True)
onchain_data = cfg.get("onchain-data", True)
if mongo:
k8s_yaml("devnet/mongo-pvc.yaml")
k8s_yaml("devnet/mongo-pv.yaml")
k8s_yaml("devnet/mongo.yaml")
k8s_resource(
"mongo",
port_forwards = [
port_forward(27017, name = "Mongo [:27017]", host = webHost),
]
)
if mongoExpress:
k8s_yaml("devnet/mongo-express.yaml")
k8s_resource(
"mongo-express",
port_forwards = [
port_forward(8081, name = "Mongo Express [:8081]", host = webHost),
],
resource_deps = ["mongo"]
)
if fly:
docker_build(
ref = "fly",
context = "fly",
dockerfile = "fly/Dockerfile",
)
k8s_yaml("devnet/fly.yaml")
k8s_resource(
"fly",
resource_deps = ["mongo"]
)
if server:
docker_build(
ref = "server",
context = "server",
dockerfile = "server/Dockerfile",
)
k8s_yaml("devnet/server.yaml")
k8s_resource(
"server",
port_forwards = [
port_forward(4000, name = "Server [:4000]", host = webHost),
],
resource_deps = ["mongo"]
)
if web:
entrypoint = "/app/node_modules/.bin/serve -s build -n"
live_update = []
if web_hot:
entrypoint = "npm start"
live_update = [
sync("./web/public", "/app/public"),
sync("./web/src", "/app/src"),
]
docker_build(
ref = "web",
context = "web",
dockerfile = "web/Dockerfile",
entrypoint = entrypoint,
live_update = live_update,
)
k8s_yaml("devnet/web.yaml")
k8s_resource(
"web",
resource_deps = [],
port_forwards = [
port_forward(3000, name = "Web [:3000]", host = webHost),
]
)
if onchain_data:
docker_build(
ref = "onchain-data",
context = "onchain_data",
dockerfile = "onchain_data/Dockerfile"
)
k8s_yaml("devnet/onchain-data.yaml")
k8s_resource(
"onchain-data",
resource_deps = ["mongo"],
)