---
title: "Filing Bugs"
linkTitle: "Filing Bugs"
type: docs
weight: 10
description: >
    How to file bugs and fix Kustomize bugs
---

[krusty package]: https://github.com/kubernetes-sigs/kustomize/tree/master/api/krusty
[reusable custom transformer test]: https://github.com/kubernetes-sigs/kustomize/tree/master/api/krusty/customconfigreusable_test.go
[example PR]: https://github.com/kubernetes-sigs/kustomize/pull/4683

File [issues](https://github.com/kubernetes-sigs/kustomize/issues) as desired, but if you've found a problem
with how `kustomize build` works, please report:

* the output of `kustomize version`,
* the input (the content of `kustomization.yaml`
   and any files it refers to),
* the expected YAML output.

## If you have `go` installed

kustomize has a simple test harness in the [krusty
package] for specifying a kustomization's input and the
expected output.

Copy one of those tests, e.g. this [reusable custom
transformer test], to a new test file in the
krusty package.

Insert the inputs you want to use, and run it as
you'd run the reusable custom transformer test:

```
(cd api; go test -run TestReusableCustomTransformers ./krusty)
```

The output will demonstrate the bug or missing feature.

Record this output in the test file in a call to
`AssertActualEqualsExpected`, per all the other tests
in the [krusty package].  This makes the test pass,
albeit with output demonstrating behavior you
presumably want to change.

Send the new test in a PR, along with commentary (in
the test) on what you'd prefer to see. You can refer to this [example PR]

The person who fixes the bug then has a clear bug
reproduction and a test to modify when the bug is
fixed.

Any bug fix first requires a test demonstrating the bug
(so we have permanent regression coverage), so if the
_bug reporter_ does this, it saves time and avoids
misunderstandings.
