Skip to content

Commit af7a2ab

Browse files
added frontend metadata (#116)
* added helios metadata * simplified ethereum ingress * added ethereum metadata * ensure correct helm chart exists * added metadata and fixed ingress/service naming * some updates to aztec
1 parent c07ea71 commit af7a2ab

File tree

7 files changed

+142
-35
lines changed

7 files changed

+142
-35
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v2
2+
name: aztec-local
3+
description: Local Aztec network resources
4+
type: application
5+
version: 0.1.0

internal/embed/networks/aztec/helmfile.yaml.gotmpl

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
repositories:
22
- name: obol
33
url: https://obolnetwork.github.io/helm-charts/
4+
- name: bedag
5+
url: https://bedag.github.io/helm-charts/
46

57
releases:
68
- name: aztec-sequencer
@@ -9,13 +11,12 @@ releases:
911
chart: obol/aztec-node
1012
version: 0.2.0
1113
values:
12-
- fullnameOverride: 'aztec-sequencer-{{ .Values.network }}'
13-
role: sequencer
14+
- role: sequencer
1415
sequencer:
1516
attesterPrivateKey: '{{ .Values.attesterPrivateKey }}'
1617
feeRecipient: "0x0000000000000000000000000000000000000000000000000000000000000000"
1718
network: '{{ .Values.network }}'
18-
networkName: '{{ .Values.network }}'
19+
networkName: '{{ .Values.id }}'
1920
image:
2021
repository: aztecprotocol/aztec
2122
tag: 2.1.5
@@ -65,3 +66,37 @@ releases:
6566
admin:
6667
enabled: true
6768
port: 8081
69+
70+
# Ingress for Aztec node
71+
- name: aztec-ingress
72+
namespace: aztec-{{ .Values.id }}
73+
chart: .
74+
values:
75+
- id: {{ .Values.id }}
76+
77+
# Metadata ConfigMap for frontend discovery
78+
- name: aztec-metadata
79+
namespace: aztec-{{ .Values.id }}
80+
chart: bedag/raw
81+
values:
82+
- resources:
83+
- apiVersion: v1
84+
kind: ConfigMap
85+
metadata:
86+
name: aztec-{{ .Values.id }}-metadata
87+
namespace: aztec-{{ .Values.id }}
88+
labels:
89+
app.kubernetes.io/part-of: obol.stack
90+
obol.stack/id: {{ .Values.id }}
91+
obol.stack/app: aztec
92+
data:
93+
metadata.json: |
94+
{
95+
"network": "{{ .Values.network }}",
96+
"endpoints": {
97+
"rpc": {
98+
"external": "http://obol.stack/aztec-{{ .Values.id }}",
99+
"internal": "http://l2-sequencer-node-{{ .Values.id }}-node.aztec-{{ .Values.id }}.svc.cluster.local:8080"
100+
}
101+
}
102+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{{- if eq .Release.Name "aztec-ingress" }}
2+
apiVersion: networking.k8s.io/v1
3+
kind: Ingress
4+
metadata:
5+
name: aztec
6+
namespace: {{ .Release.Namespace }}
7+
annotations:
8+
nginx.ingress.kubernetes.io/rewrite-target: /$2
9+
nginx.ingress.kubernetes.io/use-regex: "true"
10+
spec:
11+
ingressClassName: nginx
12+
rules:
13+
- host: obol.stack
14+
http:
15+
paths:
16+
- path: /{{ .Release.Namespace }}(/|$)(.*)
17+
pathType: ImplementationSpecific
18+
backend:
19+
service:
20+
name: l2-sequencer-node-{{ .Values.id }}-node
21+
port:
22+
number: 8080
23+
{{- end }}

internal/embed/networks/aztec/values.yaml.gotmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ network: {{.Network}}
99
# @description Attester private key (hex string)
1010
attesterPrivateKey: {{.AttesterPrivateKey}}
1111

12-
# @default
12+
# @default ""
1313
# @description L1 Execution RPC URL (defaults to ERPC: http://erpc.erpc.svc.cluster.local:4000/rpc/{network})
1414
l1ExecutionUrl: {{.L1ExecutionUrl}}
1515

internal/embed/networks/ethereum/helmfile.yaml.gotmpl

Lines changed: 41 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
repositories:
22
- name: ethereum-helm-charts
33
url: https://ethpandaops.github.io/ethereum-helm-charts
4+
- name: bedag
5+
url: https://bedag.github.io/helm-charts/
46

57
releases:
68
# Create PVCs first - before the Ethereum node
@@ -39,19 +41,6 @@ releases:
3941
# Execution client
4042
- {{ .Values.executionClient }}:
4143
enabled: true
42-
nameOverride: execution-{{ .Values.executionClient }}-{{ .Values.network }}
43-
labels:
44-
app.kubernetes.io/part-of: obol.stack
45-
obol.stack/chain: ethereum
46-
obol.stack/network: {{ .Values.network }}
47-
obol.stack/type: execution
48-
obol.stack/client: {{ .Values.executionClient }}
49-
podLabels:
50-
app.kubernetes.io/part-of: obol.stack
51-
obol.stack/chain: ethereum
52-
obol.stack/network: {{ .Values.network }}
53-
obol.stack/type: execution
54-
obol.stack/client: {{ .Values.executionClient }}
5544
persistence:
5645
enabled: true
5746
size: 500Gi
@@ -61,19 +50,6 @@ releases:
6150
# Consensus client
6251
- {{ .Values.consensusClient }}:
6352
enabled: true
64-
nameOverride: consensus-{{ .Values.consensusClient }}-{{ .Values.network }}
65-
labels:
66-
app.kubernetes.io/part-of: obol.stack
67-
obol.stack/chain: ethereum
68-
obol.stack/network: {{ .Values.network }}
69-
obol.stack/type: consensus
70-
obol.stack/client: {{ .Values.consensusClient }}
71-
podLabels:
72-
app.kubernetes.io/part-of: obol.stack
73-
obol.stack/chain: ethereum
74-
obol.stack/network: {{ .Values.network }}
75-
obol.stack/type: consensus
76-
obol.stack/client: {{ .Values.consensusClient }}
7753
extraArgs:
7854
- --execution-endpoint=http://ethereum-execution-{{ .Values.executionClient }}-{{ .Values.network }}:8551
7955
- --network={{ .Values.network }}
@@ -91,3 +67,42 @@ releases:
9167
- executionClient: {{ .Values.executionClient }}
9268
consensusClient: {{ .Values.consensusClient }}
9369
network: {{ .Values.network }}
70+
71+
# Metadata ConfigMap for frontend discovery
72+
- name: ethereum-metadata
73+
namespace: ethereum-{{ .Values.id }}
74+
chart: bedag/raw
75+
values:
76+
- resources:
77+
- apiVersion: v1
78+
kind: ConfigMap
79+
metadata:
80+
name: ethereum-{{ .Values.id }}-metadata
81+
namespace: ethereum-{{ .Values.id }}
82+
labels:
83+
app.kubernetes.io/part-of: obol.stack
84+
obol.stack/id: {{ .Values.id }}
85+
obol.stack/app: ethereum
86+
data:
87+
metadata.json: |
88+
{
89+
"network": "{{ .Values.network }}",
90+
"execution": {
91+
"client": "{{ .Values.executionClient }}",
92+
"endpoints": {
93+
"rpc": {
94+
"external": "http://obol.stack/ethereum-{{ .Values.id }}/execution",
95+
"internal": "http://ethereum-execution.ethereum-{{ .Values.id }}.svc.cluster.local:8545"
96+
}
97+
}
98+
},
99+
"consensus": {
100+
"client": "{{ .Values.consensusClient }}",
101+
"endpoints": {
102+
"rpc": {
103+
"external": "http://obol.stack/ethereum-{{ .Values.id }}/beacon",
104+
"internal": "http://ethereum-beacon.ethereum-{{ .Values.id }}.svc.cluster.local:5052"
105+
}
106+
}
107+
}
108+
}

internal/embed/networks/ethereum/templates/ingress.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ spec:
1313
- host: obol.stack
1414
http:
1515
paths:
16-
- path: /ethereum/execution(/|$)(.*)
16+
- path: /{{ .Release.Namespace }}/execution(/|$)(.*)
1717
pathType: ImplementationSpecific
1818
backend:
1919
service:
20-
name: ethereum-execution-{{ .Values.executionClient }}-{{ .Values.network }}
20+
name: ethereum-execution
2121
port:
2222
number: 8545
23-
- path: /ethereum/beacon(/|$)(.*)
23+
- path: /{{ .Release.Namespace }}/beacon(/|$)(.*)
2424
pathType: ImplementationSpecific
2525
backend:
2626
service:
27-
name: ethereum-consensus-{{ .Values.consensusClient }}-{{ .Values.network }}
27+
name: ethereum-beacon
2828
port:
2929
number: 5052
3030
{{- end }}

internal/embed/networks/helios/helmfile.yaml.gotmpl

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
repositories:
55
- name: obol
66
url: https://obolnetwork.github.io/helm-charts/
7+
- name: bedag
8+
url: https://bedag.github.io/helm-charts/
79

810
releases:
911
- name: helios
@@ -35,5 +37,32 @@ releases:
3537
hosts:
3638
- host: obol.stack
3739
paths:
38-
- path: /helios(/|$)(.*)
40+
- path: /helios-{{ .Values.id }}(/|$)(.*)
3941
pathType: ImplementationSpecific
42+
43+
# Metadata ConfigMap for frontend discovery
44+
- name: helios-metadata
45+
namespace: helios-{{ .Values.id }}
46+
chart: bedag/raw
47+
values:
48+
- resources:
49+
- apiVersion: v1
50+
kind: ConfigMap
51+
metadata:
52+
name: helios-{{ .Values.id }}-metadata
53+
namespace: helios-{{ .Values.id }}
54+
labels:
55+
app.kubernetes.io/part-of: obol.stack
56+
obol.stack/id: {{ .Values.id }}
57+
obol.stack/app: helios
58+
data:
59+
metadata.json: |
60+
{
61+
"network": "{{ .Values.network }}",
62+
"endpoints": {
63+
"rpc": {
64+
"external": "http://obol.stack/helios-{{ .Values.id }}",
65+
"internal": "http://helios-{{ .Values.network }}.helios-{{ .Values.id }}.svc.cluster.local:8545"
66+
}
67+
}
68+
}

0 commit comments

Comments
 (0)