Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(firehose-evm): fixes and clean-up #364

Merged
merged 4 commits into from
Sep 24, 2024

Conversation

cjorge-graphops
Copy link
Contributor

@cjorge-graphops cjorge-graphops commented Sep 23, 2024

add componentName to selector labels
add command override to container
fixes and clean-up

Summary by CodeRabbit

  • New Features

    • Introduced new configuration parameters for improved clarity and functionality in the Firehose Ethereum application.
    • Added support for custom commands in Pod specifications, enhancing configurability.
    • Introduced a component-specific label for better identification within the Kubernetes environment.
  • Bug Fixes

    • Updated environment variable references to streamline configuration and improve reliability.
  • Chores

    • Simplified and restructured various configuration settings for the Firehose component, including removal of outdated parameters.
    • Updated the relayer source address for improved service architecture.

Copy link

coderabbitai bot commented Sep 23, 2024

Walkthrough

The pull request introduces updates to the Firehose Ethereum application configuration files, including version increments, new parameters, and modifications to existing ones. Key changes involve the restructuring of environment variable references, updates to initialization containers, and adjustments to service dependencies, enhancing the overall configurability of the application.

Changes

File Change Summary
charts/firehose-ethereum/Chart.yaml - Version updated from 0.1.0-canary.2 to 0.1.0-canary.3.
charts/firehose-ethereum/README.md - Added firehoseComponentDefaults.command parameter.
- Updated firehoseComponentDefaults.envFrom to use secretKeyRef.
- Modified keys in envFrom.secretKeyRef.
- Removed common-index-block-sizes.
- Updated initContainers configuration.
- Changed relayer source address.
charts/firehose-ethereum/templates/_lib.metadata.tpl - Added label app.kubernetes.io/component: '{{ .componentName }}' in metadata.selectorLabels.
charts/firehose-ethereum/templates/resources/workload.yaml - Introduced conditional block to specify Pod command based on .Pod.command field.
charts/firehose-ethereum/values.yaml - Removed common-index-block-sizes parameter.
- Updated initialization containers' enabled states.
- Changed SecretKeyRef to secretKeyRef.
- Removed FIREETH_COMMON_INDEX_STORE_URL.
- Added command section.
- Modified emptyDir configuration.
- Updated relayer-source.
- Removed networkid and sepolia.
- Updated txlookuplimit.

Possibly related PRs

Suggested reviewers

  • i0n
  • calinah

Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 83c3338 and f11ee7a.

Files selected for processing (2)
  • charts/firehose-ethereum/Chart.yaml (1 hunks)
  • charts/firehose-ethereum/README.md (4 hunks)
Additional context used
LanguageTool
charts/firehose-ethereum/README.md

[uncategorized] ~191-~191: Loose punctuation mark.
Context: ...ap | ConfigMap customization | object | `{"enabled":true,"metadata":{"annotations":{},"labels":{}},"options":{"template":"{{- $nodeArgs := false }}\nstart:\n args:\n {{- range .Pod.fireeth.services }}\n - {{ . }}\n {{- if (contains "node" .) }}\n...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~194-~194: Loose punctuation mark.
Context: ...| ConfigMap specific options | object | `{"template":"{{- $nodeArgs := false }}\nstart:\n args:\n {{- range .Pod.fireeth.services }}\n - {{ . }}\n {{- if (contains "node" .) }}\n...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~195-~195: Loose punctuation mark.
Context: ...plate for the fireeth config | string | `"{{- $nodeArgs := false }}\nstart:\n args:\n {{- range .Pod.fireeth.services }}\n - {{ . }}\n {{- if (contains "node" .) }}\n...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~277-~277: A punctuation mark might be missing here.
Context: ...faults.volumes | Pod volumes | object | `{"config":{"configMap":{"defaultMode":420,"name":"{{ include "metadata.fullname" $ }}-{{ .componentName }}-config"},"enabled":"{{ .Pod.configMap...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~279-~279: A punctuation mark might be missing here.
Context: ...rehoseDefaults> is available | object | `{"firehose":{"fireeth":{"config":{"firehose-grpc-listen-addr":"0.0.0.0:10015"}},"ports":{"fh-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "firehose-grpc-listen-addr") }}{{ splitList ":" (index . "firehose-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"fh-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "firehose-grpc-listen-addr") }}{{ splitList ":" (index . "firehose-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"index-builder":{"fireeth":{"config":{"index-builder-grpc-listen-addr":"0.0.0.0:10009","index-builder-index-size":"1000"}},"ports":{"index-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "index-builder-grpc-listen-addr") }}{{ splitList ":" (index . "index-builder-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"index-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "index-builder-grpc-listen-addr") }}{{ splitList ":" (index . "index-builder-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"merger":{"fireeth":{"config":{"merger-grpc-listen-addr":":10012"}},"ports":{"merger-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "merger-grpc-listen-addr") }}{{ splitList ":" (index . "merger-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"merger-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "merger-grpc-listen-addr") }}{{ splitList ":" (index . "merger-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"reader-node":{"clusterRbac":{"enabled":"{{ .Pod.fireeth.p2p.enabled }}","roleSpec":{"rules":[{"apiGroups":[""],"resources":["nodes"],"verbs":["get","list","watch"]}]}},"configMap":{"data":"{{ with .Pod.fireeth.genesisJson }}{{ .enabled | ternary ( .data | toYaml | nindent 8 ) nil }}{{ end }}","options":{"useEnvSubst":true}},"env":{"MANAGER_API_PORT":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-node-manager-api-addr" | ternary (splitList ":" (index . "reader-node-manager-api-addr") | last | int) nil }}{{ end }}"},"fireeth":{"config":{"reader-node-bootstrap-data-url":"{{ with .Pod.fireeth.genesisJson }}{{ .enabled | ternary "/genesis/genesis.json" nil }}{{ end }}","reader-node-data-dir":"/var/lib/geth","reader-node-grpc-listen-addr":"0.0.0.0:10010","reader-node-manager-api-addr":"127.0.0.1:10011","reader-node-path":"/app/geth"},"genesisJson":{"data":{"genesis.json":"\n"},"enabled":false},"jwt":{"enabled":true},"nodeArgs":{"__prefix":"--","__separator":"=","authrpc.addr":"0.0.0.0","authrpc.jwtsecret":"{{ with .Pod.fireeth.jwt }}{{ .enabled | ternary "/secrets/jwt/jwt.hex" nil }}{{ end }}","authrpc.port":8551,"authrpc.vhosts":"","cache":8192,"datadir":"{node-data-dir}","discovery.port":"{{ .Pod.fireeth.p2p.enabled | ternary "${EXTERNAL_PORT}" nil }}","firehose-enabled":"__none","history.transactions":1000,"http":"__none","http.addr":"0.0.0.0","http.api":"net,web3,eth,debug","http.port":8545,"http.vhosts":"","maxpeers":100,"metrics.addr":"{{ with .Pod.fireeth.nodeMetrics }}{{ .enabled | ternary .addr nil }}{{ end }}","metrics.port":"{{ with .Pod.fireeth.nodeMetrics }}{{ .enabled | ternary (.port | int) nil }}{{ end }}","nat":"{{ .Pod.fireeth.p2p.enabled | ternary "extip:${EXTERNAL_IP}" nil }}","port":"{{ .Pod.fireeth.p2p.enabled | ternary "${EXTERNAL_PORT}" nil }}","snapshot":"true","syncmode":"full"},"nodeArgsOrder":[],"nodeMetrics":{"addr":"0.0.0.0","enabled":true,"port":6061},"p2p":{"enabled":true,"port":null}},"kind":"StatefulSet","lifecycle":{"preStop":{"exec":{"command":["/usr/local/bin/eth-maintenance"]}}},"ports":{"node-authrpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary (index . "authrpc.port" | int) nil }}{{ end }}","protocol":"TCP"},"node-metrics":{"containerport":"{{ with .Pod.fireeth.nodeMetrics }}{{ if .port }}{{ .port | int }}{{ else }}null{{ end }}{{ end }}","protocol":"TCP"},"node-mgr":{"containerPort":"{{ splitList ":" ( index .Pod.fireeth.config "reader-node-manager-api-addr" ) | last | int }}","protocol":"TCP"},"node-rpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "http.port" | ternary (index . "http.port" | int) nil }}{{ end }}","protocol":"TCP"},"reader-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "reader-node-grpc-listen-addr") }}{{ splitList ":" (index . "reader-node-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"rbac":{"enabled":true,"roleSpec":{"rules":[{"apiGroups":[""],"resources":["services"],"verbs":["get","list","watch"]},{"apiGroups":[""],"resources":["secrets"],"verbs":["get","create"]}]}},"service":{"spec":{"ports":{"node-authrpc":{"port":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary (index . "authrpc.port" | int) nil }}{{ end }}","protocol":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary "TCP" nil }}{{ end }}"},"node-metrics":{"port":"{{ with .Pod.fireeth.nodeMetrics }}{{ .enabled | ternary (.port | int) nil }}{{ end }}","protocol":"{{ with .Pod.fireeth.nodeMetrics }}{{ .enabled | ternary "TCP" nil }}{{ end }}"},"node-mgr":{"port":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-node-manager-api-addr" | ternary (splitList ":" (index . "reader-node-manager-api-addr") | last) nil }}{{ end }}","protocol":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-node-manager-api-addr" | ternary "TCP" nil }}{{ end }}"},"node-rpc":{"port":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "http.port" | ternary (index . "http.port" | int) nil }}{{ end }}","protocol":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "http.port" | ternary "TCP" nil }}{{ end }}"},"reader-grpc":{"port":"{{ with .Pod.fireeth.config | default dict }}{{ if (index . "reader-node-grpc-listen-addr") }}{{ splitList ":" (index . "reader-node-grpc-listen-addr") | last | int }}{{ else }}null{{ end }}{{ end }}","protocol":"TCP"}}}},"volumeClaimTemplates":{"data-dir":{"enabled":true,"metadata":{"labels":{}},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"50Gi"}},"storageClassName":"openebs-zfs-localpv-compressed-8k"}},"node-data-dir":{"enabled":true,"metadata":{"labels":{}},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"3Ti"}},"storageClassName":"openebs-zfs-localpv-compressed-8k"}}},"volumeMounts":{"genesis-json":{"enabled":"{{ .Pod.fireeth.genesisJson.enabled | default false }}","mountPath":"/genesis","readOnly":true,"subPath":"genesis.json"},"jwt-secret":{"enabled":"{{ .Pod.fireeth.jwt....

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~280-~280: A punctuation mark might be missing here.
Context: ...lts for the firehose service | object | `{"fireeth":{"config":{"firehose-grpc-listen-addr":"0.0.0.0:10015"}},"ports":{"fh-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "firehose-grpc-listen-addr") }}{{ splitList ":" (index . "firehose-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~283-~283: A punctuation mark might be missing here.
Context: ... for the reader-node service | object | `{"clusterRbac":{"enabled":"{{ .Pod.fireeth.p2p.enabled }}","roleSpec":{"rules":[{"apiGroups":[""],"resources":["nodes"],"verbs":["get","list","watch"]}]}},"configMap":{"data":"{{ with .Pod.fireeth.genesisJson }}{{ .enabled | ternary ( .data | toYaml | nindent 8 ) nil }}{{ end }}","options":{"useEnvSubst":true}},"env":{"MANAGER_API_PORT":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-node-manager-api-addr" | ternary (splitList ":" (index . "reader-node-manager-api-addr") | last | int) nil }}{{ end }}"},"fireeth":{"config":{"reader-node-bootstrap-data-url":"{{ with .Pod.fireeth.genesisJson }}{{ .enabled | ternary "/genesis/genesis.json" nil }}{{ end }}","reader-node-data-dir":"/var/lib/geth","reader-node-grpc-listen-addr":"0.0.0.0:10010","reader-node-manager-api-addr":"127.0.0.1:10011","reader-node-path":"/app/geth"},"genesisJson":{"data":{"genesis.json":"\n"},"enabled":false},"jwt":{"enabled":true},"nodeArgs":{"__prefix":"--","__separator":"=","authrpc.addr":"0.0.0.0","authrpc.jwtsecret":"{{ with .Pod.fireeth.jwt }}{{ .enabled | ternary "/secrets/jwt/jwt.hex" nil }}{{ end }}","authrpc.port":8551,"authrpc.vhosts":"","cache":8192,"datadir":"{node-data-dir}","discovery.port":"{{ .Pod.fireeth.p2p.enabled | ternary "${EXTERNAL_PORT}" nil }}","firehose-enabled":"__none","history.transactions":1000,"http":"__none","http.addr":"0.0.0.0","http.api":"net,web3,eth,debug","http.port":8545,"http.vhosts":"","maxpeers":100,"metrics.addr":"{{ with .Pod.fireeth.nodeMetrics }}{{ .enabled | ternary .addr nil }}{{ end }}","metrics.port":"{{ with .Pod.fireeth.nodeMetrics }}{{ .enabled | ternary (.port | int) nil }}{{ end }}","nat":"{{ .Pod.fireeth.p2p.enabled | ternary "extip:${EXTERNAL_IP}" nil }}","port":"{{ .Pod.fireeth.p2p.enabled | ternary "${EXTERNAL_PORT}" nil }}","snapshot":"true","syncmode":"full"},"nodeArgsOrder":[],"nodeMetrics":{"addr":"0.0.0.0","enabled":true,"port":6061},"p2p":{"enabled":true,"port":null}},"kind":"StatefulSet","lifecycle":{"preStop":{"exec":{"command":["/usr/local/bin/eth-maintenance"]}}},"ports":{"node-authrpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary (index . "authrpc.port" | int) nil }}{{ end }}","protocol":"TCP"},"node-metrics":{"containerport":"{{ with .Pod.fireeth.nodeMetrics }}{{ if .port }}{{ .port | int }}{{ else }}null{{ end }}{{ end }}","protocol":"TCP"},"node-mgr":{"containerPort":"{{ splitList ":" ( index .Pod.fireeth.config "reader-node-manager-api-addr" ) | last | int }}","protocol":"TCP"},"node-rpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "http.port" | ternary (index . "http.port" | int) nil }}{{ end }}","protocol":"TCP"},"reader-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "reader-node-grpc-listen-addr") }}{{ splitList ":" (index . "reader-node-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"rbac":{"enabled":true,"roleSpec":{"rules":[{"apiGroups":[""],"resources":["services"],"verbs":["get","list","watch"]},{"apiGroups":[""],"resources":["secrets"],"verbs":["get","create"]}]}},"service":{"spec":{"ports":{"node-authrpc":{"port":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary (index . "authrpc.port" | int) nil }}{{ end }}","protocol":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary "TCP" nil }}{{ end }}"},"node-metrics":{"port":"{{ with .Pod.fireeth.nodeMetrics }}{{ .enabled | ternary (.port | int) nil }}{{ end }}","protocol":"{{ with .Pod.fireeth.nodeMetrics }}{{ .enabled | ternary "TCP" nil }}{{ end }}"},"node-mgr":{"port":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-node-manager-api-addr" | ternary (splitList ":" (index . "reader-node-manager-api-addr") | last) nil }}{{ end }}","protocol":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-node-manager-api-addr" | ternary "TCP" nil }}{{ end }}"},"node-rpc":{"port":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "http.port" | ternary (index . "http.port" | int) nil }}{{ end }}","protocol":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "http.port" | ternary "TCP" nil }}{{ end }}"},"reader-grpc":{"port":"{{ with .Pod.fireeth.config | default dict }}{{ if (index . "reader-node-grpc-listen-addr") }}{{ splitList ":" (index . "reader-node-grpc-listen-addr") | last | int }}{{ else }}null{{ end }}{{ end }}","protocol":"TCP"}}}},"volumeClaimTemplates":{"data-dir":{"enabled":true,"metadata":{"labels":{}},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"50Gi"}},"storageClassName":"openebs-zfs-localpv-compressed-8k"}},"node-data-dir":{"enabled":true,"metadata":{"labels":{}},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"3Ti"}},"storageClassName":"openebs-zfs-localpv-compressed-8k"}}},"volumeMounts":{"genesis-json":{"enabled":"{{ .Pod.fireeth.genesisJson.enabled | default false }}","mountPath":"/genesis","readOnly":true,"subPath":"genesis.json"},"jwt-secret":{"enabled":"{{ .Pod.fireeth.jwt....

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~286-~286: A punctuation mark might be missing here.
Context: ...node.ports | Container ports | object | `{"node-authrpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary (index . "authrpc.port" | int) nil }}{{ end }}","protocol":"TCP"},"node-metrics":{"containerport":"{{ with .Pod.fireeth.nodeMetrics }}{{ if .port }}{{ .port | int }}{{ else }}null{{ end }}{{ end }}","protocol":"TCP"},"node-mgr":{"containerPort":"{{ splitList ":" ( index .Pod.fireeth.config "reader-node-manager-api-addr" ) | last | int }}","protocol":"TCP"},"node-rpc":{"container...

(AI_EN_LECTOR_MISSING_PUNCTUATION)

Markdownlint
charts/firehose-ethereum/README.md

207-207: null
Spaces inside emphasis markers

(MD037, no-space-in-emphasis)

Additional comments not posted (8)
charts/firehose-ethereum/Chart.yaml (1)

18-18: LGTM: Version bump is appropriate.

The version update from 0.1.0-canary.2 to 0.1.0-canary.3 is correct and follows semantic versioning principles for pre-release versions. This change indicates that new features or fixes have been added to the chart.

Let's verify if there are corresponding changes in other files that justify this version increment:

Verification successful

LGTM: Version bump is consistent across Chart.yaml and README.md.

The version update from 0.1.0-canary.2 to 0.1.0-canary.3 is appropriately reflected in both the Chart.yaml and README.md files.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for changes in other files within the chart directory

# Test: List changed files in the chart directory
echo "Changed files in the chart directory:"
git diff --name-only HEAD~1 charts/firehose-ethereum/

# Test: Show a summary of changes in the chart directory
echo -e "\nSummary of changes in the chart directory:"
git diff --stat HEAD~1 charts/firehose-ethereum/

Length of output: 501


Script:

#!/bin/bash
# Description: Show detailed changes in README.md within the charts/firehose-ethereum directory

git diff HEAD~1 charts/firehose-ethereum/README.md

Length of output: 1287

charts/firehose-ethereum/README.md (7)

5-5: Version update looks good.

The chart version has been updated to 0.1.0-canary.3, which follows semantic versioning conventions.


190-190: New parameter for container entrypoint is a good addition.

The firehoseComponentDefaults.command parameter allows for customization of the container entrypoint. This is a useful feature for Kubernetes deployments, providing flexibility in how the container is started.


198-204: Good addition of configurable S3 bucket URLs using secrets.

The new environment variables for S3 bucket URLs (forked blocks, merged blocks, and one blocks) enhance the chart's configurability. Using secrets for these URLs is a good security practice, protecting sensitive information.


206-206: Please clarify the removal of common-index-block-sizes parameter.

The common-index-block-sizes parameter has been removed from the firehoseComponentDefaults.fireeth configuration. This change might affect the indexing behavior of the system. Could you please provide some context on why this parameter was removed and if there are any implications or alternative configurations users should be aware of?


234-234: Good improvement in init containers configuration.

The update to the initContainers configuration introduces dynamic enabling based on Pod.fireeth.p2p.enabled and Pod.configMap.options.useEnvSubst. This change provides more flexibility in setting up init containers and follows good practices by using templating for conditional enabling.


277-277: Excellent updates to volume configurations.

The changes to firehoseComponentDefaults.volumes introduce new volumes like config-processed and env-dir. These additions support the new environment substitution feature. Using a memory-backed emptyDir for config-processed is great for both performance and security. The conditional enabling of volumes based on configuration options provides flexibility and follows best practices in Kubernetes resource management.

Tools
LanguageTool

[uncategorized] ~277-~277: A punctuation mark might be missing here.
Context: ...faults.volumes | Pod volumes | object | `{"config":{"configMap":{"defaultMode":420,"name":"{{ include "metadata.fullname" $ }}-{{ .componentName }}-config"},"enabled":"{{ .Pod.configMap...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


287-287: Please explain the change in relayer source address.

The relayer-source in the firehoseServiceDefaults.relayer configuration has been changed from "reader:10010" to "firehose-ethereum-1-reader:10010". This change appears to be updating the source address for the relayer service to a more specific one. Could you provide some context on why this change was made? Is it related to a change in the service architecture or naming convention? It would be helpful to include a brief explanation in the README to help users understand the implications of this change.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    -- I pushed a fix in commit <commit_id>, please review it.
    -- Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    -- @coderabbitai generate unit testing code for this file.
    -- @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    -- @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    -- @coderabbitai read src/utils.ts and generate unit testing code.
    -- @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    -- @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range and nitpick comments (2)
charts/firehose-ethereum/templates/resources/workload.yaml (1)

170-177: Approve with suggestions: Command specification enhancement

The implementation for specifying custom commands in the Pod is a valuable addition. It enhances the flexibility of the chart by allowing users to override default commands when necessary.

However, there are a few suggestions for improvement:

  1. Fix indentation:
    The command: line should be indented to match the surrounding code. Apply this diff:
          {{- with .Pod.command }}
          {{- if not (empty .) }}
-          command:
+            command:
          {{- range $element := . }}
            - {{ $element }}
          {{- end }}
          {{- end }}
          {{- end }}
  1. Add a comment:
    Consider adding a brief comment explaining the purpose of this block, e.g.:
          {{- with .Pod.command }}
          {{- if not (empty .) }}
          # Override default command if specified
            command:
          {{- range $element := . }}
            - {{ $element }}
          {{- end }}
          {{- end }}
          {{- end }}
  1. Input validation:
    Consider adding input validation for .Pod.command to ensure it contains valid command strings. This could be done in the chart's values validation or by adding a helper template.
charts/firehose-ethereum/values.yaml (1)

462-463: Approve memory-backed volume, but monitor usage

The change to use a memory-backed emptyDir for the config-processed volume is a good optimization for performance. This can significantly speed up operations that frequently access this volume.

However, be aware that this will increase the memory usage of the pod. Ensure that the nodes have sufficient memory to handle this, and consider setting appropriate resource limits. It's also recommended to monitor memory usage closely after deploying this change to ensure it doesn't lead to unexpected resource pressure.

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between c474375 and 83c3338.

Files selected for processing (4)
  • charts/firehose-ethereum/README.md (3 hunks)
  • charts/firehose-ethereum/templates/_lib.metadata.tpl (1 hunks)
  • charts/firehose-ethereum/templates/resources/workload.yaml (1 hunks)
  • charts/firehose-ethereum/values.yaml (6 hunks)
Additional context used
LanguageTool
charts/firehose-ethereum/README.md

[uncategorized] ~191-~191: Loose punctuation mark.
Context: ...ap | ConfigMap customization | object | `{"enabled":true,"metadata":{"annotations":{},"labels":{}},"options":{"template":"{{- $nodeArgs := false }}\nstart:\n args:\n {{- range .Pod.fireeth.services }}\n - {{ . }}\n {{- if (contains "node" .) }}\n...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~194-~194: Loose punctuation mark.
Context: ...| ConfigMap specific options | object | `{"template":"{{- $nodeArgs := false }}\nstart:\n args:\n {{- range .Pod.fireeth.services }}\n - {{ . }}\n {{- if (contains "node" .) }}\n...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~195-~195: Loose punctuation mark.
Context: ...plate for the fireeth config | string | `"{{- $nodeArgs := false }}\nstart:\n args:\n {{- range .Pod.fireeth.services }}\n - {{ . }}\n {{- if (contains "node" .) }}\n...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~277-~277: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...faults.volumes | Pod volumes | object | `{"config":{"configMap":{"defaultMode":420,"name":"{{ include "metadata.fullname" $ }}-{{ .componentName }}-config"},"enabled":"{{ .Pod.configMap.enabled }}"},"config-processed":{"emptyDir":{"medium":"Memory"},"enabled":"{{ and .Pod.configMap.options.useEnvSubst .Pod.conf...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~279-~279: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...rehoseDefaults> is available | object | `{"firehose":{"fireeth":{"config":{"firehose-grpc-listen-addr":"0.0.0.0:10015"}},"ports":{"fh-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "firehose-grpc-listen-addr") }}{{ splitList ":" (index . "firehose-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"fh-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "firehose-grpc-listen-addr") }}{{ splitList ":" (index . "firehose-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"index-builder":{"fireeth":{"config":{"index-builder-grpc-listen-addr":"0.0.0.0:10009","index-builder-index-size":"1000"}},"ports":{"index-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "index-builder-grpc-listen-addr") }}{{ splitList ":" (index . "index-builder-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"index-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "index-builder-grpc-listen-addr") }}{{ splitList ":" (index . "index-builder-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"merger":{"fireeth":{"config":{"merger-grpc-listen-addr":":10012"}},"ports":{"merger-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "merger-grpc-listen-addr") }}{{ splitList ":" (index . "merger-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"merger-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "merger-grpc-listen-addr") }}{{ splitList ":" (index . "merger-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"reader-node":{"clusterRbac":{"enabled":"{{ .Pod.fireeth.p2p.enabled }}","roleSpec":{"rules":[{"apiGroups":[""],"resources":["nodes"],"verbs":["get","list","watch"]}]}},"configMap":{"data":"{{ with .Pod.fireeth.genesisJson }}{{ .enabled | ternary ( .data | toYaml | nindent 8 ) nil }}{{ end }}","options":{"useEnvSubst":true}},"env":{"MANAGER_API_PORT":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-n...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~283-~283: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... for the reader-node service | object | `{"clusterRbac":{"enabled":"{{ .Pod.fireeth.p2p.enabled }}","roleSpec":{"rules":[{"apiGroups":[""],"resources":["nodes"],"verbs":["get","list","watch"]}]}},"configMap":{"data":"{{ with .Pod.fireeth.genesisJson }}{{ .enabled | ternary ( .data | toYaml | nindent 8 ) nil }}{{ end }}","options":{"useEnvSubst":true}},"env":{"MANAGER_API_PORT":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-n...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~286-~286: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...node.ports | Container ports | object | `{"node-authrpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary (index . "authrpc.port" | int) nil }}{{ end }}","protocol":"TCP"},"node-metrics":{"containerport":"{{ with .Pod.fireeth.nodeMetrics }}{{ if .port }}{{ .port | int }}{{ else }}null{{ end }}{{ end }}","protocol":"TCP"},"node-mgr":{"containerPort":"{{ splitList ":" ( index .Pod.fireeth.config "reader-node-manager-api-addr" ) | last | int }}","protocol":"TCP"},"node-rpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "http.p...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

Markdownlint
charts/firehose-ethereum/README.md

207-207: null
Spaces inside emphasis markers

(MD037, no-space-in-emphasis)

Additional comments not posted (13)
charts/firehose-ethereum/templates/_lib.metadata.tpl (1)

68-68: LGTM! Consider verifying the .componentName variable.

The addition of the app.kubernetes.io/component label is a good practice and aligns with Kubernetes recommended label set. It will enhance the granularity of component identification within your Kubernetes resources.

To ensure the .componentName variable is correctly set and used, you may want to run the following verification:

This will help identify where .componentName is defined and used, ensuring it's properly set for all components.

Verification successful

LGTM! The .componentName variable is correctly defined and used across the codebase.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage and setting of .componentName variable

# Test: Search for places where .componentName is set or used
rg --type yaml -g '*.yaml' -g '*.yml' -g '*.tpl' '.componentName'

# Test: Check if there are any cases where the component label might be empty
rg --type yaml -g '*.yaml' -g '*.yml' -g '*.tpl' "app.kubernetes.io/component: ''"

Length of output: 30985

charts/firehose-ethereum/values.yaml (6)

333-338: LGTM: Improved init container configuration

The changes to the enabled fields for the init containers are good improvements. They now dynamically determine whether to enable the containers based on specific pod configurations (fireeth.p2p.enabled and configMap.options.useEnvSubst). This allows for more flexible and configuration-driven deployments.


373-375: Clarify the purpose of the empty command array

An empty command array has been added to the configuration. This could potentially override the default command of the container, which might lead to unexpected behavior.

Could you please clarify the intention behind adding this empty command array? If it's meant to be populated later or in certain conditions, consider adding a comment explaining its purpose. If it's not needed, it might be better to remove it to avoid confusion.


Line range hint 1-824: Summary of changes and recommendations

Overall, the changes in this file appear to be positive improvements to the Firehose Ethereum configuration. Key points include:

  1. More dynamic init container configuration
  2. Updated naming conventions for Kubernetes secrets
  3. Performance optimization with memory-backed volumes
  4. More specific relayer source configuration
  5. Updated transaction history configuration

While most changes are approved, please ensure to:

  1. Verify the removal of FIREETH_COMMON_INDEX_STORE_URL doesn't impact the system negatively
  2. Clarify the purpose of the empty command array
  3. Monitor memory usage after implementing the memory-backed volume
  4. Verify consistency of the new relayer source name across the system
  5. Confirm compatibility of the new transaction history configuration with your Ethereum node software

After addressing these points, the changes should significantly improve the flexibility and clarity of your Firehose Ethereum deployment.


524-524: Approve updated relayer source, verify consistency

The change to the relayer-source configuration, updating it from "reader:10010" to "firehose-ethereum-1-reader:10010", appears to be a more specific and descriptive naming convention. This is generally a good practice as it reduces ambiguity in a potentially complex system.

Please ensure that this new source name "firehose-ethereum-1-reader" is consistently used across the entire system, including in any documentation, other configuration files, or code that might reference the relayer source. Run the following command to check for any inconsistencies:

#!/bin/bash
# Check for occurrences of both old and new relayer source names
rg "reader:10010|firehose-ethereum-1-reader:10010" --type yaml --type go

608-608: Approve updated transaction history configuration, verify compatibility

The change from txlookuplimit: 1000 to history.transactions: 1000 appears to be an update to the configuration format for specifying transaction history limits. The value remains the same, suggesting this is primarily a syntactic change.

Please verify that this new configuration key (history.transactions) is compatible with the current version of the Ethereum node software being used. It's important to ensure that this change doesn't inadvertently alter the behavior of the node.

You may want to check the Ethereum node's documentation or run a test deployment to confirm that the transaction history is still limited as expected. Additionally, search the codebase for any other occurrences of txlookuplimit that might need to be updated:

#!/bin/bash
# Check for occurrences of both old and new transaction history configuration
rg "txlookuplimit|history.transactions" --type yaml --type go

348-348: Approve naming convention change and verify removed env var

The change from SecretKeyRef to secretKeyRef aligns with Kubernetes naming conventions, which is good.

However, the removal of the FIREETH_COMMON_INDEX_STORE_URL environment variable configuration needs verification.

Please confirm that the removal of FIREETH_COMMON_INDEX_STORE_URL is intentional and doesn't negatively impact the system's ability to locate the index store. If this configuration has been moved elsewhere or is no longer needed, please update the documentation accordingly.

Verification successful

Removal of FIREETH_COMMON_INDEX_STORE_URL Confirmed Safe

The FIREETH_COMMON_INDEX_STORE_URL environment variable is not referenced elsewhere in the codebase. Its removal does not impact the system's ability to locate the index store.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if FIREETH_COMMON_INDEX_STORE_URL is used elsewhere in the codebase
rg "FIREETH_COMMON_INDEX_STORE_URL" --type yaml --type go

Length of output: 243


Script:

#!/bin/bash
# Check if FIREETH_COMMON_INDEX_STORE_URL is used elsewhere in the codebase
rg "FIREETH_COMMON_INDEX_STORE_URL" --type yaml --type go

Length of output: 57

charts/firehose-ethereum/README.md (6)

190-190: Approval: New parameter for custom container entrypoint

The addition of firehoseComponentDefaults.command as a list type parameter is a good improvement. It allows users to specify a custom container entrypoint, providing more flexibility in how the Firehose-Ethereum containers are initialized and run.


198-204: Approval: Enhanced S3 storage configuration

The updates to firehoseComponentDefaults.envFrom are beneficial:

  1. New environment variables for different S3 bucket URLs (forked, merged, and one blocks) provide more granular control over storage locations.
  2. The change from SecretKeyRef to secretKeyRef aligns with Kubernetes naming conventions.

These modifications offer better flexibility in configuring S3 storage for different block types and improve adherence to Kubernetes standards.


234-234: Approval: Improved flexibility in init container configuration

The update to firehoseComponentDefaults.initContainers is a positive change:

  1. It introduces dynamic enabling of init containers based on Pod.fireeth.p2p.enabled and Pod.configMap.options.useEnvSubst.
  2. This change allows for more flexible and conditional initialization of P2P and environment substitution features.

This modification enhances the adaptability of the deployment to different configuration scenarios, potentially reducing resource usage when certain features are not needed.


277-277: Approval: Enhanced volume configurations

The updates to firehoseComponentDefaults.volumes bring valuable improvements:

  1. A new config-processed volume has been added, allowing for dynamic processing of configurations.
  2. An env-dir volume has been introduced, which can be used for storing environment variables.

These additions provide more flexibility in managing configurations and environment variables, potentially improving the adaptability and maintainability of the Firehose-Ethereum deployment.

Tools
LanguageTool

[style] ~277-~277: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...faults.volumes | Pod volumes | object | `{"config":{"configMap":{"defaultMode":420,"name":"{{ include "metadata.fullname" $ }}-{{ .componentName }}-config"},"enabled":"{{ .Pod.configMap.enabled }}"},"config-processed":{"emptyDir":{"medium":"Memory"},"enabled":"{{ and .Pod.configMap.options.useEnvSubst .Pod.conf...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


206-209: Verify the impact of configuration changes

Several important changes have been made to firehoseComponentDefaults.fireeth.config:

  1. The common-index-block-sizes parameter has been removed, which may affect indexing behavior.
  2. New rate limiting parameters (firehose-rate-limit-bucket-fill-rate and firehose-rate-limit-bucket-size) have been added.
  3. Other configuration parameters have been modified.

These changes could significantly impact the performance and behavior of the Firehose-Ethereum application.

Please ensure that:

  1. The removal of common-index-block-sizes doesn't negatively affect the indexing process.
  2. The new rate limiting parameters are properly configured for your use case.
  3. Other modified parameters are set to appropriate values.

Run the following script to check for any references to the removed parameter and to verify the new configuration:

#!/bin/bash
# Check for any remaining references to common-index-block-sizes
echo "Checking for references to common-index-block-sizes:"
rg --type yaml "common-index-block-sizes"

# Display the new configuration
echo "New fireeth configuration:"
rg --type yaml "firehose-rate-limit-bucket-fill-rate|firehose-rate-limit-bucket-size"
Tools
Markdownlint

207-207: null
Spaces inside emphasis markers

(MD037, no-space-in-emphasis)


279-287: Verify the updated relayer source configuration

An important change has been made to the firehoseServiceDefaults.relayer configuration:

  • The relayer-source has been updated from reader:10010 to firehose-ethereum-1-reader:10010.

This modification suggests a change in the service architecture or naming convention for the reader service.

Please ensure that:

  1. The new relayer source address (firehose-ethereum-1-reader:10010) is correct and accessible within your cluster.
  2. Any dependent services or configurations that may reference the old reader address are updated accordingly.

Run the following script to check for any references to the old and new reader addresses:

Verification successful

Relayer source configuration successfully updated

The firehoseServiceDefaults.relayer configuration has been correctly updated:

  • The relayer-source is now set to firehose-ethereum-1-reader:10010.
  • No references to the old reader address reader:10010 were found in the codebase.

This confirms that the old address has been removed and the new configuration is properly applied.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
echo "Checking for references to the old reader address:"
rg --type yaml "reader:10010"

echo "Checking for references to the new reader address:"
rg --type yaml "firehose-ethereum-1-reader:10010"

Length of output: 472


Script:

#!/bin/bash
echo "Verifying references to the old reader address 'reader:10010':"
rg --type yaml "reader:10010" charts/firehose-ethereum/

echo "Verifying references to the new reader address 'firehose-ethereum-1-reader:10010':"
rg --type yaml "firehose-ethereum-1-reader:10010" charts/firehose-ethereum/

Length of output: 645

Tools
LanguageTool

[style] ~279-~279: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...rehoseDefaults> is available | object | `{"firehose":{"fireeth":{"config":{"firehose-grpc-listen-addr":"0.0.0.0:10015"}},"ports":{"fh-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "firehose-grpc-listen-addr") }}{{ splitList ":" (index . "firehose-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"fh-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "firehose-grpc-listen-addr") }}{{ splitList ":" (index . "firehose-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"index-builder":{"fireeth":{"config":{"index-builder-grpc-listen-addr":"0.0.0.0:10009","index-builder-index-size":"1000"}},"ports":{"index-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "index-builder-grpc-listen-addr") }}{{ splitList ":" (index . "index-builder-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"index-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "index-builder-grpc-listen-addr") }}{{ splitList ":" (index . "index-builder-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"merger":{"fireeth":{"config":{"merger-grpc-listen-addr":":10012"}},"ports":{"merger-grpc":{"containerPort":"{{ with .Pod.fireeth.config }}{{ if (index . "merger-grpc-listen-addr") }}{{ splitList ":" (index . "merger-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}},"service":{"enabled":true,"spec":{"ports":{"merger-grpc":{"port":"{{ with .Pod.fireeth.config }}{{ if (index . "merger-grpc-listen-addr") }}{{ splitList ":" (index . "merger-grpc-listen-addr") | last | int }}{{ else }}{{ nil }}{{ end }}{{ end }}","protocol":"TCP"}}}}},"reader-node":{"clusterRbac":{"enabled":"{{ .Pod.fireeth.p2p.enabled }}","roleSpec":{"rules":[{"apiGroups":[""],"resources":["nodes"],"verbs":["get","list","watch"]}]}},"configMap":{"data":"{{ with .Pod.fireeth.genesisJson }}{{ .enabled | ternary ( .data | toYaml | nindent 8 ) nil }}{{ end }}","options":{"useEnvSubst":true}},"env":{"MANAGER_API_PORT":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-n...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~283-~283: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... for the reader-node service | object | `{"clusterRbac":{"enabled":"{{ .Pod.fireeth.p2p.enabled }}","roleSpec":{"rules":[{"apiGroups":[""],"resources":["nodes"],"verbs":["get","list","watch"]}]}},"configMap":{"data":"{{ with .Pod.fireeth.genesisJson }}{{ .enabled | ternary ( .data | toYaml | nindent 8 ) nil }}{{ end }}","options":{"useEnvSubst":true}},"env":{"MANAGER_API_PORT":"{{ with .Pod.fireeth.config }}{{ hasKey . "reader-n...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~286-~286: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...node.ports | Container ports | object | `{"node-authrpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "authrpc.port" | ternary (index . "authrpc.port" | int) nil }}{{ end }}","protocol":"TCP"},"node-metrics":{"containerport":"{{ with .Pod.fireeth.nodeMetrics }}{{ if .port }}{{ .port | int }}{{ else }}null{{ end }}{{ end }}","protocol":"TCP"},"node-mgr":{"containerPort":"{{ splitList ":" ( index .Pod.fireeth.config "reader-node-manager-api-addr" ) | last | int }}","protocol":"TCP"},"node-rpc":{"containerPort":"{{ with .Pod.fireeth.nodeArgs }}{{ hasKey . "http.p...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants