Mauren Berti
5d127e4138
chore(deps): bump dependencies of kustomize + sync go workspace
...
* Bump the golang.org/x dependencies.
* Run `go work sync` to synchronize dependencies across Go workspaces.
2024-04-21 20:03:38 -04:00
Yusuke Abe
ed09399cd1
fix: return error instead of log.Fatalf() ( #5625 )
...
* fix: return error instead of log.Fatalf()
* chore: add meaningful message to error output
* chore: add meaningful message to fatal function
2024-04-18 03:56:51 -07:00
Kubernetes Prow Robot
82ee768212
Merge pull request #5079 from chlunde/perf-1
...
perf: improve applyOrdering by avoid call to GetByCurrentId
2024-04-06 10:14:25 -07:00
koba1t
fb9f45ebe0
Back to development mode; unpin the modules
2024-04-05 02:24:31 +09:00
koba1t
277da9ed21
fix version subcommand is not working after release build
2024-04-05 01:37:31 +09:00
koba1t
10c292f501
Update kyaml to v0.17.0
2024-04-04 21:59:50 +09:00
Jonathan King
b3d1df2644
Fix name in a configMapRef missing hash #5047 ( #5236 )
...
* Add regression tests
* Update PrefixesSuffixesEquals function
* Try empty prefix/suffix but fall back on duplicates
* Run gofmt
* Remove newline
* Revert unnecessary gofmt change
* Add comment
2024-04-02 12:44:11 -07:00
Karl Isenberg
ed2ca23400
Pin tool versions with hack/go.mod ( #5622 )
...
* Pin tool versions with hack/go.mod
This change centralizes the tracking of versions for tools used for
development and testing. This way, the tools and all their
dependencies have their checksums stored in hack/go.sum, which
improves supply chain security.
* Workspace Sync & Tidy
2024-04-02 12:34:13 -07:00
Kubernetes Prow Robot
8fef99fa35
Merge pull request #5542 from ephesused/issue5540
...
fix: improve accumulation failure message
2024-03-27 10:32:54 -07:00
koba1t
91b92b52c1
remove klog/v1 dependencies due to that is in the unwanted dependencies in k/k
2024-03-28 00:30:27 +09:00
Kubernetes Prow Robot
d7e60b8451
Merge pull request #5624 from karlkfi/karl-example-500
...
Use a local test server instead of example.com
2024-03-27 08:28:55 -07:00
Karl Isenberg
9db92fd28d
Use a local test server instead of example.com
2024-03-21 13:14:12 -07:00
Karl Isenberg
43868688d5
Use require for Error and NoError
...
Assert keeps going after failure, but require immediately fails
the tests, making it easier to find the output related to the test
failure, rather than having to comb through a bunch of subsequent
assertion failures. For equality tests, we may or may not want to
continue, but for error checks we almost always want to immediately
fail the test. Exceptions can be changed as-needed.
2024-03-20 13:19:18 -07:00
Karl Isenberg
4dbc0d22e1
chore: Update to Go v1.21
...
- go mod tidy (all modules)
- go work sync
- Fixed plugin generation for Go 1.21
- Updated linting for Go 1.21
- Fixed minecraft example for Helm v3 pull download path
- Update dev docs to mention Go 1.21
- Regenerate plugins with Go 1.21
2024-03-15 11:47:44 -07:00
koba1t
d35edbf80d
update dependencies google.golang.org/protobuf@v1.33.0
2024-03-14 17:27:48 +09:00
Ed Overton
14a9a9849f
test: correct lint issues
2024-03-11 15:16:11 -04:00
Matthew Hughes
8aafbacd17
Fix null YAML values being replaced by "null"
...
Related issues:
* https://github.com/kubernetes-sigs/kustomize/issues/5031
* https://github.com/kubernetes-sigs/kustomize/issues/5171
After noting this behaviour was not present in
d89b448c74 a `git bisect` pointed to the
change 1b7db20504 . The issue with that
change is that upon seeing a `null` node it would replace it with a node
whose value was equivalent but without a `!!null` tag. This meant that
one application of a patch would have the desired approach: the result
would be `null` in the output, but on a second application of a similar
patch the field would be rendered as `"null"`.
To avoid this, define a new attribute on `RNode`s that is checked before
clearing any node we should keep. The added
`TestApplySmPatch_Idempotency` test verifies this behaviour.
See also https://github.com/kubernetes-sigs/kustomize/pull/5365 for an
alternative approach
2024-03-09 17:31:35 +00:00
Ed Overton
4da880d6cb
Merge remote-tracking branch 'origin/master' into issue5540
2024-03-08 14:48:51 -05:00
Ed Overton
62eca858f3
test: add test for issue 5440
2024-03-08 14:33:09 -05:00
Tiago Silva
33caee50cb
Allow importing kustomize API's without relying on plugins ( #5525 )
...
* Allow importing kustomize API's without relying on `plugins`
Introduce `kustomize_disable_go_plugin_support` go build tag to decouple the kustomize
API from the `plugins` package dependency. This is advantageous for applications
embedding the kusstomize API without the need for dynamic Go plugins, mitigating an
increase in binary size associated with the inclusion of the plugins dependency
and the population of ELF sections like `.dynsym` and `.dynstr`.
The flag provides applications with the flexibility to exclude the import, catering to
scenarios where dynamic Go plugin support is unnecessary.
Signed-off-by: Tiago Silva <tiago.silva@goteleport.com >
* fix golint by disabling some lint checks
* handle code review suggestions
---------
Signed-off-by: Tiago Silva <tiago.silva@goteleport.com >
2024-02-27 08:22:51 -08:00
Kubernetes Prow Robot
db2240c9c1
Merge pull request #5541 from skitt/canonical-json-patch
...
Use canonical json-patch v4 import
2024-02-27 08:10:10 -08:00
koba1t
37715863f0
use Strict unmarshal when read TransformerConfig
2024-02-22 05:39:55 +09:00
Kubernetes Prow Robot
3e69c2e36a
Merge pull request #5510 from andreaskaris/kustomize-env-var-max-length
...
Skip KUSTOMIZE_PLUGIN_CONFIG_* env variables when too large
2024-02-21 09:35:01 -08:00
Andreas Karis
17eab513e9
Skip KUSTOMIZE_PLUGIN_CONFIG_* env variables when too large
...
Kustomize sets the legacy KUSTOMIZE_PLUGIN_CONFIG_STRING and
KUSTOMIZE_PLUGIN_CONFIG_ROOT environment variables. When these
environment variables exceed a hardcoded length (PAGE_SIZE * 32 on most
Linux systems), the kernel will return `argument list too long`. Given
that the environment variables are legacy, log a warning and do not set
them if they exceed 131071 bytes.
Reported-at: https://github.com/kubernetes-sigs/kustomize/issues/5480
Signed-off-by: Andreas Karis <ak.karis@gmail.com >
2024-02-21 17:36:09 +01:00
Ed Overton
f80650e8ce
fix: improve accumulation failure message
...
For accumulation errors when the file load fails due to malformed
YAML and the base load fails due to a timeout, report both errors.
Previously only the malformed YAML error was returned, masking the
git repo timeout.
2024-02-16 12:47:02 -05:00
Stephen Kitt
bcf100f592
Use canonical json-patch v4 import
...
The canonical import for json-patch v4 is
gopkg.in/evanphx/json-patch.v4 (see
https://github.com/evanphx/json-patch/blob/master/README.md#get-it for
reference).
Using the v4-specific path should also reduce the risk of unwanted v5
upgrade attempts (see
https://github.com/kubernetes/kubernetes/pull/120327 for context).
Signed-off-by: Stephen Kitt <skitt@redhat.com >
2024-02-16 12:23:04 +01:00
Dale Haiducek
9546529f1d
Include plugin stderr with wrapped error
...
This allows plugins to provide more details aside
from just `exit status 1` inside the error
Signed-off-by: Dale Haiducek <19750917+dhaiducek@users.noreply.github.com >
2024-02-15 09:48:21 -05:00
Krzysztof Gibuła
bf286dce76
wrap errors and add comments
2024-01-29 22:06:36 +01:00
Krzysztof Gibuła
d768fc371c
replace mergo with kyaml/yaml/merge2
2024-01-29 22:06:36 +01:00
koba1t
4675bec08a
add license for api/pkg/util/image/go
2024-01-29 23:18:51 +09:00
Kubernetes Prow Robot
69826668a7
Merge pull request #5234 from blackjid/bug_fix_set_image_digest_and_tag
...
fix edit set image to parse both tag and digest
2024-01-26 21:03:52 +01:00
Juan Ignacio Donoso
a85dfd4141
fix edit set image to parse both tag and digest
2024-01-26 16:30:41 -03:00
Kubernetes Prow Robot
abdcae870c
Merge pull request #5463 from chansuke/feat/show-version
...
Fix version tag management
2024-01-26 20:21:29 +01:00
charles-chenzz
3f921e159b
add testcase that yield malformed yaml errors
2024-01-08 19:25:04 +08:00
cui fliter
d56e1d0f46
fix some comments
...
Signed-off-by: cui fliter <imcusg@gmail.com >
2024-01-05 16:25:48 +08:00
chansuke
cd886102a9
Fix version tag management
2023-12-15 00:32:36 +09:00
Stephen Kitt
bf485f66d3
Revert "Switch to json-patch v5"
...
This reverts commit b692e49b1e .
The json-patch bump in k/k was reverted, so the corresponding bump in
kustomize should be reverted too.
Signed-off-by: Stephen Kitt <skitt@redhat.com >
2023-12-07 18:40:29 +01:00
koba1t
8eee90d2c6
Back to development mode; unpin the modules
2023-12-07 19:56:35 +09:00
koba1t
71f6f4c7d7
Update kyaml to v0.16.0
2023-12-07 19:00:00 +09:00
Nick
f23d45fcb4
Add deprecation warning message to commonLabels ( #5464 )
...
* Add commonLabels deprecation warning message
* Add test
* Add warningToRunEditFix message
2023-11-30 17:41:43 +01:00
Claudio Busse
7b1eaf1e4f
feat: localize absolute paths
2023-11-26 12:22:15 +01:00
Kubernetes Prow Robot
eb7f91ffcd
Merge pull request #5270 from MrFreezeex/helm-kube-api
...
helm: add support for kube-version and add cli args for both kube-version and api-versions
2023-11-15 21:13:59 +01:00
Kubernetes Prow Robot
e219b8864e
Merge pull request #5421 from prashantrewar/swap-yaml-library
...
Replace gopkg.in/yaml.v2 with sigs.k8s.io/yaml/goyaml.v2
2023-11-10 17:14:41 +01:00
Kubernetes Prow Robot
863ca93f0b
Merge pull request #5364 from 0xff-dev/master
...
fix: goroutine leak
2023-11-10 17:14:34 +01:00
Arthur Outhenin-Chalandre
dc29923a08
helm: add tests with different kubeVersion
...
Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@ledger.fr >
2023-11-09 11:37:14 +01:00
0xff-dev
f7bc0aced8
fix: goroutine leak
2023-11-06 13:12:22 +08:00
Kubernetes Prow Robot
b8443683f9
Merge pull request #5390 from chansuke/add-negative-test-for-kv
...
Add negative case for testing `keyValuesFromLine`
2023-11-03 17:29:43 +01:00
Carl Henrik Lunde
2fda12d220
perf: MakeDefaultConfig once ( #5082 )
...
* perf: MakeDefaultConfig once
This shaves of another 2 seconds (62%) of the remaining execution
time for a kustomization tree with 4000 documents, reducing the execution
time from 4.79s to 1.82s
0 0% 1.38% 2.98s 37.25% sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig.MakeDefaultConfig
before:
(pprof) top30 -cum
Showing nodes accounting for 1.82s, 22.75% of 8s total
Dropped 408 nodes (cum <= 0.04s)
Showing top 30 nodes out of 308
flat flat% sum% cum cum%
0 0% 0% 4.79s 59.88% github.com/spf13/cobra.(*Command).Execute
0 0% 0% 4.79s 59.88% github.com/spf13/cobra.(*Command).ExecuteC
0 0% 0% 4.79s 59.88% github.com/spf13/cobra.(*Command).execute
0 0% 0% 4.79s 59.88% main.main
0 0% 0% 4.79s 59.88% runtime.main
0 0% 0% 4.79s 59.88% sigs.k8s.io/kustomize/kustomize/v5/commands/build.NewCmdBuild.func1
0 0% 0% 4.22s 52.75% sigs.k8s.io/kustomize/api/krusty.(*Kustomizer).Run
0 0% 0% 4.18s 52.25% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).MakeCustomizedResMap (inline)
0 0% 0% 4.18s 52.25% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).makeCustomizedResMap
0 0% 0% 4.06s 50.75% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).AccumulateTarget
0 0% 0% 4.06s 50.75% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateResources
0 0% 0% 4.06s 50.75% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateTarget
0 0% 0% 4.05s 50.62% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateDirectory
0 0% 0% 3.22s 40.25% runtime.systemstack
0 0% 0% 3.03s 37.88% runtime.gcBgMarkWorker
0 0% 0% 3.03s 37.88% runtime.gcBgMarkWorker.func2
0.11s 1.38% 1.38% 3.03s 37.88% runtime.gcDrain
0 0% 1.38% 2.98s 37.25% sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig.MakeDefaultConfig
0 0% 1.38% 2.98s 37.25% sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig.MakeTransformerConfig
0 0% 1.38% 2.98s 37.25% sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig.makeTransformerConfigFromBytes
0 0% 1.38% 2.97s 37.12% sigs.k8s.io/yaml.yamlUnmarshal
0 0% 1.38% 2.91s 36.38% sigs.k8s.io/yaml.Unmarshal (inline)
1.34s 16.75% 18.12% 2.87s 35.88% runtime.scanobject
0 0% 18.12% 2.53s 31.62% sigs.k8s.io/yaml.yamlToJSON
0 0% 18.12% 1.91s 23.88% gopkg.in/yaml%2ev2.unmarshal
0 0% 18.12% 1.86s 23.25% gopkg.in/yaml%2ev2.Unmarshal (partial-inline)
0 0% 18.12% 1.43s 17.88% gopkg.in/yaml%2ev2.(*parser).parse
0.01s 0.12% 18.25% 1.27s 15.88% gopkg.in/yaml%2ev2.(*parser).document
0.01s 0.12% 18.38% 1.25s 15.62% gopkg.in/yaml%2ev2.(*parser).mapping
0.35s 4.38% 22.75% 1.21s 15.12% runtime.mallocgc
after:
(pprof) top30 -cum
Showing nodes accounting for 0.84s, 24.42% of 3.44s total
Dropped 225 nodes (cum <= 0.02s)
Showing top 30 nodes out of 345
flat flat% sum% cum cum%
0 0% 0% 1.82s 52.91% github.com/spf13/cobra.(*Command).Execute
0 0% 0% 1.82s 52.91% github.com/spf13/cobra.(*Command).ExecuteC
0 0% 0% 1.82s 52.91% github.com/spf13/cobra.(*Command).execute
0 0% 0% 1.82s 52.91% main.main
0 0% 0% 1.82s 52.91% runtime.main
0 0% 0% 1.82s 52.91% sigs.k8s.io/kustomize/kustomize/v5/commands/build.NewCmdBuild.func1
0 0% 0% 1.57s 45.64% runtime.systemstack
0 0% 0% 1.49s 43.31% runtime.gcBgMarkWorker
0 0% 0% 1.49s 43.31% runtime.gcBgMarkWorker.func2
0.03s 0.87% 0.87% 1.49s 43.31% runtime.gcDrain
0.62s 18.02% 18.90% 1.45s 42.15% runtime.scanobject
0 0% 18.90% 1.25s 36.34% sigs.k8s.io/kustomize/api/krusty.(*Kustomizer).Run
0 0% 18.90% 1.21s 35.17% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).MakeCustomizedResMap (inline)
0 0% 18.90% 1.21s 35.17% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).makeCustomizedResMap
0 0% 18.90% 1.08s 31.40% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).AccumulateTarget
0 0% 18.90% 1.08s 31.40% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateResources
0 0% 18.90% 1.08s 31.40% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateTarget
0 0% 18.90% 1.07s 31.10% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateDirectory
0 0% 18.90% 0.57s 16.57% sigs.k8s.io/kustomize/api/resmap.(*resWrangler).AsYaml
0 0% 18.90% 0.57s 16.57% sigs.k8s.io/kustomize/api/resource.(*Resource).AsYAML
0.11s 3.20% 22.09% 0.48s 13.95% runtime.mallocgc
0 0% 22.09% 0.45s 13.08% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateFile
0 0% 22.09% 0.45s 13.08% sigs.k8s.io/kustomize/api/resmap.(*Factory).FromFile
0 0% 22.09% 0.33s 9.59% sigs.k8s.io/kustomize/kyaml/yaml.(*RNode).MarshalJSON
0.08s 2.33% 24.42% 0.32s 9.30% runtime.greyobject
0 0% 24.42% 0.30s 8.72% sigs.k8s.io/kustomize/api/resmap.(*Factory).NewResMapFromBytes
0 0% 24.42% 0.27s 7.85% sigs.k8s.io/yaml.JSONToYAML
0 0% 24.42% 0.25s 7.27% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).runTransformers
0 0% 24.42% 0.25s 7.27% sigs.k8s.io/kustomize/api/resource.(*Factory).RNodesFromBytes
0 0% 24.42% 0.25s 7.27% sigs.k8s.io/kustomize/api/resource.(*Factory).SliceFromBytes
* Tests and comments for MakeDefaultConfig perf work
Document updated code in MakeDefaultConfig.
Add unit tests to ensure DeepCopy works.
Add hints to other code to ensure DeepCopy is kept up to date.
2023-11-02 22:54:42 +01:00
Arthur Outhenin-Chalandre
790ca0e7b6
helm: add kube-version and api-versions on CLI args
...
It makes sense to add that as a CLI args since you could use one single
kustomization file/helm chart for multiple clusters. Also it's easier to
have those on the CLI if the user has some kind of tooling that will end
up calling kustomize and that could pass those (i.e.: ArgoCD is doing
that for Helm so it could do that for Kustomize as well that will end up
calling Helm as well).
Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@ledger.fr >
2023-11-02 16:46:41 +01:00
Arthur Outhenin-Chalandre
d5dd5f4567
helm: add kube-version
...
Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@ledger.fr >
2023-11-02 16:46:41 +01:00