fix: convert float64s to integers (#127)

If a large integer is specifed in values.yaml, it is parsed by Helm
as a float64. For example:

    timeout: 5184000

If this is converted to a string, it produces `5.184e+06` instead of
the expected `5184000`.

Given we never expect floats to be specified as configuration values
to CouchDB, we can workaround this erroneus type conversion by
casting the float64 back to an integer when rendering the ini file.

This then correctly outputs:

inifile: |
    timeout = 5184000

Note this will break any genuine uses of float64 types in the
configuration, though I can't think of any cases where this would be
2 files changed
tree: a5d1649c248c4545d08081ca96b4a66544cb86ce
  1. .github/
  2. couchdb/
  3. scripts/
  4. test/
  5. .asf.yaml
  6. .gitignore
  7. .gitmodules
  8. .helmignore
  9. _templates.gotmpl
  11. Makefile

CouchDB Helm Charts

This repository contains assets related to the CouchDB Helm chart.


  • couchdb: contains the unbundled Helm chart
  • test: containes scripts to test the chart locally using Kind


make test will run an integration test using Kind. This stands up a Kubernetes cluster locally and ensures the chart will deploy using the default options and Helm.

On GitHub, there is a GitHub Action to Lint and Test charts for each PR.


On merge to main, a new release is generated by the Chart Releaser GitHub action.

Feedback / Issues / Contributing

General feedback is welcome at our user or developer mailing lists.

Apache CouchDB has a CONTRIBUTING file with details on how to get started with issue reporting or contributing to the upkeep of this project. In short, use GitHub Issues, do not report anything to the Helm team.

The chart follows the technical guidelines / best practices maintained by the Helm team.