From 4c3191ccc0d79319e8a363b43bf0d5aa570dc315 Mon Sep 17 00:00:00 2001 From: Matt Halder Date: Mon, 29 Aug 2022 10:47:13 -0600 Subject: [PATCH] Config variable handling update (#451) * Breaking up the configuration settings into secrets and configmap. Using the secret for the operator id and key. Signed-off-by: Matt Halder * Deployment.yaml has been updated to use configmap and secrets from the last commit. Values file has settings for using either local or global hedera networks configurations. Signed-off-by: Matt Halder * Adding support for both local and hosted hedera networks in the configmap. Added test values into minikube values file. Signed-off-by: Matt Halder * Moving the eth_raw id and key from the configmap to the secrets location for both templates and values. Signed-off-by: Matt Halder * Adding padded return for linting Signed-off-by: Matt Halder * moving from rfc 1918 addresses to loopback address, this is how local development nodes are documented to run Signed-off-by: Matt Halder * moving from rfc 1918 addresses to loopback address, this is how local development nodes are documented to run Signed-off-by: Matt Halder Signed-off-by: Matt Halder --- helm-chart/environments/minikube.yaml | 16 +++++++++- helm-chart/templates/configmap.yaml | 21 ++++++++++++++ helm-chart/templates/deployment.yaml | 42 +++++++++++++++------------ helm-chart/templates/secret.yaml | 12 +++----- helm-chart/values.yaml | 17 +++++++---- 5 files changed, 76 insertions(+), 32 deletions(-) create mode 100644 helm-chart/templates/configmap.yaml diff --git a/helm-chart/environments/minikube.yaml b/helm-chart/environments/minikube.yaml index 9b48c75578..902500effd 100644 --- a/helm-chart/environments/minikube.yaml +++ b/helm-chart/environments/minikube.yaml @@ -1,3 +1,17 @@ imagePullSecrets: - name: ghcr-registry-auth - \ No newline at end of file + +config: + # This value should be in decimal, not hexadecimal format. + CHAIN_ID: "" + MIRROR_NODE_URL: "" + LOG_LEVEL: "" + local: + HEDERA_NETWORK: {"127.0.01:50211":"0.0.3"} + +secret: + OPERATOR_ID_MAIN: "" + OPERATOR_KEY_MAIN: "" + OPERATOR_ID_ETH_SENDRAWTRANSACTION: "" + OPERATOR_KEY_ETH_SENDRAWTRANSACTION: "" + diff --git a/helm-chart/templates/configmap.yaml b/helm-chart/templates/configmap.yaml new file mode 100644 index 0000000000..6a8b88e88d --- /dev/null +++ b/helm-chart/templates/configmap.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "json-rpc-relay.fullname" . }} + labels: + app: {{ template "json-rpc-relay.name" . }} + {{ include "json-rpc-relay.labels" . | nindent 4 }} +data: +{{- if .Values.config.local.HEDERA_NETWORK }} + HEDERA_NETWORK: {{ .Values.config.local.HEDERA_NETWORK | toJson }} +{{- else if .Values.config.hosted.HEDERA_NETWORK }} + HEDERA_NETWORK: {{ .Values.config.hosted.HEDERA_NETWORK }} +{{- else }} + HEDERA_NETWORK: {{ required "A valid HEDERA_NETWORK must be present in either .Values.config.local.HEDERA_NETWORK or .Values.config.hosted.HEDERA_NETWORK " (or .Values.config.local.HEDERA_NETWORK .Values.config.hosted.HEDERA_NETWORK) }} +{{- end }} + CHAIN_ID: {{ .valu}} + MIRROR_NODE_URL: {{ .Values.config.MIRROR_NODE_URL }} + LOCAL_NODE: {{ .Values.config.LOCAL_NODE }} + SERVER_PORT: {{ .Values.config.SERVER_PORT }} + CHAIN_ID: {{ .Values.config.CHAIN_ID }} + \ No newline at end of file diff --git a/helm-chart/templates/deployment.yaml b/helm-chart/templates/deployment.yaml index 231f91dfd4..a654b4b3c7 100644 --- a/helm-chart/templates/deployment.yaml +++ b/helm-chart/templates/deployment.yaml @@ -35,24 +35,18 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} env: - name: CHAIN_ID - value: {{ .Values.config.CHAIN_ID | squote }} - - name: HEDERA_NETWORK - valueFrom: - secretKeyRef: - name: {{ include "json-rpc-relay.fullname" . }} - key: HEDERA_NETWORK - optional: false - - name: OPERATOR_ID_MAIN + value: {{ .Values.config.CHAIN_ID | squote }} + - name: CHAIN_ID valueFrom: - secretKeyRef: + configMapKeyRef: name: {{ include "json-rpc-relay.fullname" . }} - key: OPERATOR_ID_MAIN - optional: false - - name: OPERATOR_KEY_MAIN + key: CHAIN_ID + optional: true + - name: HEDERA_NETWORK valueFrom: - secretKeyRef: + configMapKeyRef: name: {{ include "json-rpc-relay.fullname" . }} - key: OPERATOR_KEY_MAIN + key: HEDERA_NETWORK optional: false - name: OPERATOR_ID_ETH_SENDRAWTRANSACTION valueFrom: @@ -68,22 +62,34 @@ spec: optional: true - name: MIRROR_NODE_URL valueFrom: - secretKeyRef: + configMapKeyRef: name: {{ include "json-rpc-relay.fullname" . }} key: MIRROR_NODE_URL optional: false - name: LOCAL_NODE valueFrom: - secretKeyRef: + configMapKeyRef: name: {{ include "json-rpc-relay.fullname" . }} key: LOCAL_NODE optional: false - name: SERVER_PORT valueFrom: - secretKeyRef: + configMapKeyRef: name: {{ include "json-rpc-relay.fullname" . }} key: SERVER_PORT - optional: false + optional: false + - name: OPERATOR_ID_MAIN + valueFrom: + secretKeyRef: + name: {{ include "json-rpc-relay.fullname" . }} + key: OPERATOR_ID_MAIN + optional: false + - name: OPERATOR_KEY_MAIN + valueFrom: + secretKeyRef: + name: {{ include "json-rpc-relay.fullname" . }} + key: OPERATOR_KEY_MAIN + optional: false ports: - containerPort: {{ .Values.ports.containerPort }} name: {{ .Values.ports.name }} diff --git a/helm-chart/templates/secret.yaml b/helm-chart/templates/secret.yaml index e53db00fc1..94ba02c45e 100644 --- a/helm-chart/templates/secret.yaml +++ b/helm-chart/templates/secret.yaml @@ -4,13 +4,9 @@ metadata: labels: {{ include "json-rpc-relay.labels" . | nindent 4 }} name: {{ include "json-rpc-relay.fullname" . }} type: Opaque -data: - HEDERA_NETWORK: {{ .Values.config.HEDERA_NETWORK | b64enc }} - OPERATOR_ID_MAIN: {{ .Values.config.OPERATOR_ID_MAIN | b64enc }} - OPERATOR_KEY_MAIN: {{ .Values.config.OPERATOR_KEY_MAIN | b64enc }} +stringData: + OPERATOR_ID_MAIN: {{ .Values.config.OPERATOR_ID_MAIN }} + OPERATOR_KEY_MAIN: {{ .Values.config.OPERATOR_KEY_MAIN }} OPERATOR_ID_ETH_SENDRAWTRANSACTION: {{ .Values.config.OPERATOR_ID_ETH_SENDRAWTRANSACTION | default (printf "%q" "") }} - OPERATOR_KEY_ETH_SENDRAWTRANSACTION: {{ .Values.config.OPERATOR_KEY_ETH_SENDRAWTRANSACTION | default (printf "%q" "") }} - MIRROR_NODE_URL: {{ .Values.config.MIRROR_NODE_URL | b64enc }} - LOCAL_NODE: {{ .Values.config.LOCAL_NODE | quote | b64enc }} - SERVER_PORT: {{ .Values.config.SERVER_PORT | quote | b64enc }} + OPERATOR_KEY_ETH_SENDRAWTRANSACTION: {{ .Values.config.OPERATOR_KEY_ETH_SENDRAWTRANSACTION | default (printf "%q" "") }} \ No newline at end of file diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index fe8d1f8988..e38dac7347 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -84,13 +84,20 @@ ports: containerPort: 7546 config: - HEDERA_NETWORK: "" - OPERATOR_ID_MAIN: "" - OPERATOR_KEY_MAIN: "" - OPERATOR_ID_ETH_SENDRAWTRANSACTION: "" - OPERATOR_KEY_ETH_SENDRAWTRANSACTION: "" # This value should be in decimal, not hexadecimal format. CHAIN_ID: "" MIRROR_NODE_URL: "" LOG_LEVEL: "" + # Use config.local.HEDERA_NETWORK when running against a locally hosted hedera network + # local: + # config.local.HEDERA_NETWORK should configured as a json set - {"$IPv4_ADDR_1:$PORT_1":"$ACCOUNT_ID_1","$IPv4_ADDR_2:$PORT_2":"$ACCOUNT_ID_2"} + # HEDERA_NETWORK: {"127.0.01:50211":"0.0.3"} + # Use config.hosted.HEDERA_NETWORK when running against a hosted Hedera network. Valid options are `previewnet`, `testnet`, and `mainnet` + # hosted: + # HEDERA_NETWORK: "" +secret: + OPERATOR_ID_MAIN: "" + OPERATOR_KEY_MAIN: "" + OPERATOR_ID_ETH_SENDRAWTRANSACTION: "" + OPERATOR_KEY_ETH_SENDRAWTRANSACTION: "" \ No newline at end of file