Add Kustomize-style patches support #148
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements Kustomize-style patches support for chartify, adding a unified
patchesfield that can handle both Strategic Merge Patches and JSON Patches with automatic type detection.Overview
The new
Patchesfield inChartifyOptsprovides a modern, unified interface for applying patches that matches Kustomize's native patches functionality. This complements the existingJsonPatchesandStrategicMergePatchesfields while maintaining full backward compatibility.Key Features
Auto-detection of Patch Types
Chartify automatically detects whether a patch is a Strategic Merge Patch or JSON Patch based on content structure:
opandpathfieldsFile-based and Inline Patches
Target Specification for JSON Patches
CLI Integration
New
--patchflag provides easy access to the patches functionality:Implementation Details
PatchandPatchTargetstructs to match Kustomize's patches field structurepatch.go--patchflag for file-based patchesTesting
--strategic-merge-patchandJsonPatches/StrategicMergePatchesfields continue workingBackward Compatibility
This change is fully backward compatible:
JsonPatchesandStrategicMergePatchesfields continue to work unchanged--strategic-merge-patchCLI flag continues to work unchangedFixes #94.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.