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:

```
couchdbConfig:
  chttpd:
    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: |
    [chttpd]
    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
valid.
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
  10. LICENSE
  11. Makefile
  12. README.md
README.md

CouchDB Helm Charts

This repository contains assets related to the CouchDB Helm chart.

Layout

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

Testing

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.

Releasing

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.