A Helm Chart for the GitHub Prometheus Exporter
helm repo add christianhuth https://charts.christianhuth.de
helm repo update
helm install my-release christianhuth/github-exporter
This chart bootstraps the GitHub Exporter on a Kubernetes cluster using the Helm package manager.
- Kubernetes 1.19+
To install the chart with the release name my-release
:
helm repo add christianhuth https://charts.christianhuth.de
helm repo update
helm install my-release christianhuth/github-exporter
These commands deploy the GitHub Exporter on the Kubernetes cluster in the default configuration. The Values section lists the values that can be configured during installation.
Tip: List all releases using
helm list
To uninstall the my-release
deployment:
helm uninstall my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Key | Type | Default | Description |
---|---|---|---|
affinity | object | {} |
Affinity settings for pod assignment |
extraEnv | list | [] |
additional environment variables to be added to the pods |
fullnameOverride | string | "" |
String to fully override "github-exporter.fullname" |
github.auth.app.enabled | bool | false |
Enable authentication using a GitHub App. |
github.auth.app.id | string | "" |
The APP ID of the GitHub App. |
github.auth.app.installationId | string | "" |
The INSTALLATION ID of the GitHub App. |
github.auth.app.privateKey | string | "" |
The private Key. |
github.auth.existingSecret | string | "" |
Name of existing secret to use for authentication credentials. Keys in secret should be called github-app-id , github-app-installation-id , github-app-private-key or github-token depenending on the choosen authentication type (`github.auth.type``). |
github.auth.token.enabled | bool | false |
Enable authentication with an API Token |
github.auth.token.value | string | "" |
The Token used to authenticate against the GitHub API |
github.config.apiUrl | string | "https://api.github.com" |
Github API URL, shouldn't need to change this. |
github.config.logLevel | string | "error" |
The level of logging the exporter will run with. |
github.config.rateLimit | int | 0 |
The rate limit that suppose to be for github app (default is 15,000). If the exporter sees the value is below this variable it generating new token for the app. |
github.targets.organizations | string | "" |
If supplied, the exporter will enumerate all repositories for that organization. Expected in the format "org1, org2". |
github.targets.repositories | string | "" |
If supplied, The repos you wish to monitor, expected in the format "user/repo1, user/repo2". Can be across different Github users/orgs. |
github.targets.users | string | "" |
If supplied, the exporter will enumerate all repositories for that users. Expected in the format "user1, user2". |
image.pullPolicy | string | "Always" |
image pull policy |
image.registry | string | "docker.io" |
image registory |
image.repository | string | "githubexporter/github-exporter" |
image repository |
image.tag | string | "1.3.1" |
Overrides the image tag |
imagePullSecrets | list | [] |
If defined, uses a Secret to pull an image from a private Docker registry or repository. |
nameOverride | string | "" |
Provide a name in place of github-exporter |
nodeSelector | object | {} |
Node labels for pod assignment |
podSecurityContext | object | {} |
pod-level security context |
replicaCount | int | 1 |
Number of replicas |
resources | object | {"requests":{"cpu":"100m","memory":"100Mi"}} |
Resource limits and requests for the controller pods. |
revisionHistoryLimit | int | 0 |
The number of old ReplicaSets to retain |
securityContext | object | {} |
container-level security context |
service.port | int | 9171 |
Kubernetes port where service is exposed |
service.type | string | "ClusterIP" |
Kubernetes service type |
serviceAccount.annotations | object | {} |
Annotations to add to the service account |
serviceAccount.create | bool | true |
Specifies whether a service account should be created |
serviceAccount.name | string | "" |
The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
serviceMonitor.additionalLabels | object | {} |
Prometheus ServiceMonitor labels |
serviceMonitor.enabled | bool | false |
Enable a Prometheus ServiceMonitor |
serviceMonitor.interval | string | "30s" |
Prometheus ServiceMonitor interval |
serviceMonitor.metricRelabelings | list | [] |
Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
serviceMonitor.namespace | string | "" |
Prometheus ServiceMonitor namespace |
serviceMonitor.relabelings | list | [] |
Prometheus [RelabelConfigs] to apply to samples before scraping |
serviceMonitor.selector | object | {} |
Prometheus ServiceMonitor selector |
tolerations | list | [] |
Toleration labels for pod assignment |
Specify each parameter using the --set key=value[,key=value]
argument to helm install
.
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
helm install my-release -f values.yaml christianhuth/github-exporter