* add tagsuffix to take image tag suffix
* add comments to warn about specifications
* add test and error handle
* fix indent
* update comment
* fix merge errors and return updates
* update image update and fix example
* fix yamls formats
remove tabs in yamls
fix space in image name
tag error in name
* fix spacing issue
format of yaml
set example as above
* spacing of spec in testing templates
* change to switch case
* Raise error if duplicate orgids for external transformers or external generators are configured
* Remove output of resources in error message
* Remove trailing newline
* check tag values for double quoting
* reuse setentry
* don't override single quotes in merge and fix cm generator immutable val
* get rid of comment
* starlark annotation tests
* don't commit test image changes
* set network to bool
* isSet bool
* updating e2e config tool
* leave createtag
* fn command failing unmarshal test
* fn command test
* don't set style in run-fs
* use setentry to set tag
* remove e2e test changes and make IsStringValue an RNode method
* WIP
* Fix merge corner cases
* Add test for explicit !!merge tag
* Fix tests
* Cleanup
* Cleanup
* Fix deanchoring lists
* Add test case for keeping comments
* Add MapEntrySetter and fix json marshalling after deanchoring
* Keep duplicated keys
* Move MergeTag definition to yaml alias
* Remove go-spew from api
* Add support for sequence nodes on merge tags
* Add docstring to MapEntrySetter.Key
* Add docstring to MapEntrySetter struct
* Add tests to MapEntrySetter
* Fix duplicate merge key
* Revert whitespace changes on forked go-yaml
* Remove AssocMapEntry function
* Refactoring merge order
* Return errors on VisitFields and PipeE
* Add tests for each non-conforming map merges
Erasing the scalar type tag leads to unfortunate circumstances, in that
the resulting yaml code is valid yaml, but will not meet the object
spec.
For example, using the replacement transformer to take a port number as
a string from a ConfigMap and set a Pod port would previously end up
with:
- containerPort: "8080"
when the spec requires that this is not a string:
- containerPort: 8080
Added unit tests for conversion to and from integers and booleans, plus
creation from string and creation from integer.
The creation behavior needs some refinement in a future PR.
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
* Fix image name parsing with name and digest
Image names may contain both tag name and digest. For example
`nginx:1.21.5@sha256:7826426c9d8d310c62fc68bcd5e8dde70cb39d4fbbd30eda3b1bd03e35fbde29`. Kustomizations with image transforms will not match
these image because the image parser assumes either a tag or digest, but not
both.
For a real life example of kuberenetes deployments that might need to perform
these types of transforms is from the [tekton-pipelines](https://github.com/tektoncd/pipeline) project (see the release.yaml).
* Return digest property from image name parser
image.Split now returns 3 fields: name, tag, and digest. The tag and digest
fields no longer include their respective delimiters (`:` and `@`).
* Fix merge file indentation
* Refactor imagetag updater string builder
This change updates the suffix filter to implement the TrackableFilter
interface. This provides the functionality for the user to track which
fields were updated by the suffix filter.
This change updates the replicacount filter to implement the
TrackableFilter interface. This provides the functionality for the
user to track which fields were updated by the replicacount filter.