{"id":36530404,"url":"https://github.com/devopshivehq/kustomize-plugin-merger","last_synced_at":"2026-01-14T11:45:50.088Z","repository":{"id":193603721,"uuid":"688675400","full_name":"DevOpsHiveHQ/kustomize-plugin-merger","owner":"DevOpsHiveHQ","description":"🔀 Merger 🔀 A Kustomize plugin generating manifests seamlessly by extending Kustomize merge strategies (schemaless StrategicMerge).","archived":false,"fork":false,"pushed_at":"2026-01-11T13:00:15.000Z","size":181,"stargazers_count":37,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-11T14:47:10.041Z","etag":null,"topics":["golang","krm","kubernetes","kustomize","kustomize-plugin","merge"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevOpsHiveHQ.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-07T21:29:08.000Z","updated_at":"2025-11-15T22:42:06.000Z","dependencies_parsed_at":"2023-09-09T01:37:39.170Z","dependency_job_id":"cd5e79ac-de95-455d-ae90-c5c07d3fdef5","html_url":"https://github.com/DevOpsHiveHQ/kustomize-plugin-merger","commit_stats":null,"previous_names":["aabouzaid/kustomize-plugin-merger","devopshivecloud/kustomize-plugin-merger","devopshivehq/kustomize-plugin-merger"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/DevOpsHiveHQ/kustomize-plugin-merger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevOpsHiveHQ%2Fkustomize-plugin-merger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevOpsHiveHQ%2Fkustomize-plugin-merger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevOpsHiveHQ%2Fkustomize-plugin-merger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevOpsHiveHQ%2Fkustomize-plugin-merger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevOpsHiveHQ","download_url":"https://codeload.github.com/DevOpsHiveHQ/kustomize-plugin-merger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevOpsHiveHQ%2Fkustomize-plugin-merger/sbom","scorecard":{"id":1238463,"data":{"date":"2024-10-15T03:48:55Z","repo":{"name":"github.com/DevOpsHiveHQ/kustomize-plugin-merger","commit":"7d494d850dc4717ca1b969305925f43e5f902aae"},"scorecard":{"version":"v5.0.0","commit":"ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4"},"score":8,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#branch-protection"}},{"name":"CI-Tests","score":8,"reason":"17 out of 20 merged PRs checked by a CI test -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#ci-tests"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":0,"reason":"Found 0/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#code-review"}},{"name":"Contributors","score":10,"reason":"project has 5 contributing companies or organizations","details":["Info: camunda contributor org/company found, saltstack-formulas contributor org/company found, zeebe-io contributor org/company found, librebooks contributor org/company found, camunda-cloud contributor org/company found, "],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#contributors"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#dangerous-workflow"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: RenovateBot: .github/renovate.json5:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#dependency-update-tool"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#license"}},{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":8,"reason":"dependency not pinned by hash detected -- score normalized to 8","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/tpl-packaging.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/DevOpsHiveHQ/kustomize-plugin-merger/tpl-packaging.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Info:  22 out of  22 GitHub-owned GitHubAction dependencies pinned","Info:   9 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 18 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#sast"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":8,"reason":"5 out of the last 5 releases have a total of 5 signed artifacts.","details":["Info: signed release artifact: kustomize-plugin-merger_2.1.1_checksums.txt.sig: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/assets/193109555","Info: signed release artifact: kustomize-plugin-merger_2.1.0_checksums.txt.sig: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/assets/187262946","Info: signed release artifact: kustomize-plugin-merger_2.0.0_checksums.txt.sig: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/assets/151020150","Info: signed release artifact: kustomize-plugin-merger_1.1.0_checksums.txt.sig: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/assets/126482229","Info: signed release artifact: kustomize-plugin-merger_1.0.0_checksums.txt.sig: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/assets/125598920","Warn: release artifact v2.1.1 does not have provenance: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/175403531","Warn: release artifact v2.1.0 does not have provenance: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/171165293","Warn: release artifact v2.0.0 does not have provenance: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/141545802","Warn: release artifact v1.1.0 does not have provenance: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/121455689","Warn: release artifact v1.0.0 does not have provenance: https://api.github.com/repos/DevOpsHiveHQ/kustomize-plugin-merger/releases/120567002"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#signed-releases"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'packages' permission set to 'write': .github/workflows/go-ci.yml:40","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/go-ci.yml:39","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/go-pre-release.yml:17","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/go-pre-release.yml:18","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/go-release.yml:16","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/go-release.yml:18","Info: jobLevel 'actions' permission set to 'read': .github/workflows/sec-codeql.yml:21","Info: jobLevel 'contents' permission set to 'read': .github/workflows/sec-codeql.yml:22","Info: topLevel 'contents' permission set to 'read': .github/workflows/deps-renovate.yaml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/deps-review.yml:13","Info: topLevel 'contents' permission set to 'read': .github/workflows/go-ci.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/go-pre-release.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/go-release.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/sec-codeql.yml:14","Info: topLevel permissions set to 'read-all': .github/workflows/sec-scorecard.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/tpl-packaging.yml:29"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#token-permissions"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-10-04T04:09:51.611Z","repository_id":193603721,"created_at":"2025-10-04T04:09:51.611Z","updated_at":"2025-10-04T04:09:51.611Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28332831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","krm","kubernetes","kustomize","kustomize-plugin","merge"],"created_at":"2026-01-12T03:00:11.197Z","updated_at":"2026-01-12T03:00:14.761Z","avatar_url":"https://github.com/DevOpsHiveHQ.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/DevOpsHiveHQ/kustomize-plugin-merger\" style=\"display: block; padding: 1em 0;\"\u003e\n    \u003cimg width=\"128px\" alt=\"Kustomize Merger Logo\" border=\"0\" src=\"img/kustomize-merger-logo.svg\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1\u003eKustomize Merger\u003c/h1\u003e\n\u003cp\u003e\u003cb\u003e\n\nA Kustomize generator plugin to merge YAML files seamlessly for real-world use cases. Merger provides schemaless merge with different merge strategies (StrategicMerge).\n\n\u003c/b\u003e\u003c/p\u003e\n\n[![Awesome Kustomize](https://devopshive.net/badges/awesome-kustomize.svg)](https://github.com/DevOpsHiveHQ/awesome-kustomize)\n\n[![CI](https://img.shields.io/github/actions/workflow/status/aabouzaid/kustomize-plugin-merger/.github%2Fworkflows%2Fgo-ci.yml?logo=github\u0026label=CI\u0026color=31c653)](https://github.com/DevOpsHiveHQ/kustomize-plugin-merger/actions/workflows/go-ci.yml?query=branch%3Amain)\n[![CodeQL](https://img.shields.io/github/actions/workflow/status/aabouzaid/kustomize-plugin-merger/.github%2Fworkflows%2Fgo-ci.yml?logo=github\u0026label=CodeQL\u0026color=31c653)](https://github.com/DevOpsHiveHQ/kustomize-plugin-merger/actions/workflows/sec-codeql.yml?query=branch%3Amain)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7815/badge)](https://www.bestpractices.dev/projects/7815)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/DevOpsHiveHQ/kustomize-plugin-merger/badge)](https://securityscorecards.dev/viewer/?uri=github.com/DevOpsHiveHQ/kustomize-plugin-merger)\n[![Go Report Card](https://goreportcard.com/badge/github.com/DevOpsHiveHQ/kustomize-plugin-merger)](https://goreportcard.com/report/github.com/DevOpsHiveHQ/kustomize-plugin-merger)\n[![codecov](https://codecov.io/github/aabouzaid/kustomize-plugin-merger/graph/badge.svg?token=BUFRT7BO2I)](https://codecov.io/github/aabouzaid/kustomize-plugin-merger)\n[![GitHub Release](https://img.shields.io/github/v/release/aabouzaid/kustomize-plugin-merger?logo=github)](https://github.com/DevOpsHiveHQ/kustomize-plugin-merger/releases)\n[![Docker](https://img.shields.io/badge/Docker-available-blue?logo=docker\u0026logoColor=white)](https://github.com/DevOpsHiveHQ/kustomize-plugin-merger/pkgs/container/kustomize-generator-merger)\n[![Go Reference](https://pkg.go.dev/badge/github.com/DevOpsHiveHQ/kustomize-plugin-merger.svg)](https://pkg.go.dev/github.com/DevOpsHiveHQ/kustomize-plugin-merger)\n[![Renovate](https://img.shields.io/badge/Renovate-enabled-blue?logo=renovatebot)](https://github.com/DevOpsHiveHQ/kustomize-plugin-merger/issues/7)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/DevOpsHiveHQ/kustomize-plugin-merger/pulls)\n\n\u003c/div\u003e\n\n- [Why](#why)\n- [Features](#features)\n- [Options](#options)\n- [Examples](#examples)\n  - [1. Generate multiple manifests from a single base](#1-generate-multiple-manifests-from-a-single-base)\n  - [2. Merge non-manifest files and store them into ConfigMap or Secret](#2-merge-non-manifest-files-and-store-them-into-configmap-or-secret)\n  - [3. Merge lists in manifests without schema or a unique identifier](#3-merge-lists-in-manifests-without-schema-or-a-unique-identifier)\n  - [4. Organize long manifests into smaller ones](#4-organize-long-manifests-into-smaller-ones)\n- [TO-DO](#to-do)\n- [Project status](#project-status)\n- [Contributing](#contributing)\n- [License](#license)\n\n\n## Why\n\n**The main goal of the `Merger` plugin is to provide a more flexible way to merge YAML files\nand extend the strict merge capacities of Kustomize.**\n\nKustomize's default patch strategy for the lists (arrays) is `replace`, and to change that\nfor the Kubernetes `Custom Resource`, you must provide the OpenAPI schema of that custom resource,\nwhich is only helpful if the lists of that CR have a unique id.\n\nMany people are asking for such functionalities as [easy merging CRs](https://stackoverflow.com/q/73655002/4547221),\n[creating a ConfigMap from arbitrary YAML files](https://stackoverflow.com/q/74547569/4547221),\nand for more details on the challenge of providing OpenAPI schema to merge files, please read the following post:\n[Set OpenAPI patch strategy for Kubernetes Custom Resources](https://tech.aabouzaid.com/2022/11/set-openapi-patch-strategy-for-kubernetes-custom-resources-kustomize.html).\n\n\n## Features\n\n- Generate multiple resources/manifests from a single base without copying the resources multiple times.\n- Merge any manifests (even CustomResources) without needing their OpenAPI schema.\n- Merge applications configuration YAML files into a ConfigMap or Secret.\n- Merge manifests with a list of maps without a unique identifier\n  (when using `x-kubernetes-patch-merge-key` is not possible).\n- Merge YAML files with different merge strategies (StrategicMerge).\n\n\n## Options\n\n```yaml\n---\napiVersion: generators.kustomize.devopshive.net/v1alpha1\nkind: Merger\nmetadata:\n  name: merge\n  annotations:\n    # Containerized KRM function.\n    config.kubernetes.io/function: |\n      container:\n        image: ghcr.io/devopshivehq/kustomize-generator-merger\n        mounts:\n        - type: bind\n          src: ./\n          dst: /mnt\n    # Exec KRM functions.\n    # config.kubernetes.io/function: |\n    #   exec:\n    #     path: kustomize-plugin-merger\nspec:\n  resources:\n  - name: example\n    input:\n      # Available options: overlay,patch.\n      # - Overlay: Produce multiple outputs by merging each source with the destination.\n      # - Patch: Produce a single output by merging all sources together then with the destination.\n      method: overlay\n      files:\n        # The same as in the KRM container above, omit it if Exec KRM is used.\n        root: /mnt\n        sources:\n        - src01.yaml\n        - src02.yaml\n        destination: dst.yaml\n    merge:\n      # Available options: replace,append,combine.\n      # - Replace: All keys in source will merge and replace what's in the destination.\n      # - Append: Maps from source merged with destination, but the lists will be appended from source to destination.\n      # - Combine: Maps from source merged with destination, but the lists will be combined together.\n      strategy: combine\n    output:\n      # Available options: raw,configmap,secret\n      format: raw\n      # Optional: Add custom annotations to output manifest.\n      annotations:\n        app.kubernetes.io/created-by: \"kustomize-merger\"\n```\n\n\n## Examples\n\nThis section shows a couple of use cases where Merger can help.\n\n### 1. Generate multiple manifests from a single base\n\nIn this case, you have multiple `CronJobs`, all of which share the same body,\nbut each has a different command or other config.\n\n[Read the full example](./examples/multiple-manifests-from-single-file/README.md).\n\n### 2. Merge non-manifest files and store them into ConfigMap or Secret\n\nNo plans from Kustomize to support non-manifest files merge and storing them into ConfigMap\nor Secret. Using Merger you can merge any YAML files like application configuration.\n\n[Read the full example](./examples/non-manifest-into-configmap-or-secret/README.md).\n\n### 3. Merge lists in manifests without schema or a unique identifier\n\nCurrently, in Kustomize, it's not possible to merge resources without a unique identifier, even with Open API schema.\n\nIt's possible to do that using the merge strategy `append` in Merger (later on, `combineWithKey` will also be supported).\n\n[Read the full example](./examples/manifest-lists-without-schema/README.md).\n\n### 4. Organize long manifests into smaller ones\n\nIn some use cases (e.g., [Crossplane Compositions](https://docs.crossplane.io/latest/concepts/compositions/)),\nyou could have a really long YAML manifest, and it's hard to read. You can split that file\nand use the Merger `patch` input method to make it a single manifest again.\n\n[Read the full example](./examples/long-omni-manifest/README.md).\n\n\n## TO-DO\n\n- Support `combine` merge strategy with an identifier key (similar to `x-kubernetes-patch-merge-key`).\n- Configure the output indentation.\n- Provide better docs for Merger options.\n\n\n## Project status\n\nPlease note that this project is still under development and could have breaking changes,\nbut it will follow the SemVer convention.\n\n\n## Contributing\n\nAll feedback and contributions are welcome. If you find any issues or want to contribute,\nplease feel free to [fill an issue](https://github.com/DevOpsHiveHQ/kustomize-plugin-merger/issues)\nor [create a PR](https://github.com/DevOpsHiveHQ/kustomize-plugin-merger/pulls).\n\n\n## License\n\nMerger is an open-source software licensed using the Apache License 2.0. Please see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopshivehq%2Fkustomize-plugin-merger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevopshivehq%2Fkustomize-plugin-merger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopshivehq%2Fkustomize-plugin-merger/lists"}