Skip to content

Commit 4c62e5c

Browse files
authored
feat(api): Add new taint toleration (#439)
1 parent dadf458 commit 4c62e5c

9 files changed

+51
-2
lines changed

etl-api/src/k8s/http.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,8 @@ fn create_node_selector_json(environment: &Environment) -> serde_json::Value {
667667
match environment {
668668
Environment::Dev => json!({}),
669669
Environment::Staging | Environment::Prod => json!({
670-
"nodeType": "workloads"
670+
"nodeType": "workloads",
671+
"etl.supabase.com/node-role": "workloads"
671672
}),
672673
}
673674
}
@@ -883,13 +884,19 @@ fn create_replicator_stateful_set_json(
883884
},
884885
"spec": {
885886
"volumes": volumes,
886-
// Allow scheduling onto nodes tainted with `nodeType=workloads`.
887+
// Allow scheduling onto nodes tainted with the right node role.
887888
"tolerations": [
888889
{
889890
"key": "nodeType",
890891
"operator": "Equal",
891892
"value": "workloads",
892893
"effect": "NoSchedule"
894+
},
895+
{
896+
"key": "etl.supabase.com/node-role",
897+
"operator": "Equal",
898+
"value": "workloads",
899+
"effect": "NoSchedule"
893900
}
894901
],
895902
"nodeSelector": node_selector,

etl-api/src/k8s/snapshots/etl_api__k8s__http__tests__create_bq_replicator_stateful_set_json-2.snap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ expression: stateful_set_json
151151
}
152152
],
153153
"nodeSelector": {
154+
"etl.supabase.com/node-role": "workloads",
154155
"nodeType": "workloads"
155156
},
156157
"terminationGracePeriodSeconds": 300,
@@ -160,6 +161,12 @@ expression: stateful_set_json
160161
"key": "nodeType",
161162
"operator": "Equal",
162163
"value": "workloads"
164+
},
165+
{
166+
"effect": "NoSchedule",
167+
"key": "etl.supabase.com/node-role",
168+
"operator": "Equal",
169+
"value": "workloads"
163170
}
164171
],
165172
"volumes": [

etl-api/src/k8s/snapshots/etl_api__k8s__http__tests__create_bq_replicator_stateful_set_json-3.snap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ expression: stateful_set_json
151151
}
152152
],
153153
"nodeSelector": {
154+
"etl.supabase.com/node-role": "workloads",
154155
"nodeType": "workloads"
155156
},
156157
"terminationGracePeriodSeconds": 300,
@@ -160,6 +161,12 @@ expression: stateful_set_json
160161
"key": "nodeType",
161162
"operator": "Equal",
162163
"value": "workloads"
164+
},
165+
{
166+
"effect": "NoSchedule",
167+
"key": "etl.supabase.com/node-role",
168+
"operator": "Equal",
169+
"value": "workloads"
163170
}
164171
],
165172
"volumes": [

etl-api/src/k8s/snapshots/etl_api__k8s__http__tests__create_bq_replicator_stateful_set_json.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@ expression: stateful_set_json
8787
"key": "nodeType",
8888
"operator": "Equal",
8989
"value": "workloads"
90+
},
91+
{
92+
"effect": "NoSchedule",
93+
"key": "etl.supabase.com/node-role",
94+
"operator": "Equal",
95+
"value": "workloads"
9096
}
9197
],
9298
"volumes": [

etl-api/src/k8s/snapshots/etl_api__k8s__http__tests__create_iceberg_replicator_stateful_set_json-2.snap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ expression: stateful_set_json
169169
}
170170
],
171171
"nodeSelector": {
172+
"etl.supabase.com/node-role": "workloads",
172173
"nodeType": "workloads"
173174
},
174175
"terminationGracePeriodSeconds": 300,
@@ -178,6 +179,12 @@ expression: stateful_set_json
178179
"key": "nodeType",
179180
"operator": "Equal",
180181
"value": "workloads"
182+
},
183+
{
184+
"effect": "NoSchedule",
185+
"key": "etl.supabase.com/node-role",
186+
"operator": "Equal",
187+
"value": "workloads"
181188
}
182189
],
183190
"volumes": [

etl-api/src/k8s/snapshots/etl_api__k8s__http__tests__create_iceberg_replicator_stateful_set_json-3.snap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ expression: stateful_set_json
169169
}
170170
],
171171
"nodeSelector": {
172+
"etl.supabase.com/node-role": "workloads",
172173
"nodeType": "workloads"
173174
},
174175
"terminationGracePeriodSeconds": 300,
@@ -178,6 +179,12 @@ expression: stateful_set_json
178179
"key": "nodeType",
179180
"operator": "Equal",
180181
"value": "workloads"
182+
},
183+
{
184+
"effect": "NoSchedule",
185+
"key": "etl.supabase.com/node-role",
186+
"operator": "Equal",
187+
"value": "workloads"
181188
}
182189
],
183190
"volumes": [

etl-api/src/k8s/snapshots/etl_api__k8s__http__tests__create_iceberg_replicator_stateful_set_json.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,12 @@ expression: stateful_set_json
105105
"key": "nodeType",
106106
"operator": "Equal",
107107
"value": "workloads"
108+
},
109+
{
110+
"effect": "NoSchedule",
111+
"key": "etl.supabase.com/node-role",
112+
"operator": "Equal",
113+
"value": "workloads"
108114
}
109115
],
110116
"volumes": [

etl-api/src/k8s/snapshots/etl_api__k8s__http__tests__create_node_selector-2.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ source: etl-api/src/k8s/http.rs
33
expression: node_selector
44
---
55
{
6+
"etl.supabase.com/node-role": "workloads",
67
"nodeType": "workloads"
78
}

etl-api/src/k8s/snapshots/etl_api__k8s__http__tests__create_node_selector-3.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ source: etl-api/src/k8s/http.rs
33
expression: node_selector
44
---
55
{
6+
"etl.supabase.com/node-role": "workloads",
67
"nodeType": "workloads"
78
}

0 commit comments

Comments
 (0)