Commit Graph

116 Commits

Author SHA1 Message Date
Jesse Simpson 14f902c245
wip: draft at making cleaner stacktraces
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:16:09 -04:00
Justen Stall 280a9ddbdb
Merge branch 'main' into stdlib-errors-2
Signed-off-by: Justen Stall <39888103+justenstall@users.noreply.github.com>
2025-04-21 12:13:10 -04:00
Stepan Paksashvili b54349d9b2 fix(pkg/engine): allow to override all functions
Signed-off-by: Stepan Paksashvili <stepan.paksashvili@flant.com>
2025-04-18 10:29:56 +03:00
Stepan Paksashvili 8982b57e5e feat(pkg/engine): and custom funcs overriding test
Signed-off-by: Stepan Paksashvili <stepan.paksashvili@flant.com>
2025-04-18 10:29:56 +03:00
Stepan Paksashvili 9073bcf53e feat(pkg/engine): add support for custom template funcs
Enhances the template engine and action config to allow users to inject custom template functions via an action config when using Helm as a library.

Closes #30733

Signed-off-by: Stepan Paksashvili <stepan.paksashvili@flant.com>
2025-04-18 10:29:56 +03:00
Robert Sirchia c5991028e0
fixing matts changes
Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2025-03-21 16:12:53 -04:00
Robert Sirchia 4422000330
fixing case issues with the logging of my errors
Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2025-03-05 17:21:29 +01:00
Robert Sirchia 848c134e0c
fixing error messages
Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2025-02-28 16:14:48 -05:00
Robert Sirchia c2e6ed8ae5
fixing build error
Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2025-02-28 08:22:53 -05:00
Robert Sirchia 8887d01791
fixing issues with my PR
Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2025-02-27 15:47:28 -05:00
Robert Sirchia c36bc25fb1
fixing missing attributes
Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2025-02-27 14:48:29 -05:00
Robert Sirchia 1ad79a2bb7
converting inline log to slog
Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2025-02-27 14:21:57 -05:00
Matt Farina 61d3eca55c
Move pkg/chart to pkg/chart/v2 to prepare for v3 charts
This change moves the code, updates the import locations, and
adds a doc.go file to document what the v2 package is for.

This is part of HIP 20 for v3 charts

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-02-25 15:20:44 -05:00
Matt Farina 5c0deec327
Moving chartutil to chart/util
chartutil was originally created to operate on protobufs which are
no longer part of Helm. The util package makes more sense to be
part of the chart package.

This change is part of the HIP 20 to create v3 charts and
explicitly call out v2 charts. The changes for this are in smaller
bite size changes.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-02-21 15:25:55 -05:00
Matt Farina 2236294119 Updating to helm.sh/helm/v4
Since Helm is going through breaking changes with Helm v4, the version path to
Helm needs to be updated.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2024-12-26 16:33:51 -05:00
Matt Farina 5727f56a96
Update to Go 1.23
Multiple changes were made to pass linting. Some Go built-in names
are being used for variables (e.g., min). This happens in the Go
source itself including the Go standard library and is not always
a bad practice.

To handle allowing some built-in names to be used the linter config
is updated to allow (via opt-in) some names to pass. This allows us
to still check for re-use of Go built-in names and opt-in to any
new uses.

There were also several cases where a value was checked for nil
before checking its length when this is already handled by len()
or the types default value. These were cleaned up.

The license validation was updated because it was checking everything
in the .git directory including all remote content that was local.
The previous vendor directory was from a time prior to Go modules
when Helm handled dependencies differently. It was no longer needed.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2024-12-19 10:27:38 -05:00
Justen Stall 63cf42a843
fix: replace "github.com/pkg/errors" with stdlib "errors" package
Signed-off-by: Justen Stall <39888103+justenstall@users.noreply.github.com>
2024-11-18 11:35:59 -05:00
Nathan Baulch ff9dd262e3
Fix typos
Signed-off-by: Nathan Baulch <nathan.baulch@gmail.com>
2024-09-14 10:29:56 +10:00
Robert Sirchia d58d7b3762 Fixing all the linting errors
Cleaned up all the linting errors we are getting.

Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2024-03-11 17:13:34 -04:00
Matt Farina 7fd08041b1
Merge pull request #12617 from porridge/dynamic-client
feature(pkg/engine): introduce RenderWithClientProvider
2024-01-08 21:30:59 -05:00
Andrew Block 77d54d7dbe
Merge pull request #11351 from greed42/fast-tpl
Speed up `tpl`
2024-01-08 16:51:29 -06:00
Marcin Owsiany bfec4ec926 feature(pkg/engine): introduce RenderWithClientProvider
Signed-off-by: Marcin Owsiany <porridge@redhat.com>
2023-12-18 10:02:57 +01:00
Graham Reed 97dbb96f5a Merge remote-tracking branch 'origin/main' into fast-tpl
Signed-off-by: Graham Reed <greed@7deadly.org>
2023-08-01 00:48:54 +01:00
Graham Reed 95905f19dd Work around template.Clone omitting options
Signed-off-by: Graham Reed <greed@7deadly.org>
2023-05-11 22:32:25 +01:00
AdamKorcz 2a9594c0fe pkg/engine: fix nil-dereference
Signed-off-by: AdamKorcz <adam@adalogics.com>
2023-03-22 15:15:00 +00:00
Matt Farina 863bc74e5a
Update to func handling
Signed-off-by: Matt Farina <matt@mattfarina.com>
2023-02-03 15:36:32 -05:00
Graham Reed a7d3fd6c09 Allow a nested `tpl` invocation access to `defines` in a containing one
Signed-off-by: Graham Reed <greed@7deadly.org>
2022-10-20 15:42:06 +01:00
Graham Reed e2a7c7998a Remove the 'reference templates' concept
As we're using `t.Clone()` we already get the right 'references'.

Signed-off-by: Graham Reed <greed@7deadly.org>
2022-10-20 15:40:54 +01:00
Graham Reed db4f330122 Speed up `tpl`
- Use a clone of the current Template instead of re-creating everything from scratch
- Needs to inject `include` so any defines in the tpl text can be seen.

Signed-off-by: Graham Reed <greed@7deadly.org>
2022-09-16 14:13:01 +01:00
Matt Farina f895948ae2
Fixing issue with non-existant .Template when using tpl function
This is a regression accidently introduced in #9957.

A delete call had been used on the Template key of vals. This caused
a condition where Template was not available when rendering via tpl.
The delete happened after ExecuteTemplate so the issue is surpsising.
It may possibly be a race condition. Existing tests did not catch it.
I tried to create a test that directly tested the issue and was
unable to replicate the error seen with real charts. This leads me
to believe it is a race condition in the underlying Go template
package.

The delete call was not there before #9957. It should be safe to
remove and keep that information.

Closes #10082

Signed-off-by: Matt Farina <matt.farina@suse.com>
2021-08-31 10:19:54 -04:00
Matt Farina ac80a5eec9
Merge branch 'main' into feat/subcharts-scope 2021-08-25 10:18:31 -04:00
Matt Farina 2de6f9d424
Merge pull request #9993 from Ka0o0/make-isroot-available-to-template
Make Chart's IsRoot available to templates
2021-08-25 10:14:05 -04:00
Kai Takac 06ae6f933a Make Chart's IsRoot available to templates
Signed-off-by: Kai Takac <kai.takac@gmail.com>
2021-08-23 19:27:41 +02:00
Cory Snider 79df3926f6 fix(engine): parse fail messages with newlines
The templating engine handles errors originating from the `required` and
`fail` template functions specially, cleaning up the error messages to
be more presentable to users. Go's text/template package unfortunately
does not make this straightforward to implement. Despite
template.ExecError implementing Unwrap, the error value returned from
the template function cannot be retrieved using errors.As. The wrapped
error in ExecError is a pre-formatted error string with the template
function's error string interpolated in with the original error value
erased. Helm works around this limitation by delimiting the
template-supplied message and extracting the message out of the
ExecError string with a regex.

Fix the parsing of `required` and `fail` error messages containing
newlines by setting the regex flag to make `.` match newline characters.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2021-08-10 12:38:43 -04:00
Valentin Flaux 3daaea0a1c feat(pkg/engine): expose subcharts scope in parent
Expose the scope (.Values, .Charts, .Releases etc.) of subcharts to the parent scope.

Signed-off-by: Valentin Flaux <vflaux@oui.sncf>
2021-07-20 12:24:27 +02:00
Marcus Speight 7a0739a863 Fail message is now the same as the required message.
Fixed #8973 Helm function 'fail' should not fail when doing 'helm lint'

Signed-off-by: Marcus Speight <marcus.speight@hotmail.co.uk>
2020-11-19 08:10:38 +00:00
Paul Brousseau 3192408415 Fixing typo in engine comments
Signed-off-by: Paul Brousseau <object88@gmail.com>
2020-09-13 21:31:38 -07:00
Matt Farina dbd001e532
Removing tiller language
Since Tiller is no longer part of Helm v3, internal documentation
language about Tiller can be removed

Signed-off-by: Matt Farina <matt@mattfarina.com>
2020-05-21 15:26:16 -04:00
Matt Butcher bb47286f09
fix linting error with lookup function (#7969)
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
2020-04-22 10:09:34 -06:00
Andre Sencioles d0726e07ab
Parse reference templates in predictable order (#7702)
* Parse reference templates in predictable order

Fix issue #7701

Signed-off-by: Andre Sencioles <asenci@gmail.com>

* Add test case for issue #7701 regression

Signed-off-by: Andre Sencioles <asenci@gmail.com>

* gofmt

Signed-off-by: Andre Sencioles <asenci@gmail.com>
2020-04-21 13:16:55 -06:00
Daniel Cheng 8528548441 fix recursion count in templates
Signed-off-by: Daniel Cheng <dcheng@us.ibm.com>
2020-02-07 18:35:21 -05:00
Matthew Fisher 9c680e604b
Merge pull request #7443 from zwwhdls/fix7439
allow limited recursion in templates
2020-01-27 09:51:29 -08:00
zwwhdls 16a85f7570 fix test-style
Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
2020-01-21 22:04:13 +08:00
zwwhdls 4eda4fa06d allow limited recursion in templates
Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
2020-01-21 21:46:34 +08:00
Matthew Fisher e84b61b2db
Merge pull request #6752 from raffaelespazzoli/lookup
Lookup template function
2020-01-14 11:01:45 -08:00
Josh Soref 02ad2b1187 Spelling (#7258)
* spelling: constraint

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: cryptographic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dependency

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: doesnot

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: don't

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unexpected

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dreadnought

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: default

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: envvars

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: evaluates

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: execute

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: extractor

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: frobnitz

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: generated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: implementation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: jabba

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: keywords

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: kubernetes

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: override

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: package

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: parsable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: progress

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: recursively

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: release

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: cache

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: representing

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: serializer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: subchart

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: utilities

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2019-12-18 12:04:08 +00:00
raffaelespazzoli e98cd621f0 added rest client passed with action configuration
Signed-off-by: raffaelespazzoli <raffaele.spazzoli@gmail.com>
2019-12-17 08:31:47 -05:00
海的澜色 750b870aed fix stack overflow error (#7114)
* fixed #7111

Signed-off-by: zwwhdls <zwwhdls@hotmail.com>

* update error message

Signed-off-by: zwwhdls <zwwhdls@hotmail.com>

* add test case

Signed-off-by: zwwhdls <zwwhdls@hotmail.com>

* fix lint error

Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
2019-12-02 14:57:51 +00:00
Matt Farina 9bc7934f35
Updating the module for v3 as the major version
Signed-off-by: Matt Farina <matt@mattfarina.com>
2019-10-03 14:27:05 -04:00
Adam Reese 4fcc876786
ref(pkg/engine): cleanup of development `hack`
This was left in from some of the chart builder work.  I forgot to
remove it.

Signed-off-by: Adam Reese <adam@reese.io>
2019-09-03 15:31:58 -07:00