Skip to content

Latest commit

 

History

History
183 lines (130 loc) · 8.64 KB

README.md

File metadata and controls

183 lines (130 loc) · 8.64 KB

Community Plus header

New Relic's Helm charts repository

This is the official Helm charts repository for New Relic. It is indexed at Helm Hub, where you can find the list of available charts and their documentation.

Prerequisites

Install

To install the New Relic Helm charts, add the official repository first:

helm repo add newrelic https://helm-charts.newrelic.com

You can list all the available charts from the newrelic repository using helm search:

helm search repo newrelic/

To install one of the charts, run helm install passing the name of the chart to install and the values you want to set as arguments. You can find a list of all the values and their defaults in the documentation of each chart.

Examples

The following example installs the nri-bundle chart, which groups multiple New Relic charts into one. nri-bundle contains:

Install nri-bundle using Helm 3

helm install newrelic-bundle newrelic/nri-bundle \
  --set global.licenseKey=YOUR_LICENSE_KEY \
  --set global.cluster=YOUR_CLUSTER_NAME \
  --set kubeEvents.enabled=true \
  --set webhook.enabled=true \
  --set prometheus.enabled=true \
  --set logging.enabled=true \
  --set ksm.enabled=true

Install nri-bundle using Helm 2

helm install newrelic/nri-bundle \
  --name newrelic-bundle \
  --set global.licenseKey=YOUR_LICENSE_KEY \
  --set global.cluster=YOUR_CLUSTER_NAME \
  --set kubeEvents.enabled=true \
  --set webhook.enabled=true \
  --set prometheus.enabled=true \
  --set logging.enabled=true \
  --set ksm.enabled=true

Development

You can use the Helm CLI to develop a chart and add it to this repository.

  1. Clone this repository on your local machine.
  2. Add or modify the files for the desired chart.
  3. To install the chart locally, run helm install dev-chart charts/<YOUR_CHART>
  4. Verify that the chart works as expected.
  5. Remove the installed chart with helm uninstall dev-chart.
  6. Create your pull request and follow the instructions below.

Feel free to add different values to the chart.

Automated version bumps

This repository is configured to accept webhook requests to bump chart versions. Upon receiving a version bump request, a GitHub Action generates a pull request with the requested changes. The pull request must still be merged manually.

Trigger an automated version bump

A GitHub Personal Access Token for this repository is required. If you have the token, execute the following POST request (tailor client_payload to your needs):

chart_name: (required) Name of the helm chart to be bumped. chart_version: (optional) If specified the chart version will be set with this value. If left empty the patch version of the chart will be bumped by 1, e.g: 1.2.19 -> 1.2.20 app_version: (required) Version of the application.

curl -H "Accept: application/vnd.github.everest-preview+json" \
     -H "Authorization: token <PERSONAL_ACCESS_TOKEN>" \
     --request POST \
     --data '{"event_type": "bump-chart-version", "client_payload": { "chart_name": "simple-nginx", "chart_version": "1.2.3", "app_version": "1.45.7"}}' \
     https://api.github.com/repos/newrelic/helm-charts/dispatches

Notice the sample client_payload object in the request body: the request generates a pull request for the simple-nginx chart to update app_version to 1.45.7 and chart_version to 1.2.3.

Testing

See chart testing

Contributing

See our Contributing docs and our review guidelines

A note about vulnerabilities

As noted in our security policy, New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.

If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through HackerOne.

If you would like to contribute to this project, review these guidelines.

To all contributors, we thank you! Without your contribution, this project would not be what it is today.

Support

Should you need assistance with New Relic products, you are in good hands with several support diagnostic tools and support channels.

If the issue has been confirmed as a bug or is a feature request, file a GitHub issue.

Support Channels

Issues / Enhancement Requests

Issues and enhancement requests can be submitted in the Issues tab of this repository. Please search for and review the existing open issues before submitting a new issue.

Troubleshoot

Getting "Couldn't load repositories file" (Helm 2)

You need to initialize Helm with:

helm init

Getting "namespaces 'default' is forbidden" (Helm 2)

If your cluster uses role-based access, create a service account for tiller (Helm's service which runs inside the Kubernetes cluster) using:

kubectl --namespace kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller-cluster-rule \
 --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl --namespace kube-system patch deploy tiller-deploy \
 -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

License

The project is released under version 2.0 of the Apache license.