Skip to content

Commit

Permalink
[nr-ebpf-agent] Add helm chart field for OTLP endpoint (#1485)
Browse files Browse the repository at this point in the history
Enables configuring where data gathered by the eBPF agent will be sent.

<!--
Thank you for contributing to New Relic's Helm charts. Before you submit
this PR we'd like to
make sure you are aware of our technical requirements:

*
https://github.com/newrelic-experimental/helm-charts/blob/master/CONTRIBUTING.md#technical-requirements

For a quick overview across what we will look at reviewing your PR,
please read
our review guidelines:

*
https://github.com/newrelic-experimental/helm-charts/blob/master/REVIEW_GUIDELINES.md

Following our best practices right from the start will accelerate the
review process and
help get your PR merged quicker.

When updates to your PR are requested, please add new commits and do not
squash the
history. This will make it easier to identify new changes. The PR will
be squashed
anyways when it is merged. Thanks.

For fast feedback, please @-mention maintainers that are listed in the
Chart.yaml file.

Please make sure you test your changes before you push them. Once
pushed, a Github Action
will run across your changes and do some initial checks and linting.
These checks run
very quickly. Please check the results. We would like these checks to
pass before we
even continue reviewing your changes.
-->
#### Is this a new chart

#### What this PR does / why we need it:

#### Which issue this PR fixes
*(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)`
format, will close that issue when PR gets merged)*
  - fixes #

#### Special notes for your reviewer:

#### Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove
unrelated fields.]
- [X] Chart Version bumped
- [X] Variables are documented in the README.md
- [X] Title of the PR starts with chart name (e.g. `[mychartname]`)

---------

Signed-off-by: Benjamin Kilimnik <[email protected]>
Co-authored-by: Kartik Pattaswamy <[email protected]>
  • Loading branch information
benkilimnik and kpattaswamy authored Sep 23, 2024
1 parent e5e9c48 commit 7d3f528
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion charts/nr-ebpf-agent/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,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.4
version: 0.1.5
dependencies:
- name: common-library
version: 1.1.1
Expand Down
5 changes: 3 additions & 2 deletions charts/nr-ebpf-agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Options that can be defined globally include `affinity`, `nodeSelector`, `tolera
| labels | object | `{}` | Additional labels for chart objects |
| licenseKey | string | `""` | The license key to use. Can be configured with `global.licenseKey` |
| nodeSelector | object | `{}` | Sets all pods' node selector. Can be configured also with `global.nodeSelector` |
| nrStaging | bool | `false` | Endpoint to export data to. If enabled, sends data to the staging backend. Requires a valid staging license key. Can also be configured with global.nrStaging |
| nrStaging | bool | `false` | Endpoint to export data to via the otel collector. NR prod (otlp.nr-data.net:4317) by default. Staging (staging-otlp.nr-data.net:4317) otherwise. Requires a valid staging license key. Can also be configured with global.nrStaging. |
| otelCollector.collector.serviceAccount.annotations | object | `{}` | Annotations for the OTel collector service account. |
| otelCollector.image.pullPolicy | string | `"IfNotPresent"` | The pull policy is defaulted to IfNotPresent, which skips pulling an image if it already exists. If pullPolicy is defined without a specific value, it is set to Always. |
| otelCollector.image.repository | string | `"us-west1-docker.pkg.dev/pl-dev-infra/nr-ebpf-agent-lp/nr-ebpf-otel-collector"` | OpenTelemetry collector image to be deployed. |
Expand All @@ -102,6 +102,7 @@ Options that can be defined globally include `affinity`, `nodeSelector`, `tolera
| otelCollector.resources.requests.memory | string | `"200Mi"` | Min memory allocated to the container. |
| podLabels | object | `{}` | Additional labels for chart pods |
| protocols | object | `{"amqp":true,"cass":true,"dns":true,"http":true,"kafka":true,"mongodb":true,"mysql":true,"pgsql":true,"redis":true}` | The protocols (and data export scripts) to enable for tracing in the socket_tracer. |
| proxy | string | `""` | Configures the agent to send all data through the proxy specified via the otel collector. |
| stirlingSources | string | `"socket_tracer,tcp_stats"` | The source connectors (and data export scripts) to enable. Note that socket_tracer tracks http, mysql, redis, mongodb, amqp, cassandra, dns, and postgresql while tcp_stats tracks TCP metrics. |
| tableStoreDataLimitMB | string | `"250"` | The primary lever to control RAM use of the eBPF agent. Specified in MiB. |
| tolerations | list | `[]` | Sets all pods' tolerations to node taints. Can be configured also with `global.tolerations` |
Expand All @@ -116,4 +117,4 @@ If the `nr-ebpf-client` or `nr-ebpf-agent` container logs indicate that the scri

* ramkrishankumarN
* kpattaswamy
* benkilimnik
* benkilimnik
4 changes: 3 additions & 1 deletion charts/nr-ebpf-agent/templates/otel-collector-daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ spec:
key: NR_LICENSE_KEY
name: nr-ebpf-agent-secrets
- name: NR_OTLP_ENDPOINT
{{- if .Values.nrStaging }}
{{- if .Values.proxy }}
value: "{{- .Values.proxy }}"
{{- else if .Values.nrStaging }}
value: "staging-otlp.nr-data.net:4317"
{{- else }}
value: "otlp.nr-data.net:4317"
Expand Down
4 changes: 3 additions & 1 deletion charts/nr-ebpf-agent/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
cluster: ""
# -- The license key to use. Can be configured with `global.licenseKey`
licenseKey: ""
# -- Endpoint to export data to. If enabled, sends data to the staging backend. Requires a valid staging license key. Can also be configured with global.nrStaging
# -- Endpoint to export data to via the otel collector. NR prod (otlp.nr-data.net:4317) by default. Staging (staging-otlp.nr-data.net:4317) otherwise. Requires a valid staging license key. Can also be configured with global.nrStaging.
nrStaging: false
# -- Configures the agent to send all data through the proxy specified via the otel collector.
proxy: ""
# -- The primary lever to control RAM use of the eBPF agent. Specified in MiB.
tableStoreDataLimitMB: "250"
# -- The source connectors (and data export scripts) to enable.
Expand Down

0 comments on commit 7d3f528

Please sign in to comment.