Sign inSign up

sokushinbutsu/helm-values-editor

By sokushinbutsu

•Updated 5 months ago

https://github.com/seab4ng/helm-values-editor.git

Image
Developer tools
1

562

sokushinbutsu/helm-values-editor repository overview

⁠Helm Values Editor

Docker Hub GitHub License: MIT

A browser-based editor for Helm chart values.yaml files. Open a chart folder, search for any field, change values, and save back to disk — no terminal needed.

Requires Chrome or Edge (uses the browser's File System Access API to read and write files).


⁠Quick start

docker run -p 8080:8080 sokushinbutsu/helm-values-editor:latest

Open http://localhost:8080⁠ in Chrome or Edge.


⁠Usage

⁠1. Load a chart

Click + Add chart folder and pick your Helm chart directory. The app reads Chart.yaml and values.yaml from the root chart and all subcharts automatically.

Don't have a full chart? Click + Add YAML file to load a single values.yaml.

The left panel shows the chart tree. Click any chart name to view its fields.


⁠2. Find fields

Use the search box to filter fields by name or value.

Search: "replica"  →  shows replicaCount, autoscaling.minReplicas, etc.

Hover over any field row to see the full path and value in a popup (useful for long lines).


⁠3. Change values
  1. Check the box next to one or more fields.
  2. A bar appears at the top of the values panel.
  3. Type the new value and click Apply.
Field: replicaCount   Current: 1
→ check box, type "3", click Apply  →  saved as number 3

Type rules:

You typeSaved as
3 (for a number field)number 3
true or falseboolean
nullnull
'false' or "false" (quoted)string false
anything elsestring

For list or map fields, click YAML to switch to YAML input mode:

# list example
- nginx
- alpine

# map example
app: frontend
env: production

You can select multiple fields and apply the same value to all of them at once. Mixing field types (e.g. a string field + a list field) in the same batch is not allowed — select one type at a time.


⁠4. Review and revert changes

Changed fields get an amber left border so they stand out.

  • Click Changed to filter the list and show only changed fields.
  • Click the amber N changes badge to open a full before/after diff table.
  • Click the clock icon on any changed field to see its full edit history.

To undo:

  • Select specific fields → click ↩ Revert selected to restore only those.
  • Select nothing → click ↩ Undo all to restore every changed field across all loaded charts.

⁠5. Presets

Presets let you save a group of fields (with an optional prefilled value) and apply them in one click — useful for fields you change often.

Save a preset:

  1. Check the fields you want to include.
  2. (Optional) Type a default value in the new-value box.
  3. Click Presets → enter a name → click Save.

Apply a preset:

  1. Click Presets.
  2. Click Apply next to the preset name. All preset fields get selected and, if a value was saved, it's filled in automatically.

Click the magnifying-glass icon on a preset to see which fields it contains. Click the trash icon to delete it.


⁠6. Backups and cleanup

Before the first write to any values.yaml, the app automatically creates a values.bak file in the same folder.

If you want to remove all backup files created this session, click Clean backups in the left panel.


⁠7. Session restore

If you close and reopen the browser, a banner offers to restore your previously loaded charts. Click Restore session to reload them without picking folders again.


⁠Features at a glance

FeatureDescription
Chart folder + subchart treeLoads root chart and all subcharts in one go
Single YAML fileLoad any values.yaml without a full chart
Full-text searchFilter fields by key or value at any nesting depth
Batch editSelect multiple fields, type once, apply to all
YAML modeEdit list and map fields using raw YAML syntax
Type coercionBooleans, numbers, nulls saved with correct YAML types
Quoted string overrideWrap value in '...' or "..." to force string type
Changed highlight + filterAmber border on changed fields; filter to show only them
Diff viewBefore/after table for all changes grouped by chart
Field historyPer-field edit history with one-click restore
Revert selected / Undo allRestore any field or all fields to original values
PresetsSave and apply named field selections across charts
Auto-backupCreates .bak before first write; clean up in one click
Session persistenceRestore previously loaded charts on next open
Hover tooltipFull path + value popup for long/truncated fields
Fully airgappedNo external network calls at runtime

⁠Environment variables

VariableDefaultDescription
APP_VERSIONtag at build timeVersion shown in the About dialog
docker run -p 8080:8080 -e APP_VERSION="1.0.7" sokushinbutsu/helm-values-editor:latest

⁠Build from source

git clone https://github.com/seab4ng/helm-values-editor.git
cd helm-values-editor
docker build -t helm-values-editor .
docker run -p 8080:8080 helm-values-editor

⁠Run tests

node --test tests/unit.js

⁠CI / CD

A GitHub Actions workflow runs on every version tag (v*):

  1. Runs the full unit test suite.
  2. If tests pass, builds the Docker image and pushes to Docker Hub as sokushinbutsu/helm-values-editor:<tag> and latest.

To release:

git tag v1.2.3
git push origin v1.2.3

Required secrets: DOCKERHUB_USERNAME, DOCKERHUB_TOKEN.


⁠Contributing

  • app/index.html — all frontend logic (single file, no build step)
  • app/lib.js — pure utility functions (flatten, coerce, search, chart tree)
  • tests/unit.js — unit tests for lib.js
  • Dockerfile — two-stage build: node for vendoring js-yaml, nginx for serving

Fork, make changes, run tests, open a PR.

Tag summary

Content type

Image

Digest

sha256:96d83436b…

Size

25.2 MB

Last updated

5 months ago

docker pull sokushinbutsu/helm-values-editor