NatLabRockies / NatLabRockies/openstudio-server-helm

helm client-only --dry-run cannot validate the chart (lookup unavailable) - document --dry-run=server

Open Beginner friendly
#96 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go Template
Stars
12
Forks
24
PR merge metrics
No merged PRs in 30d

Description

Summary

Client-side helm upgrade --dry-run (no =server) does not evaluate lookup calls, so it produces misleading failures and cannot validate installs of this chart.

Observed with Helm v4 on this chart:

  • The new namespace fail-guard (templates/guard-namespace.yaml, added in 71385aa) relies on lookup to detect an existing release-namespaced collision; under client-only dry-run the lookup returns nothing, so the guard's "already installed" behavior can't be tested.
  • The priority-class templates (lookup "scheduling.k8s.io/v1" "PriorityClass" ...) fail under client-only dry-run with a false "not found/import" style error, even though the object exists in the cluster.
  • helm upgrade --dry-run=server exits 0 and validates correctly.

Impact

Operators following "always dry-run first" may be blocked or misled. This is not a chart bug per se, but a Helm semantics gotcha that should be documented.

Suggested fix

Document in README / deploy runbooks:

  • Use helm upgrade --dry-run=server (or plain helm upgrade) for pre-flight validation of this chart; client-only --dry-run cannot resolve lookup and will show spurious PriorityClass/guard errors.
  • Optionally, the chart could warn when rendered under client-only dry-run, but detecting that in-template is not reliable.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the README and deploy runbooks, then review the documented Helm commands and the behavior described for templates/guard-namespace.yaml and the PriorityClass lookups. Document that client-only --dry-run cannot resolve lookup and that --dry-run=server should be used for validation. Verify the guidance with helm upgrade --dry-run=server and the client-only command.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes
Domain
devops, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.