Code Monkey home page Code Monkey logo

helm-exporter's Introduction

Helm Exporter

Docker Registryย 

Exports helm release, chart, and version statistics in the prometheus format.

Installation

Prerequisites

  • Kubernetes 1.19+
  • Helm 3+

Get Repo Info

helm repo add sstarcher https://shanestarcher.com/helm-charts/
helm repo update

See helm repo for command documentation.

Install Chart

# Helm
$ helm install helm-exporter sstarcher/helm-exporter

Configuration for Latest versions

Two options exist for fetching the latest version information for a chart.

  • Direct fetch from a chart repository. This will download the index for the registry and use that information to fetch the chart.
# Helm configuration
config:
  helmRegistries:
    overrideChartNames: {}
      mysql: stable/test
# If the helm charts are not stored on hub.helm.sh then a custom registry can be configured here.
# Currently only index.yaml registry is supported (helm supports other registries as well)
    override:
      - registry:
          url: "https://some.url" # Url to the index file
        charts: # Chart names
        - splunk
        - falco-eks-audit-bridge

Configuration for password protected registries

If the registry needs authentication then you can use a Kubernetes secret to store the username and password.

kubectl create secret generic chartmuseum --from-literal=username=admin --from-literal=password=admin

And use following configuration:

# Helm configuration
config:
  helmRegistries:
    overrideChartNames: {}
      mysql: stable/test
    # If the helm charts are not stored on hub.helm.sh then a custom registry can be configured here.
    # Currently only index.yaml registry is supported (helm supports other registries as well)
    override:
      - registry:
          url: "https://some.url" # Url to the index file
          secretRef:
              name: "chartmuseum" # Name of the secret containing the username and password
              userKey: "username" # Key of the username in the secret
              passKey: "password" # Key of the password in the secret
        charts: # Chart names
          - splunk
          - falco-eks-audit-bridge
  • Query https://artifacthub.io for the chart matching your chart name and only using the specified registries. If no registry name is specified and multiple charts match from helm hub no version will be found and it will log a warning.
# Helm configuration
config:
  helmRegistries:
    registryNames:
    - bitnami

Metrics

Format

# HELP helm_chart_info Information on helm releases
# TYPE helm_chart_info gauge
helm_chart_info{chart="ark",release="ark",version="1.2.1",latestVersion="1.2.3",appVersion="1.2.3",updated="1553201431",namespace="test"} 1
helm_chart_info{chart="cluster-autoscaler",release="cluster-autoscaler",version="0.7.0",latestVersion=7.3.2,appVersion="",updated="1553201431",namespace="other"} 4
helm_chart_info{chart="dex",release="dex",version="0.1.0",latestVersion="3.4.0",appVersion="1.2.3",updated="1553201431",namespace="test"} 1

# HELP helm_chart_outdated Outdated helm versions of helm releases
# TYPE helm_chart_outdated gauge
helm_chart_outdated{chart="ark",latestVersion="1.2.3",namespace="test",release="ark",version="1.2.1"} 1
helm_chart_outdated{chart="cluster-autoscaler",latestVersion="7.3.2",namespace="other",release="cluster-autoscaler",version="0.7.0"} 1
helm_chart_outdated{chart="external-secrets",latestVersion="3.4.0",namespace="test",release="dex",version="0.1.0"} 1

# HELP helm_chart_timestamp Timestamps of helm releases
# TYPE helm_chart_timestamp gauge
helm_chart_timestamp{chart="ark",release="ark",version="1.2.1",latestVersion="1.2.3",appVersion="1.2.3",updated="1553201431",namespace="test"} 1.617197959e+12
helm_chart_timestamp{chart="cluster-autoscaler",release="cluster-autoscaler",version="0.7.0",latestVersion=7.3.2,appVersion="",updated="1553201431",namespace="other"} 1.617196128e+12
helm_chart_timestamp{chart="dex",release="dex",version="0.1.0",latestVersion="3.4.0",appVersion="1.2.3",updated="1553201431",namespace="test"} 1.62245881e+12

The metric value is the helm status code. These status codes indexes do not map up directly to helm. This is so I can make the bad cases negative values.

  • -1 FAILED
  • 0 UNKNOWN
  • 1 DEPLOYED
  • 2 DELETED
  • 3 SUPERSEDED
  • 5 DELETING
  • 6 PENDING_INSTALL
  • 7 PENDING_UPGRADE
  • 8 PENDING_ROLLBACK

Prior Art

Todo

  • /healthz endpoint method

helm-exporter's People

Contributors

abhoite avatar actions-user avatar amitbenami avatar bengtfredh avatar benhartley avatar blacs30 avatar dependabot[bot] avatar devmage avatar dirien avatar elfolink avatar gminiba avatar ialejandro avatar jfrabaute avatar jmccarty3 avatar knatsakis avatar mykolakobzar avatar nbenaglia avatar oliverbaehler avatar patrungel avatar paulpowershell avatar rlex avatar rubyalwaystaken avatar sharkofmirkwood avatar simon-gloot avatar snyk-bot avatar sstarcher avatar tianhaopx avatar tuananhnguyen-ct avatar vibioh avatar xrstf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

helm-exporter's Issues

Expose the value of Revision

Nice project! It exports everything except the Revision value for a release. Exporting the Revsion value would be useful feedback and would provide the complete picture to the prometheus data.

Add Flux support : auto discover registries and chart names

If GitOps is used in combination with Flux, Helm registries as well as repository from chart is already defined inside Flux CRDs:

It would be great if Helm Exporter could have an auto discover feature of registries (HelmRepository) and "overrideChartNames" (HelmRelease) from Flux CRDs (if available)

Thus, Helm Exporter would be able to track automagically all deployed Helm charts with Flux.

Runtime error when disabling one of the metrics

Hi @sstarcher
When I disable one of the metrics with a command line or disable it via helm chart values "minfo-metric"|"timestamp-metric"|"outdated-metric" I get this error
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x103d77460]
It looks like the issue is that it's trying to register the metrics which is not initialised if it was disabled
I created a PR to fix that.
Thank you!

OCI registry support

Are there plans to support OCI registries instead of the index.yaml classic repos?

Helm Exporter waiting to connect?

Hi
Ive tried to deploy the exporter on a kubernetes cluster. Ive deployed it in the kube-system namespace where tiller exists. The tiller service is: tiller-deploy.kube-system:44134 TCP

Latest docker image 0.3.1 does not work

Hi.

Can you make an update to helm chart and update latest image? Also, I tried it and seems that does not work, I get this error:

Readiness probe failed: Get http://10.244.1.112:9100/metrics: dial tcp 10.244.1.112:9100: connect: connection refused

Thx.

How to specify tiller helm list intervals?

Which part of the values.yaml are we supposed to modify so that tiller only lists every x seconds?

We are using version 0.3.0 (quite old but the only version that supports helm 2 for us) and no adjustment of values.yaml has allowed the exporter to trigger any interval other than 30 seconds.

As our clusters scale, this causes large cpu usage, especially since it lists twice for some reason at every interval and triggers our prometheus alerts.

Include the `updated` time/date label

Thanks for this awesome tool ๐Ÿ˜„

I was thinking that adding an updated date/time label (probably in the form of a timestamp) would be valuable, it will allow to quickly review when a deployment chart was last updated.

Deploy the chart to a repository

Currently it appears that the only way to get the chart is by cloning the git repository.

Would it be possible to publish the chart to kubeapps, or to host a chart repository somewhere public? That way, it would be very easy for users to keep up to date and avoid creating or researching issues that were already solved in a previous release.

Expose application version?

Helm allows you to specify chart version and app version, look like currently only the chart version is exposed. Can you expose also the app version?

Include grafana dashboard into the chart

It would really be helpful if the grafana dashboard could be included into the chart. So users with the kube-prometheus-stack/grafana dashboard may have it out of the box without having to install it manually from grafana website.

A similar suggestion and implementation pllan can be found here:
kubernetes/ingress-nginx#6381

Version outdated label

Hi

Love your project. I was trying to build a new Grafana dashboard based on your metrics and attempted to display the charts, which have an outed version with a special Marking. The problem with that: I can't really perform a proper semver compare in Grafana. So I wanted to ask if it would be possible add a label which indicates, if a version is outdated (latestVersion > version). Basically we could set this to true if the coniditon matches. If not (or if it wasn't able the fetch a latest Version we just set it to false).

What do you think?

ChartMuseum to OCI & index.yaml registry Harbor

With the latest upgrade of Harbor, chartmuseum got deprecated in favour of OCI registry.

# If the helm charts are not stored on hub.helm.sh then a custom registry can be configured here.
# Currently only index.yaml registry is supported (helm supports other registries as well)
    override:
      - registry:
          url: "https://some.url" # Url to the index file

For that reason, the index.yaml file no longer exists...
The question is, is there a way to make helm-exporter work with the new OCI method?

Thanks!

High cpu usage and occasionall unavailability of metrics port

Hello! have an issue with helm-exporter.
I see pretty high (30-50% of single core, sometimes more) of typical CPU usage.
In addition, sometimes target becomes unavailable in prometheus (timeout).
Wondering what can cause it?
Maybe 30s polling interval (helm-exporter does periodic polling, or does it query repos on every /metrics call? I have a fair amount of repos to check)

Failed to search chart info

Hello,

I can't seem to get the latestVersion label set and it generates FAILURE-error:

/metrics:

helm_chart_info{appVersion="0.7.3",chart="helm-exporter",latestVersion="FAILURE",namespace="helm-exporter",release="helm-exporter",updated="1627466345000",version="0.7.3+0c5ff6f"} 1
helm_chart_timestamp{appVersion="0.7.3",chart="helm-exporter",latestVersion="FAILURE",namespace="helm-exporter",release="helm-exporter",updated="1627466345000",version="0.7.3+0c5ff6f"} 1.627466345e+12

Helm-exporter log:

time="2021-07-28T09:51:57Z" level=info msg="Watching namespace helm-exporter"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace channel-service"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace channel-service-loadtest"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace default"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace kube-public"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace monitoring"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace containers-7972"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace argocd"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace kube-node-lease"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace kube-system"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace logging"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace sonobuoy"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace external-dns"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace ingress-nginx"
time="2021-07-28T09:51:57Z" level=info msg="Watching namespace cert-manager"
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=kube-prometheus-stack error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=prometheus-cloudwatch-exporter error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=helm-exporter error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=aws-calico error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=aws-ebs-csi-driver error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=cluster-autoscaler error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=metrics-server error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=cert-manager error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=external-dns error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=fluent-bit error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=ingress-nginx error=EOF
time="2021-07-28T09:52:06Z" level=error msg="Failed to search chart info" chart=ingress-nginx error=EOF
time="2021-07-28T09:52:35Z" level=error msg="Failed to search chart info" chart=external-dns error=EOF

.values.yml:

# Specifies which namespaces to query for helm 3 metrics.  Defaults to all
namespaces: ""
infoMetric: true
timestampMetric: true
latestChartVersion: true
intervalDuration: 0

serviceMonitor:
  # Specifies whether a ServiceMonitor should be created
  create: true
  interval:
  scrapeTimeout:
  namespace: "helm-exporter"
  additionalLabels: {}

Helm-exporter version: 0.7.3
K8s: v1.19.8-eks-96780e

If I do a wget from inside the container it seems ok:

k exec -it -n helm-exporter helm-exporter-5f6c56494-j87l5 -- /bin/sh
/ $ wget -O- 'https://artifacthub.io/api/chartsvc/v1/charts/search?q=external-dns'
Connecting to artifacthub.io (52.85.144.77:443)
writing to stdout
{"data":[{"id":"stevehipwell/external-dns","artifactHub":{"packageUrl":"https://artifacthub.io/packages/helm/stevehipwell/external-dns"},"attributes":{"description":"ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers.","repo":{"name":"stevehipwell","url":"https://stevehipwell.github.io/helm-charts/"}},"relationships":{"latestChartVersion":{"data":{"version":"1.0.1","app_version":"0.8.0"}}}},{"id":"bitnami/external-dns","artifactHub":{"packageUrl":"https://artifacthub.io/packages/helm/bitnami/external-dns"},"attributes":{"description":"ExternalDNS is a Kubernetes addon that configures public DNS servers with information about exposed Kubernetes services to make them discoverable.","repo":{"name":"bitnami","url":"https://charts.bitnami.com/bitnami"}},"relationships":{"latestChartVersion":{"data":{"version":"5.2.2","app_version":"0.8.0"}}}},{"id":"bitnami-aks/external-dns","artifactHub":{"packageUrl":"https://artifacthub.io/packages/helm/bitnami-aks/external-dns"},"attributes":{"description":"ExternalDNS is a Kubernetes addon that configures public DNS servers with information about exposed Kubernetes services to make them discoverable.","repo":{"name":"bitnami-aks","url":"https://marketplace.azurecr.io/helm/v1/repo"}},"relationships":{"latestChartVe-                    100% |******************************************************************************************************************************************|  1363  0:00:00 ETA
written to stdout

Thank you!

Not correct namespace is displayed in Grafana

After installing the exporter, the namespace where the exporter is installed displayed in the namespace column.
Obviously, I expect to see a namespace where the chart is installed.

Helm exporter doesn't work with prometheus-operator

Error I'm getting:

Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: [ValidationError(ServiceMonitor.spec.selector): unknown field "app.kubernetes.io/instance" in com.coreos.monitoring.v1.ServiceMonitor.spec.selector, ValidationError(ServiceMonitor.spec.selector): unknown field "app.kubernetes.io/name" in com.coreos.monitoring.v1.ServiceMonitor.spec.selector]

exporter chart version: 0.5.0
stable prometheus-operator chart version: 8.7.0

Configuration used:

serviceMonitor:
  create: true
  namespace: monitoring

How to disable lookup on artifactshub, when configured nexus repository.

Trying to use nexus repository in helm-exporter configMap.

Running helm-exporter in EKS, all the helm charts installed are present in our nexus repository.

Example configuration applied for helm-exporter to override registry

config.yaml: |-
    helmRegistries:
      override:
      - allowAllReleases: false
        charts: []
        registry:
          url: " " ## Path to index.yaml on nexus repository
          secretRef:
            name: "helm-exporter-secret"  # secret having username & password to access nexus
            userKey: "username"
            passKey: "password"
      overrideChartNames: {}
      registryNames: []

What is expected behaviour

helm-exporter should not look for charts information on artifactshub, instead should look into defined nexus repository where we keep our helm charts.

What team can help with

Is their any configure for helm-exporter to search charts in nexus repository instead of artifactshub to avoid warning in the log.

Example warning

time="2023-08-09T14:12:14Z" level=warning msg="unable to find any charts matching radar on artifacthub" chart=radar
time="2023-08-09T14:12:14Z" level=warning msg="unable to find any charts matching radar on artifacthub" chart=radar

Support custom scrape service annotation

Hi,

Currently the service template hard-codes annotation prometheus.io/scrape: "true" when serviceMonitor is not used. Orgs like us use a custom annotation to enable scraping, so better to parameterise and only use prometheus.io/scrape: "true" as the default value.

Possibility to disable chart up-to-date-check

We're currently trying to implement NetworkPolicies with helm-exporter. As we're using helm-exporter just for checking if there are helm-releases in state != deployed && state != deleted, there's no need for helm-exporter to talk to the internet.

Unfortunately this prevents helm-exporter to start at all, cause it's trying to reach artifacthub.io which fails.

Is there a way to disable the up-to-date-check so that helm-exporter can work in such a restricted environment?

Missing helm charts found - Failed to search chart info

I have just tried using this little tool as I think it does exactly what we want for some modules that we have installed on our kubernetes clusters. I am trying to find a list of all the versions on the installed modules in different clusters that we have developed and then display this is Grafana.

However, when I start the pod I get a lot of messages such as

time="2021-10-05T06:03:39Z" level=error msg="Failed to search chart info" chart=XXXXX error=EOF

And this seems to be for all the charts of the internal modules that we have developed. Is there something that we need to add to our helm charts so that the deployments are recognisable by your exporter? An annotation for example...

Many thanks

no such file or directory

Hello,
I'm trying the following setup:

    override:
      - registry:
          url: "https://solr.apache.org/charts/index.yaml"
        charts:
          - solr
        allowAllReleases: false

But i see in the logs the following log

level=warning msg="open /.cache/helm/repository/solr-index.yaml: no such file or directory"

Helm test failure

Helm test should connect to service_name:service_port/healthz to get a 200 reponse code instead of 404

Do you have any guide for opening a PR, I'll like to contribute to the chart?

Support new ingress api version

This chart will fail to install on new K8s versions from next month when networking.k8s.io/v1beta1 & extensions/v1beta1 become obsolete in v1.22.

They should be replaced by networking.k8s.io/v1

Bump version for Helm3

Hi,
Thanks for your awesome project,
I wonder to know if any plan to release #24 for supporting Helm3 ?

MULTIPLESCHARTS on Chart, how can we select an especific registry?

Hello, it's a pleasure @sstarcher.

I explain to you the situation I am facing:

At my company we use the vault chart from the hashicorp repository (this is at artifacthub.io).

The problem it's the following... there is also another chart for vault by bitnami, as you will see here, I have bitnami registred in my values.yaml too because we use another charts from bitnami so, the exporter says 'MULTIPLESCHARTS' for vault:

...
config:
  helmRegistries:
    overrideChartNames: {}
    override:
      - registry:
          url: "" 
        charts: []
        allowAllReleases: true
    registryNames:
    - bitnami
    - hashicorp
    ...
    - sstarcher

I tried the following to especify that I want the exporter to search vault on hashicorp registry but doesn't works:

TEST 1:

...
config:
  helmRegistries:
    overrideChartNames: # {}
      vault: hashicorp/vault
    override:
      - registry:
          url: "" 
        charts: []
        allowAllReleases: true
    registryNames:
    - bitnami
    - hashicorp
    ...
    - sstarcher

TEST 2:

...
config:
  helmRegistries:
    overrideChartNames: # {}
      vault: hashicorp/vault
    override:
      - registry:
          url: "https://helm.releases.hashicorp.com/" 
        charts: # []
          - vault
        allowAllReleases: true
    registryNames:
    - bitnami
    - hashicorp
    ...
    - sstarcher

I know that the second try it's not correct because on the registry section we have to specify if the registry is not on artifacthub, but I wanted to try.

How can we manage this?

Expose newer version of chart

With helm whatsup we get the latest version of a chart. Would be nice to have this as metric and possibly alert on when a newer version is available

Generate the metrics on scrape and not in predefined interval

Me again ;)

I was looking at the code and it seems that the metrics are being generated and stored every 30 seconds, later served to Prometheus when the exporter is scraped.

although this shouldn't have any meaningful difference given the kind of information this exposed here, it somewhat goes against Prometheus best practices that state that metrics should be collected during the scrape process and not be collected in advance.

reference: https://prometheus.io/docs/instrumenting/writing_exporters/#scheduling

Adding Basic Auth to access Helm repo

Hi,

Great idea the override, however it returns a 401 Unauthorised if the repo has authentication implemented (like mine). I cloned the code and added a basic Authentication to the Get request to download the index.yaml file from the override, and now I am able to get the file.

Below an example of the config.yaml file, where for each Helm repo it is possible to specify its own authentication as Env variables. These can then be passed as k8s secret, or CI env variable at deploy.

helmRegistries:
  override:
    - registry:
        url: "https://private.chart.museum/index.yaml"
      charts:
        - chart_one
        - chart_two
      usernameEnvName: OVERRIDE_HELM_USER
      passwordEnvName: OVERRIDE_HELM_PSW
      allowAllReleases: true

Then the code for the new request is quite easy

req, err := http.NewRequest(http.MethodGet, r.HelmRegistry.URL, nil)
	if err != nil {
		log.WithError(err).Error("failed to get chart info")
	}
	u, ok := os.LookupEnv(r.UsernameEnvName)
	p, ok := os.LookupEnv(r.PasswordEnvNam)
	if ok {
		req.SetBasicAuth(u, p)
	}
	resp, err := client.Do(req)

If it sounds sensible I can open a PR with all the changes to introduce the authentication

New patch release with updated dependencies?

It would be great if you could release a new version from master.

In the current version 1.2.12 (according to trivy) are 6 Medium CVEs in alpine base image and 1 High, 6 Medium in the gobinary.

The current master branch only has 1 CVE in the go binary for the helm dependency (there is no fixed version yet).

vulnerabilites in 1.2.5

Hi,
We are exploring using helm-exporter in production. As per the need, we need to make the image free from any critical or high vulnerabilities.
As per the trivy scan result, we updated the below packages
old packages

-       github.com/docker/distribution v2.8.1+incompatible // indirect
-       github.com/docker/docker v20.10.21+incompatible // indirect

New packages

+       github.com/docker/distribution v2.8.2+incompatible // indirect
+       github.com/docker/docker v20.10.24+incompatible // indirect

But after building image and running with helm chart, we are getting the the below error in the container and it never run successfully.

exec /usr/local/bin/helm-exporter: exec format error

Failed to connect: context deadline exceeded

Already mentioned in 15 and 16

When at least one tiller installation (mentioned in tillerNamespaces) doesnot exist - helm exporter enters CrashLoopBackOff state with error message Failed to connect: context deadline exceeded

Expected - working state for any available tillers, specific unable to connect metric output for the ones that are unavailable.

Not sure if this is feature request or bug report ;)

Helm Exporter waiting to connect?

Hi
I've tried to deploy the exporter on a kubernetes cluster. I've deployed it in the kube-system namespace where tiller exists. The tiller service is: tiller-deploy.kube-system:44134 TCP

However, in the exporter pod log, all I am seeing is: Attempting to connect to tiller-deploy.kube-system:44134. Should I be expecting to see more logs here? I'm unsure how to get any more information to help diagnose the problem as everything appears to be configured correctly.

Thanks

Failed to fetch chart info

Hi,

I'm getting multiple errors when running helm-exporter:0.6.2

time="2021-04-01T14:38:23Z" level=error msg="Failed to fetch chart info" chart=nginx-ingress error="invalid character '<' looking for beginning of value"
time="2021-04-01T14:38:23Z" level=error msg="Failed to fetch chart info" chart=pgbouncer error="invalid character '<' looking for beginning of value"
time="2021-04-01T14:38:23Z" level=error msg="Failed to fetch chart info" chart=cloudsql-proxy error="invalid character '<' looking for beginning of value"
time="2021-04-01T14:38:23Z" level=error msg="Failed to fetch chart info" chart=flux error="invalid character '<' looking for beginning of value"
time="2021-04-01T14:38:23Z" level=error msg="Failed to fetch chart info" chart=helm-operator error="invalid character '<' looking for beginning of value"
time="2021-04-01T14:38:23Z" level=error msg="Failed to fetch chart info" chart=kubernetes-dashboard error="invalid character '<' looking for beginning of value"

My guess is that the response from findChart is not JSON as expected, but probably some kind of HTML response.

Any suggestions as to how to debug or fix the error?

Adding proxy support

It would be really nice if proxy support was available for on-prem architecture like bellow (or at least env values) :

proxy:
  enabled: true
  httpProxy: http://my-proxy:8080
  httpsProxy: http://my-proxy:8080

and that in deployment.yaml :

{{- if.Values.proxy.enabled }}
env:
  - name: no_proxy
    value: localhost
  - name: http_proxy
     value: {{ .Values.proxy.httpProxy }}
  - name: https_proxy
     value: {{ .Values.proxy.httpsProxy }}
{{- end }}

Upgrade alpine to 3.14.2

Hi there we are looking to leverage helm-exporter in our enterprise!
We noticed there were some high/critical vulnerabilities in your alpine version - 3.14.0

Is it possible to upgrade to 3.14.2 so we can leverage this? Thanks!

spec.endpoints.port: Invalid value: \"integer\"

Thanks for the updates! Having an issue with the servicemonitor:

ts=2020-04-03T15:54:43.063494079Z caller=release.go:216 component=release release=helm-exporter targetNamespace=monitoring resource=monitoring:helmrelease/helm-exporter helmVersion=v3 error="Helm release failed" revision=63f9e4417f552597d9545aae52d3f556cd9d977a err="failed to upgrade chart for release [helm-exporter]: ServiceMonitor.monitoring.coreos.com \"helm-exporter\" is invalid: spec.endpoints.port: Invalid value: \"integer\": spec.endpoints.port in body must be of type string: \"integer\""

See my deployment here:
https://github.com/onedr0p/k3s-gitops/blob/master/deployments/monitoring/helm-exporter/helm-exporter.yaml

Update Helm chart for helm-exporter

I have created a PR here to update the Helm chart to the latest version to address the exposing of appVersion which was closed 14 hours ago -- I was about to push the code in the morning when I realised you have made a commit and deployed it.

However, I don't see a new version of Docker image tagged as I am only seeing the latest tag. Could you tag the latest image of helm-exporter and let me know here soI can address the PR over in helm/charts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.