Skip to content

Commit

Permalink
feat: added chart support for topologyAwareRouting (#158)
Browse files Browse the repository at this point in the history
* feat: added chart support for topologyAwareRouting

* feat: update chart version
  • Loading branch information
calinah committed Sep 21, 2023
1 parent 5b522b7 commit 5dcd96a
Show file tree
Hide file tree
Showing 47 changed files with 156 additions and 25 deletions.
2 changes: 1 addition & 1 deletion charts/arbitrum-classic/Chart.yaml
Expand Up @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.2
version: 0.1.3

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
3 changes: 2 additions & 1 deletion charts/arbitrum-classic/README.md
Expand Up @@ -2,7 +2,7 @@

Deploy and scale [Arbitrum-Classic](https://github.com/OffchainLabs/arbitrum) inside Kubernetes with ease

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.1.2](https://img.shields.io/badge/Version-0.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.4.5-e97c1a4](https://img.shields.io/badge/AppVersion-v1.4.5--e97c1a4-informational?style=flat-square)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.1.3](https://img.shields.io/badge/Version-0.1.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.4.5-e97c1a4](https://img.shields.io/badge/AppVersion-v1.4.5--e97c1a4-informational?style=flat-square)

## Features

Expand Down Expand Up @@ -137,6 +137,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`.
| arbitrum.service.ports.http-metrics | Service Port to expose Prometheus metrics on | int | `6070` |
| arbitrum.service.ports.http-rpc | Service Port to expose engineAPI interface on | int | `9656` |
| arbitrum.service.ports.ws | | int | `8548` |
| arbitrum.service.topologyAwareRouting.enabled | | bool | `false` |
| arbitrum.service.type | | string | `"ClusterIP"` |
| arbitrum.terminationGracePeriodSeconds | Amount of time to wait before force-killing the arbitrum process | int | `60` |
| arbitrum.tolerations | | list | `[]` |
Expand Down
8 changes: 8 additions & 0 deletions charts/arbitrum-classic/templates/arbitrum/service.yaml
Expand Up @@ -24,6 +24,14 @@ spec:
apiVersion: v1
kind: Service
metadata:
{{- if $values.service.topologyAwareRouting.enabled }}
annotations:
{{- if semverCompare ">= 1.27-0" .Capabilities.KubeVersion.GitVersion }}
service.kubernetes.io/topology-mode: "auto"
{{- else }}
service.kubernetes.io/topology-aware-hints: "auto"
{{- end }}
{{- end }}
name: {{ include "arbitrum-classic.fullname" . }}
labels:
{{- include "arbitrum-classic.labels" . | nindent 4 }}
Expand Down
2 changes: 2 additions & 0 deletions charts/arbitrum-classic/values.yaml
Expand Up @@ -106,6 +106,8 @@ arbitrum:
fsGroup: 101337

service:
topologyAwareRouting:
enabled: false
type: ClusterIP
ports:
# Valid keys are names of ports that are exposed by the Pod that (see templates/nitro/statefulset.yaml)
Expand Down
2 changes: 1 addition & 1 deletion charts/arbitrum-nitro/Chart.yaml
Expand Up @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.2
version: 0.1.3

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
3 changes: 2 additions & 1 deletion charts/arbitrum-nitro/README.md
Expand Up @@ -2,7 +2,7 @@

Deploy and scale [Arbitrum-Nitro](https://github.com/OffchainLabs/nitro/) inside Kubernetes with ease

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.1.2](https://img.shields.io/badge/Version-0.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.0.10-73224e3](https://img.shields.io/badge/AppVersion-v2.0.10--73224e3-informational?style=flat-square)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.1.3](https://img.shields.io/badge/Version-0.1.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.0.10-73224e3](https://img.shields.io/badge/AppVersion-v2.0.10--73224e3-informational?style=flat-square)

## Features

Expand Down Expand Up @@ -108,6 +108,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`.
| nitro.service.ports.http-metrics | Service Port to expose Prometheus metrics on | int | `6070` |
| nitro.service.ports.http-rpc | Service Port to expose JSON-RPC interface on | int | `8547` |
| nitro.service.ports.ws-rpc | Service Port to expose engineAPI interface on | int | `8548` |
| nitro.service.topologyAwareRouting.enabled | | bool | `false` |
| nitro.service.type | | string | `"ClusterIP"` |
| nitro.terminationGracePeriodSeconds | Amount of time to wait before force-killing the arbitrum process | int | `60` |
| nitro.tolerations | | list | `[]` |
Expand Down
10 changes: 9 additions & 1 deletion charts/arbitrum-nitro/templates/arbitrum-nitro/service.yaml
Expand Up @@ -24,6 +24,14 @@ spec:
apiVersion: v1
kind: Service
metadata:
{{- if $values.service.topologyAwareRouting.enabled }}
annotations:
{{- if semverCompare ">= 1.27-0" .Capabilities.KubeVersion.GitVersion }}
service.kubernetes.io/topology-mode: "auto"
{{- else }}
service.kubernetes.io/topology-aware-hints: "auto"
{{- end }}
{{- end }}
name: {{ include "arbitrum-nitro.fullname" . }}
labels:
{{- include "arbitrum-nitro.labels" . | nindent 4 }}
Expand Down Expand Up @@ -70,4 +78,4 @@ spec:
selector:
{{- include "arbitrum-nitro.selectorLabels" . | nindent 4 }}
statefulset.kubernetes.io/pod-name: "{{ include "arbitrum-nitro.fullname" $ }}-0"
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/arbitrum-nitro/values.yaml
Expand Up @@ -101,6 +101,8 @@ nitro:
fsGroup: 101337

service:
topologyAwareRouting:
enabled: false
type: ClusterIP
ports:
# Valid keys are names of ports that are exposed by the Pod that (see templates/nitro/statefulset.yaml)
Expand Down
4 changes: 2 additions & 2 deletions charts/avalanche/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
name: Avalanche
name: avalanche
description: Deploy and scale [avalanche](https://github.com/avalancheEth/avalanche) inside Kubernetes with ease

# A chart can be either an 'application' or a 'library' chart.
Expand All @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.1
version: 0.1.2

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
5 changes: 3 additions & 2 deletions charts/avalanche/README.md
Expand Up @@ -2,7 +2,7 @@

Deploy and scale [avalanche](https://github.com/avalancheEth/avalanche) inside Kubernetes with ease

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.1.1](https://img.shields.io/badge/Version-0.1.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.10.10](https://img.shields.io/badge/AppVersion-v1.10.10-informational?style=flat-square)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.1.2](https://img.shields.io/badge/Version-0.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.10.10](https://img.shields.io/badge/AppVersion-v1.10.10-informational?style=flat-square)

## Chart Features

Expand All @@ -19,7 +19,7 @@ To install the chart with the release name `my-release`:

```console
$ helm repo add graphops http://graphops.github.io/launchpad-charts
$ helm install my-release graphops/Avalanche
$ helm install my-release graphops/avalanche
```

## Enabling inbound P2P dials
Expand Down Expand Up @@ -68,6 +68,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`.
| avalanche.service.ports.http-metrics | Service Port to expose Prometheus metrics on | int | `9651` |
| avalanche.service.ports.http-p2p | | int | `9655` |
| avalanche.service.ports.http-port | | int | `9656` |
| avalanche.service.topologyAwareRouting.enabled | | bool | `false` |
| avalanche.service.type | | string | `"ClusterIP"` |
| avalanche.terminationGracePeriodSeconds | Amount of time to wait before force-killing the container | int | `60` |
| avalanche.tolerations | | list | `[]` |
Expand Down
8 changes: 8 additions & 0 deletions charts/avalanche/templates/avalanche/service.yaml
Expand Up @@ -24,6 +24,14 @@ spec:
apiVersion: v1
kind: Service
metadata:
{{- if $values.service.topologyAwareRouting.enabled }}
annotations:
{{- if semverCompare ">= 1.27-0" .Capabilities.KubeVersion.GitVersion }}
service.kubernetes.io/topology-mode: "auto"
{{- else }}
service.kubernetes.io/topology-aware-hints: "auto"
{{- end }}
{{- end }}
name: {{ include "avalanche.fullname" . }}-{{ $componentName }}
labels:
{{- include "avalanche.labels" . | nindent 4 }}
Expand Down
2 changes: 2 additions & 0 deletions charts/avalanche/values.yaml
Expand Up @@ -99,6 +99,8 @@ avalanche:
fsGroup: 0

service:
topologyAwareRouting:
enabled: false
type: ClusterIP
ports:
# Valid keys are names of ports that are exposed by the Pod that (see templates/avalanche/statefulset.yaml)
Expand Down
1 change: 1 addition & 0 deletions charts/celo/README.md
Expand Up @@ -78,6 +78,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`.
| celo.service.ports.grpc-celo | Service Port to expose gRPC interface on | int | `8545` |
| celo.service.ports.http-jsonrpc | Service Port to expose JSON-RPC interface on | int | `8545` |
| celo.service.ports.http-metrics | Service Port to expose Prometheus metrics on | int | `8545` |
| celo.service.topologyAwareRouting.enabled | | bool | `false` |
| celo.service.type | | string | `"ClusterIP"` |
| celo.terminationGracePeriodSeconds | Amount of time to wait before force-killing the container | int | `60` |
| celo.tolerations | | list | `[]` |
Expand Down
8 changes: 8 additions & 0 deletions charts/celo/templates/celo/service.yaml
Expand Up @@ -4,6 +4,14 @@
apiVersion: v1
kind: Service
metadata:
{{- if $values.service.topologyAwareRouting.enabled }}
annotations:
{{- if semverCompare ">= 1.27-0" .Capabilities.KubeVersion.GitVersion }}
service.kubernetes.io/topology-mode: "auto"
{{- else }}
service.kubernetes.io/topology-aware-hints: "auto"
{{- end }}
{{- end }}
name: {{ include "celo.fullname" . }}-{{ $componentName }}-headless
labels:
{{- include "celo.labels" . | nindent 4 }}
Expand Down
2 changes: 2 additions & 0 deletions charts/celo/values.yaml
Expand Up @@ -103,6 +103,8 @@ celo:
fsGroup: 101337

service:
topologyAwareRouting:
enabled: false
type: ClusterIP
ports:
# Valid keys are names of ports that are exposed by the Pod that (see templates/nethermind/statefulset.yaml)
Expand Down
2 changes: 1 addition & 1 deletion charts/erigon/Chart.yaml
Expand Up @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.8.2
version: 0.8.3

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
3 changes: 2 additions & 1 deletion charts/erigon/README.md
Expand Up @@ -2,7 +2,7 @@

Deploy and scale [Erigon](https://github.com/ledgerwatch/erigon) inside Kubernetes with ease

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.8.2](https://img.shields.io/badge/Version-0.8.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.49.2](https://img.shields.io/badge/AppVersion-v2.49.2-informational?style=flat-square)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.8.3](https://img.shields.io/badge/Version-0.8.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.49.2](https://img.shields.io/badge/AppVersion-v2.49.2-informational?style=flat-square)

## Features

Expand Down Expand Up @@ -182,6 +182,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`.
| statefulNode.service.ports.http-engineapi | Service Port to expose engineAPI interface on | int | `8551` |
| statefulNode.service.ports.http-jsonrpc | Service Port to expose JSON-RPC interface on | int | `8545` |
| statefulNode.service.ports.http-metrics | Service Port to expose Prometheus metrics on | int | `6060` |
| statefulNode.service.topologyAwareRouting.enabled | | bool | `false` |
| statefulNode.service.type | | string | `"ClusterIP"` |
| statefulNode.terminationGracePeriodSeconds | Amount of time to wait before force-killing the Erigon process | int | `60` |
| statefulNode.tolerations | | list | `[]` |
Expand Down
8 changes: 8 additions & 0 deletions charts/erigon/templates/stateful-node/service.yaml
Expand Up @@ -24,6 +24,14 @@ spec:
apiVersion: v1
kind: Service
metadata:
{{- if $values.service.topologyAwareRouting.enabled }}
annotations:
{{- if semverCompare ">= 1.27-0" .Capabilities.KubeVersion.GitVersion }}
service.kubernetes.io/topology-mode: "auto"
{{- else }}
service.kubernetes.io/topology-aware-hints: "auto"
{{- end }}
{{- end }}
name: {{ include "erigon.fullname" . }}-{{ $componentName }}
labels:
{{- include "erigon.labels" . | nindent 4 }}
Expand Down
2 changes: 2 additions & 0 deletions charts/erigon/values.yaml
Expand Up @@ -118,6 +118,8 @@ statefulNode:
fsGroup: 101337

service:
topologyAwareRouting:
enabled: false
type: ClusterIP
ports:
# Valid keys are names of ports that are exposed by the Pod that (see templates/stateful-node/statefulset.yaml)
Expand Down
2 changes: 1 addition & 1 deletion charts/graph-node/Chart.yaml
Expand Up @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.1
version: 0.2.2

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
4 changes: 2 additions & 2 deletions charts/graph-node/README.md
Expand Up @@ -2,7 +2,7 @@

Deploy and scale [Graph Node](https://github.com/graphprotocol/graph-node) inside Kubernetes with ease

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.2.1](https://img.shields.io/badge/Version-0.2.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.32.0](https://img.shields.io/badge/AppVersion-v0.32.0-informational?style=flat-square)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.2.2](https://img.shields.io/badge/Version-0.2.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.32.0](https://img.shields.io/badge/AppVersion-v0.32.0-informational?style=flat-square)

## Introduction

Expand Down Expand Up @@ -241,7 +241,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`.
| grafana.dashboards | Enable creation of Grafana dashboards. [Grafana chart](https://github.com/grafana/helm-charts/tree/main/charts/grafana#grafana-helm-chart) must be configured to search this namespace, see `sidecar.dashboards.searchNamespace` | bool | `false` |
| grafana.dashboardsConfigMapLabel | Must match `sidecar.dashboards.label` value for the [Grafana chart](https://github.com/grafana/helm-charts/tree/main/charts/grafana#grafana-helm-chart) | string | `"grafana_dashboard"` |
| grafana.dashboardsConfigMapLabelValue | Must match `sidecar.dashboards.labelValue` value for the [Grafana chart](https://github.com/grafana/helm-charts/tree/main/charts/grafana#grafana-helm-chart) | string | `""` |
| graphNodeDefaults | Default values for all Group Node Groups | object | `{"affinity":{},"affinityPresets":{"antiAffinityByHostname":true},"enabled":true,"env":{"IPFS":"","PRIMARY_SUBGRAPH_DATA_PGDATABASE":"","PRIMARY_SUBGRAPH_DATA_PGHOST":"","PRIMARY_SUBGRAPH_DATA_PGPORT":5432},"extraArgs":[],"includeInIndexPools":[],"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{"fsGroup":101337,"runAsGroup":101337,"runAsNonRoot":true,"runAsUser":101337},"replicaCount":1,"resources":{},"secretEnv":{"PRIMARY_SUBGRAPH_DATA_PGPASSWORD":{"key":null,"secretName":null},"PRIMARY_SUBGRAPH_DATA_PGUSER":{"key":null,"secretName":null}},"service":{"ports":{"http-admin":8020,"http-metrics":8040,"http-query":8000,"http-queryws":8001,"http-status":8030},"type":"ClusterIP"},"terminationGracePeriodSeconds":60,"tolerations":[]}` |
| graphNodeDefaults | Default values for all Group Node Groups | object | `{"affinity":{},"affinityPresets":{"antiAffinityByHostname":true},"enabled":true,"env":{"IPFS":"","PRIMARY_SUBGRAPH_DATA_PGDATABASE":"","PRIMARY_SUBGRAPH_DATA_PGHOST":"","PRIMARY_SUBGRAPH_DATA_PGPORT":5432},"extraArgs":[],"includeInIndexPools":[],"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{"fsGroup":101337,"runAsGroup":101337,"runAsNonRoot":true,"runAsUser":101337},"replicaCount":1,"resources":{},"secretEnv":{"PRIMARY_SUBGRAPH_DATA_PGPASSWORD":{"key":null,"secretName":null},"PRIMARY_SUBGRAPH_DATA_PGUSER":{"key":null,"secretName":null}},"service":{"ports":{"http-admin":8020,"http-metrics":8040,"http-query":8000,"http-queryws":8001,"http-status":8030},"topologyAwareRouting":{"enabled":false},"type":"ClusterIP"},"terminationGracePeriodSeconds":60,"tolerations":[]}` |
| graphNodeDefaults.affinityPresets.antiAffinityByHostname | Create anti-affinity rule to deter scheduling replicas on the same host | bool | `true` |
| graphNodeDefaults.enabled | Enable the group | bool | `true` |
| graphNodeDefaults.env | Environment variable defaults for all Graph Node groups | object | `{"IPFS":"","PRIMARY_SUBGRAPH_DATA_PGDATABASE":"","PRIMARY_SUBGRAPH_DATA_PGHOST":"","PRIMARY_SUBGRAPH_DATA_PGPORT":5432}` |
Expand Down
8 changes: 8 additions & 0 deletions charts/graph-node/templates/graph-node/all.yaml
Expand Up @@ -232,6 +232,14 @@ spec:
apiVersion: v1
kind: Service
metadata:
{{- if $values.service.topologyAwareRouting.enabled }}
annotations:
{{- if semverCompare ">= 1.27-0" .Capabilities.KubeVersion.GitVersion }}
service.kubernetes.io/topology-mode: "auto"
{{- else }}
service.kubernetes.io/topology-aware-hints: "auto"
{{- end }}
{{- end }}
name: {{ include "graph-node.fullname" . }}-{{ $groupName }}
labels:
{{- include "graph-node.labels" . | nindent 4 }}
Expand Down
2 changes: 2 additions & 0 deletions charts/graph-node/values.yaml
Expand Up @@ -72,6 +72,8 @@ graphNodeDefaults:
fsGroup: 101337

service:
topologyAwareRouting:
enabled: false
type: ClusterIP
ports:
# Valid keys are names of ports that are exposed by the Pod that (see templates/stateful-node/statefulset.yaml)
Expand Down
2 changes: 1 addition & 1 deletion charts/heimdall/Chart.yaml
Expand Up @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.1.2
version: 1.1.3

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down

0 comments on commit 5dcd96a

Please sign in to comment.