Prometheus Exporter for Netcup Server Control Panel (SCP)
helm repo add christianhuth https://charts.christianhuth.de
helm repo update
helm install my-release christianhuth/netcupscp-exporterThis chart bootstraps a Prometheus Exporter for Netcup ServerControlPanel (SCP) WebService 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/netcupscp-exporterThese commands deploy Skooner 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-releaseThe 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 |
| auth.existingSecret | string | "" |
Use existing secret for the Refresh Token. The secret has to contain the key SCP_REFRESHTOKEN. When it's set the auth.refreshToken is ignored. |
| auth.refreshToken | string | "" |
Refresh Token for authentication |
| autoscaling.enabled | bool | false |
|
| autoscaling.maxReplicas | int | 100 |
|
| autoscaling.minReplicas | int | 1 |
|
| autoscaling.targetCPUUtilizationPercentage | int | 80 |
|
| extraEnv | list | [] |
additional environment variables to be added to the pods |
| extraEnvFrom | list | [] |
additional environment variables from ConfigMaps or Secrets |
| fullnameOverride | string | "" |
String to fully override "netcupscp-exporter.fullname" |
| image.pullPolicy | string | "Always" |
image pull policy |
| image.registry | string | "ghcr.io" |
image registry |
| image.repository | string | "mrueg/netcupscp-exporter" |
image repository |
| image.tag | string | "v0.5.2" |
Overrides the image tag |
| imagePullSecrets | list | [] |
If defined, uses a Secret to pull an image from a private Docker registry or repository. |
| ingress.annotations | object | {} |
|
| ingress.className | string | "" |
|
| ingress.enabled | bool | false |
|
| ingress.hosts[0].host | string | "chart-example.local" |
|
| ingress.hosts[0].paths[0].path | string | "/" |
|
| ingress.hosts[0].paths[0].pathType | string | "ImplementationSpecific" |
|
| ingress.tls | list | [] |
|
| nameOverride | string | "" |
Provide a name in place of netcupscp-exporter |
| nodeSelector | object | {} |
Node labels for pod assignment |
| podAnnotations | object | {} |
Annotations to be added to pods |
| podSecurityContext | object | {} |
pod-level security context |
| replicaCount | int | 1 |
Number of replicas |
| resources | object | {} |
Resource limits and requests for the headwind pods. |
| revisionHistoryLimit | int | 10 |
The number of old ReplicaSets to retain |
| route.main.additionalRules | list | [] |
Additional custom rules that can be added to the route |
| route.main.annotations | object | {} |
Add annotations to the route |
| route.main.apiVersion | string | "gateway.networking.k8s.io/v1" |
Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1alpha2 |
| route.main.enabled | bool | false |
Enables or disables the route |
| route.main.filters | list | [] |
Filters define the filters that are applied to requests that match this rule. |
| route.main.hostnames | list | [] |
Hostnames to be matched |
| route.main.httpsRedirect | bool | false |
adds a filter for redirecting to https (HTTP 301 Moved Permanently). To redirect HTTP traffic to HTTPS, you need to have a Gateway with both HTTP and HTTPS listeners. Matches and filters do not take effect if enabled. Ref. https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/ |
| route.main.kind | string | "HTTPRoute" |
Set the route kind Valid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute |
| route.main.labels | object | {} |
Add labels to the route |
| route.main.matches | list | see values.yaml | define conditions used for matching the rule against incoming HTTP requests. |
| route.main.parentRefs | list | [] |
Parent references (Gateway) |
| route.main.timeouts | object | {} |
defines the timeouts that can be configured for an HTTP request |
| securityContext | object | {} |
container-level security context |
| service.port | int | 80 |
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.scrapeTimeout | string | "" |
Prometheus ServiceMonitor scrapeTimeout, cannot be longer than the scrape interval |
| 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/netcupscp-exporterThis major removes the old way of authenticating against Netcup SCP with username and password, that was defined through the .Values.env.username, .Values.env.password and .Values.env.existingSecret variables.
You can define your authentication details (a refresh token) now through .Values.auth.refreshToken and .Values.auth.existingSecret.
See this documentation on how to obtain the Refresh Token.