diff --git a/charts/graphprotocol-node/Chart.yaml b/charts/graphprotocol-node/Chart.yaml index 1e1f438..112b8b5 100644 --- a/charts/graphprotocol-node/Chart.yaml +++ b/charts/graphprotocol-node/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: graphprotocol-node description: A Helm chart for Graph Protocol Nodes type: application -version: 0.1.17 +version: 0.1.18 keywords: - graphprotocol - ethereum diff --git a/charts/graphprotocol-node/templates/deployment.yaml b/charts/graphprotocol-node/templates/deployment.yaml index b243a8d..dbc79c5 100644 --- a/charts/graphprotocol-node/templates/deployment.yaml +++ b/charts/graphprotocol-node/templates/deployment.yaml @@ -60,7 +60,7 @@ spec: value: {{ .Values.blockIngestorNodeId | quote }} - name: GRAPH_LOG value: {{ .Values.logLevel | quote }} - {{- else }} + {{- else -}} - name: node_id valueFrom: fieldRef: diff --git a/charts/graphprotocol-node/values.schema.json b/charts/graphprotocol-node/values.schema.json new file mode 100644 index 0000000..86d9bc3 --- /dev/null +++ b/charts/graphprotocol-node/values.schema.json @@ -0,0 +1,335 @@ +{ + "$schema": "https://json-schema.org/draft-07/schema#", + "title": "Values", + "type": "object", + "required": [ + "image", + "imagePullSecrets", + "nameOverride", + "fullnameOverride", + "podSecurityContext", + "securityContext", + "service", + "resources", + "nodeSelector", + "tolerations", + "affinity", + "config", + "postgres", + "blockIngestorNodeId", + "role", + "monitoring", + "ingress", + "ingressWebsocket", + "logLevel", + "env" + ], + "properties": { + "image": { + "description": "Container Image", + "required": [ + "repository", + "tag", + "pullPolicy" + ], + "properties": { + "repository": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "pullPolicy": { + "type": "string", + "enum": [ + "Always", + "IfNotPresent", + "Never" + ] + } + }, + "type": "object" + }, + "imagePullSecrets": { + "type": "array" + }, + "nameOverride": { + "type": "string" + }, + "fullnameOverride": { + "type": "string" + }, + "podSecurityContext": { + "type": "object" + }, + "securityContext": { + "type": "object" + }, + "logLevel": { + "type": "string" + }, + "service": { + "type": "object", + "required": [ + "annotations", + "type", + "metricsPort", + "jsonRpcPort", + "graphqlPort", + "graphqlWsPort", + "indexPort" + ], + "properties": { + "annotations": { + "type": "object" + }, + "type": { + "type": "string", + "enum": [ + "ClusterIP", + "ExternalName", + "LoadBalancer", + "NodePort" + ] + }, + "metricsPort": { + "type": "integer" + }, + "jsonRpcPort": { + "type": "integer" + }, + "graphqlPort": { + "type": "integer" + }, + "graphqlWsPort": { + "type": "integer" + }, + "indexPort": { + "type": "integer" + } + } + }, + "resources": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + }, + "affinity": { + "type": "object" + }, + "config": { + "description": "Graph indexer agent config options", + "type": "object", + "required": [ + "ipfs", + "chains" + ], + "properties": { + "ipfs": { + "type": "string", + "description": "IPFS storage endpoint" + }, + "chains": { + "type": "object", + "description": "Definition of network providers for different blockchain networks" + } + } + }, + "postgres": { + "description": "Postgres DB configuration", + "type": "object", + "required": [ + "db", + "host", + "user", + "password" + ], + "properties": { + "db": { + "type": "string", + "description": "database name" + }, + "host": { + "type": "string", + "description": "host" + }, + "replicaHost": { + "type": "string", + "description": "replica host" + }, + "user": { + "type": "string", + "description": "user" + }, + "password": { + "type": "object", + "description": "password", + "properties": { + "fromSecret": { + "type": "object", + "required": [ + "key", + "name" + ], + "properties": { + "key": { + "type": "string", + "description": "key containing postgres password in secret" + }, + "name": { + "type": "string", + "description": "name of secret containing postgres password" + } + } + }, + "value": { + "type": "string", + "description": "postgres password" + } + } + } + } + }, + "blockIngestorNodeId": { + "type": "string", + "description": "graphprotocol ingest node id" + }, + "role": { + "type": "string", + "description": "role of the deployed graphprotocol node", + "enum": [ + "query-node", + "index-node" + ] + }, + "monitoring": { + "type": "object", + "required": [ + "enabled", + "labels" + ], + "enabled": { + "type": "boolean", + "description": "enabled ServiceMonitor object creation" + }, + "labels": { + "type": "string", + "description": "specify the service.monitor label value." + } + } + }, + "ingress": { + "type": "object", + "required": [ + "enabled", + "annotations", + "hosts", + "tls" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "annotations": { + "type": "object" + }, + "hosts": { + "type": "array" + }, + "tls": { + "type": "array" + } + }, + "env": { + "description": "Environment variables to add to the containers", + "type": "object", + "required": [ + "GRAPH_GRAPHQL_MAX_FIRST", + "ethereum" + ], + "properties": { + "GRAPH_GRAPHQL_MAX_FIRST": { + "type": "string", + "description": "GRAPH_GRAPHQL_MAX_FIRST" + }, + "ethereum": { + "type": "string", + "description": "Ethereum variable" + } + } + } + }, + "ingressRpc": { + "type": "object", + "required": [ + "enabled", + "annotations", + "hosts", + "tls" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "annotations": { + "type": "object" + }, + "hosts": { + "type": "array" + }, + "tls": { + "type": "array" + } + } + }, + "ingressIndex": { + "type": "object", + "required": [ + "enabled", + "annotations", + "hosts", + "tls" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "annotations": { + "type": "object" + }, + "hosts": { + "type": "array" + }, + "tls": { + "type": "array" + } + } + }, + "ingressWebsocket": { + "type": "object", + "required": [ + "enabled", + "annotations", + "hosts", + "tls" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "annotations": { + "type": "object" + }, + "hosts": { + "type": "array" + }, + "tls": { + "type": "array" + } + } + } +} \ No newline at end of file