Skip to content

Commit 3c405ed

Browse files
chore: Add tiers bootstrap
1 parent 0abeeaa commit 3c405ed

File tree

3 files changed

+93
-0
lines changed

3 files changed

+93
-0
lines changed

bootstrap/proxy/config.tf

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
locals {
2+
tiers = [
3+
{
4+
"name" = "0",
5+
"rates" = [
6+
{
7+
"interval" = "1m",
8+
"limit" = floor(60 / var.replicas)
9+
},
10+
{
11+
"interval" = "1d",
12+
"limit" = floor(60 * 60 * 24 / var.replicas)
13+
}
14+
]
15+
},
16+
{
17+
"name" = "1",
18+
"rates" = [
19+
{
20+
"interval" = "1m",
21+
"limit" = floor(300 / var.replicas)
22+
},
23+
{
24+
"interval" = "1d",
25+
"limit" = floor(300 * 60 * 24 / var.replicas)
26+
}
27+
]
28+
},
29+
{
30+
"name" = "2",
31+
"rates" = [
32+
{
33+
"interval" = "1m",
34+
"limit" = floor(2400 / var.replicas)
35+
},
36+
{
37+
"interval" = "1d",
38+
"limit" = floor(2400 * 60 * 24 / var.replicas)
39+
}
40+
]
41+
},
42+
{
43+
"name" = "3",
44+
"rates" = [
45+
{
46+
"interval" = "1m",
47+
"limit" = floor(4800 / var.replicas)
48+
},
49+
{
50+
"interval" = "1d",
51+
"limit" = floor(4800 * 60 * 24 / var.replicas)
52+
}
53+
]
54+
}
55+
]
56+
}
57+
58+
resource "kubernetes_config_map" "proxy" {
59+
metadata {
60+
namespace = var.namespace
61+
name = "proxy-config"
62+
}
63+
64+
data = {
65+
"tiers.toml" = "${templatefile("${path.module}/proxy-config.toml.tftpl", { tiers = local.tiers })}"
66+
}
67+
}

bootstrap/proxy/deployment.tf

+17
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ resource "kubernetes_deployment_v1" "ogmios_proxy" {
5656
value = local.proxy_addr
5757
}
5858

59+
env {
60+
name = "PROXY_TIERS_PATH"
61+
value = "/configs/tiers.toml"
62+
}
63+
5964
env {
6065
name = "PROMETHEUS_ADDR"
6166
value = local.prometheus_addr
@@ -80,6 +85,11 @@ resource "kubernetes_deployment_v1" "ogmios_proxy" {
8085
mount_path = "/certs"
8186
name = "certs"
8287
}
88+
89+
volume_mount {
90+
mount_path = "/configs"
91+
name = "configs"
92+
}
8393
}
8494

8595
volume {
@@ -89,6 +99,13 @@ resource "kubernetes_deployment_v1" "ogmios_proxy" {
8999
}
90100
}
91101

102+
volume {
103+
name = "configs"
104+
config_map {
105+
name = kubernetes_config_map.proxy.metadata.0.name
106+
}
107+
}
108+
92109
toleration {
93110
effect = "NoSchedule"
94111
key = "demeter.run/compute-profile"
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
%{ for tier in tiers ~}
2+
[[tiers]]
3+
name = "${tier.name}"
4+
%{ for rate in tier.rates ~}
5+
[[tiers.rates]]
6+
interval = "${rate.interval}"
7+
limit = ${rate.limit}
8+
%{ endfor ~}
9+
%{ endfor ~}

0 commit comments

Comments
 (0)