diff --git a/charts/cardano-node/Chart.yaml b/charts/cardano-node/Chart.yaml index 7e6da89..200706f 100644 --- a/charts/cardano-node/Chart.yaml +++ b/charts/cardano-node/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: cardano-node description: Creates a Cardano node deployment with SOCAT sidecar -version: 0.3.0 +version: 0.4.0 appVersion: 10.3.1 maintainers: - name: aurora diff --git a/charts/cardano-node/templates/topology-configmap.yaml b/charts/cardano-node/templates/topology-configmap.yaml index 45ecff6..4a46d89 100644 --- a/charts/cardano-node/templates/topology-configmap.yaml +++ b/charts/cardano-node/templates/topology-configmap.yaml @@ -8,6 +8,53 @@ metadata: labels: {{ include "cardano-node.labels" . | nindent 4 }} data: - topology.json: |- -{{ toJson .Values.topology.config | indent 4 }} + topology.json: | + { + "bootstrapPeers": [{{- range $i, $peer := .Values.topology.bootstrapPeers }} + {{- if $i }},{{ end }} + { "address": "{{ $peer.address }}", "port": {{ $peer.port }} } + {{- end }}], + "localRoots": [ + {{- range $i, $local := .Values.topology.localRoots }} + {{- if $i }},{{ end }} + { + "accessPoints": [ + {{- range $j, $peer := $local.accessPoints }} + {{- if $j }},{{ end }} + { "address": "{{ $peer.address }}", "port": {{ $peer.port }}, "name": "{{ $peer.name }}" } + {{- end }} + ], + "advertise": {{ $local.advertise | toJson }}, + "trustable": {{ $local.trustable | default false | toJson }}, + "valency": {{ $local.valency }} + } + {{- end }} + ] + {{- with .Values.topology.peerSnapshotFile }}, + "peerSnapshotFile": "{{ . }}" + {{- end }}, + "publicRoots": [{{- $hasPublicRoots := false }} + {{- range $public := .Values.topology.publicRoots }} + {{- if and (hasKey $public "accessPoints") (gt (len $public.accessPoints) 0) }} + {{- $hasPublicRoots = true }} + {{- end }} + {{- end }} + {{- if $hasPublicRoots }} + {{- range $i, $public := .Values.topology.publicRoots }} + {{- if and (hasKey $public "accessPoints") (gt (len $public.accessPoints) 0) }} + {{- if $i }},{{ end }} + { + "accessPoints": [ + {{- range $j, $peer := $public.accessPoints }} + {{- if $j }},{{ end }} + { "address": "{{ $peer.address }}", "port": {{ $peer.port }}, "name": "{{ $peer.name }}" } + {{- end }} + ], + "advertise": {{ $public.advertise | default false | toJson }} + } + {{- end }} + {{- end }} + {{- end }}], + "useLedgerAfterSlot": {{ .Values.topology.useLedgerAfterSlot | int }} + } {{- end }} \ No newline at end of file diff --git a/charts/cardano-node/values.yaml b/charts/cardano-node/values.yaml index de8f05e..e73dccb 100644 --- a/charts/cardano-node/values.yaml +++ b/charts/cardano-node/values.yaml @@ -36,24 +36,34 @@ blockProducer: # description: VRF Signing Key # cborHex: 5840823318989cf48897044629a22a27c8bf975215fe28161fc90cc42e9446a331be96a37ee0c4060a46ee0bf99fcba3460be133e7e343dd7d4144f67f2a6402e886 +# Custom topology. When disabled the image will load the default topology for chosen cardano_network topology: enabled: false -# config: -# bootstrapPeers: -# - address: "preview-node.play.dev.cardano.org" -# port: 3001 -# localRoots: -# - accessPoints: -# - address: "preview-node.play.dev.cardano.org" +# bootstrapPeers: +# - address: preview-node.play.dev.cardano.org +# port: 3001 +# localRoots: +# - accessPoints: +# - name: Example +# address: preview-node.play.dev.cardano.org # port: 3001 -# advertise: false -# trustable: false -# valency: 1 -# peerSnapshotFile: "peer-snapshot.json" -# publicRoots: -# - accessPoints: [] -# advertise: false -# useLedgerAfterSlot: 83116868 +# advertise: false +# trustable: true +# valency: 1 +# - accessPoints: +# - name: Example +# address: preview-node.play.dev.cardano.org +# port: 3001 +# - name: Example +# address: preview-node.play.dev.cardano.org +# port: 3001 +# advertise: true +# trustable: false +# valency: 2 +# publicRoots: +# - advertise: true +# # useLedgerAfterSlot: -1 to disable ledger peer discovery +# useLedgerAfterSlot: 83116868 storage: # Suitable for preview and preprod, 250+ for mainnet