@@ -50,7 +50,8 @@ def check_and_load_agoric(chart_prefix, ibc_config):
5050 # Update k8s resource with new name, lebels, and port-forwards
5151 k8s_resource(
5252 "agoric-validator",
53- new_name="Agoric Local Node",
53+ # TODO_IN_THIS_COMMIT: consider extracting to const
54+ new_name="Agoriclocal Validator",
5455 labels=["IBC"],
5556 port_forwards=[
5657 "46657:26657",
@@ -64,55 +65,72 @@ def check_and_load_agoric(chart_prefix, ibc_config):
6465# - Converts a pair string like "pocket-agoriclocal" to "Pocket->Agoriclocal"
6566def pair_pretty(pair):
6667 chain_a_id, chain_b_id = pair.split("-")
68+ if chain_a_id == "pocket":
69+ chain_a_id = "pokt"
70+
71+ if chain_b_id == "pocket":
72+ chain_b_id = "pokt"
73+
6774 return chain_a_id.title() + "->" + chain_b_id.title()
6875
6976
77+ # TODO_IN_THIS_COMMIT: update comment...
7078# Load IBC Relayer Server Resources
7179# - Sets up the server-side relayer for a given pair
7280# - Adds appropriate resource dependencies based on which chain is "pocket"
73- def load_ibc_relayer_server_resources(chart_prefix, pair):
74- chain_a_id, chain_b_id = pair.split("-")
75- pair_ibc_setup_dep = pair_pretty(pair) + " IBC Setup"
76-
77- if chain_a_id == "pocket":
78- resource_deps = [
79- "validator",
80- chain_b_id.title() + " Local Node",
81- pair_ibc_setup_dep,
82- ]
83- elif chain_b_id == "pocket":
84- resource_deps = [
85- "validator",
86- chain_a_id.title() + " Local Node",
87- pair_ibc_setup_dep,
88- ]
89- else:
90- resource_deps = [
91- chain_a_id.title() + " Local Node",
92- chain_b_id.title() + " Local Node",
93- pair_ibc_setup_dep,
94- ]
81+ def load_ibc_relayer_server_resources(chart_prefix, pairs):
82+ resource_deps = []
83+ chain_config_values_flags = []
84+ # DEV_NOTE: starlark (tilt) doesn't support python sets.
85+ chain_id_set = {}
86+ for pair in pairs:
87+ chain_a_id, chain_b_id = pair.split("-")
88+ chain_id_set[chain_a_id] = True
89+ chain_id_set[chain_b_id] = True
90+
91+ # TODO_IN_THIS_COMMIT: extract to constant
92+ if chain_a_id == "pocket":
93+ resource_deps = [
94+ "validator",
95+ chain_b_id.title() + " Validator",
96+ ]
97+ elif chain_b_id == "pocket":
98+ resource_deps = [
99+ # TODO_IN_THIS_COMMIT: extract to constant
100+ "validator",
101+ chain_a_id.title() + " Validator",
102+ ]
103+ else:
104+ resource_deps = [
105+ chain_a_id.title() + "Validator",
106+ chain_b_id.title() + "Validator",
107+ # TODO_IN_THIS_COMMIT: extract to constant
108+ "IBC Setup",
109+ ]
110+
111+ chain_ids = chain_id_set.keys()
112+ for chain_id in chain_ids:
113+ chain_config_values_flags.append(
114+ "--values=" +
115+ os.path.join("localnet", "kubernetes", "values-ibc-relayer-config-" + chain_id + ".yaml"))
95116
96117 # Deploy helm chart
97118 helm_resource(
98- "ibc-relayer-" + pair ,
119+ "ibc-relayer" ,
99120 chart_prefix + "ibc-relayer",
100121 flags=[
101- "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-common.yaml"),
102- "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-daemon.yaml"),
103- "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-config-" + pair + ".yaml"),
104- "--set=chain_a_id=" + chain_a_id,
105- "--set=chain_b_id=" + chain_b_id
106- ],
122+ "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-common.yaml"),
123+ "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-daemon.yaml"),
124+ ] + chain_config_values_flags,
107125 resource_deps=resource_deps,
108126 image_deps=["ibc-relayer"],
109127 image_keys=[("image.repository", "image.tag")],
110128 )
111129
112130 # Update k8s resource with new name, lebels, and port-forwards
113131 k8s_resource(
114- "ibc-relayer-" + pair ,
115- new_name=pair_pretty(pair) + " IBC Relayer",
132+ "ibc-relayer" ,
133+ new_name="🔁 Hermes Relayer",
116134 labels=["IBC"],
117135 resource_deps=resource_deps,
118136 )
@@ -122,21 +140,22 @@ def load_ibc_relayer_server_resources(chart_prefix, pair):
122140# - Sets up the CLI/setup resource for a given pair
123141# - Adds appropriate resource dependencies based on which chain is "pocket"
124142def load_ibc_relayer_setup_resources(chart_prefix, pair):
143+ # TODO_IN_THIS_COMMIT: rename to chain_one_id and chain_two_id to disambiguate with a, b, c, d used elsewhere.
125144 chain_a_id, chain_b_id = pair.split("-")
126145 if chain_a_id == "pocket":
127146 resource_deps = [
128147 "validator",
129- chain_b_id.title() + " Local Node ",
148+ chain_b_id.title() + " Validator ",
130149 ]
131150 elif chain_b_id == "pocket":
132151 resource_deps = [
133152 "validator",
134- chain_a_id.title() + " Local Node ",
153+ chain_a_id.title() + " Validator ",
135154 ]
136155 else:
137156 resource_deps = [
138- chain_a_id.title() + " Local Node ",
139- chain_b_id.title() + " Local Node ",
157+ chain_a_id.title() + " Validator ",
158+ chain_b_id.title() + " Validator ",
140159 ]
141160
142161 # Deploy helm chart
@@ -146,7 +165,8 @@ def load_ibc_relayer_setup_resources(chart_prefix, pair):
146165 flags=[
147166 "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-common.yaml"),
148167 "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-cli.yaml"),
149- "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-config-" + pair + ".yaml"),
168+ "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-config-" + chain_a_id + ".yaml"),
169+ "--values=" + os.path.join("localnet", "kubernetes", "values-ibc-relayer-config-" + chain_b_id + ".yaml"),
150170 "--set=chain_a_id=" + chain_a_id,
151171 "--set=chain_b_id=" + chain_b_id
152172 ],
@@ -160,34 +180,29 @@ def load_ibc_relayer_setup_resources(chart_prefix, pair):
160180 k8s_resource(
161181 # workload=release_name,
162182 "ibc-relayer-setup-" + pair,
163- new_name=pair_pretty(pair) + " IBC Setup" ,
164- labels=["IBC "],
183+ new_name="🏗️ " + pair_pretty(pair) ,
184+ labels=["IBC_Pairs_Setup "],
165185 trigger_mode=TRIGGER_MODE_MANUAL,
166186 resource_deps=resource_deps,
167187 )
168188
169189
170- # Load IBC Relayer
171- # - Loads both server and setup resources for a given pair
172- def load_ibc_relayer(chart_prefix, pair):
173- load_ibc_relayer_server_resources(chart_prefix, pair)
174- load_ibc_relayer_setup_resources(chart_prefix, pair)
175-
176-
177190# Load IBC Resources
178191# - Loads Agoric resources if enabled
179192# - Builds ibc-relayer docker image if any relay pairs are enabled
180193# - Iterates through all enabled relay pairs and loads relayer resources for each
181194def load_ibc_resources(chart_prefix, ibc_config):
182195 check_and_load_agoric(chart_prefix, ibc_config)
183- check_and_load_axelar(chart_prefix, ibc_config)
184196
185197 if len(ibc_config["relay_pairs_enabled"]) > 0:
186198 docker_build(
187199 "ibc-relayer",
188200 context=os.path.join(".", "localnet", "ibc-relayer"), # needs any folder, doesn't matter
189201 dockerfile=ibc_relayer_dockerfile_path)
190202
203+ pairs = [key for (key, val) in ibc_config["relay_pairs_enabled"].items() if val == True]
204+ load_ibc_relayer_server_resources(chart_prefix, pairs)
205+
191206 for pair, enabled in ibc_config["relay_pairs_enabled"].items():
192207 if enabled:
193- load_ibc_relayer (chart_prefix, pair)
208+ load_ibc_relayer_setup_resources (chart_prefix, pair)
0 commit comments