Class: Kustomize::Transform::PurgeInternalAnnotationsTransform
- Inherits:
-
Kustomize::Transform
- Object
- Kustomize::Transform
- Kustomize::Transform::PurgeInternalAnnotationsTransform
- Includes:
- Accessory, Singleton
- Defined in:
- lib/kustomize/transform/purge_internal_annotations_transform.rb
Constant Summary collapse
- LENSES =
[ Lens['metadata', 'annotations'], Lens['spec', 'template', 'metadata', 'annotations'], Lens['spec', 'jobTemplate', 'spec', 'template', 'metadata', 'annotations'] ]
- INTERNAL_ANNOT_PATTERNS =
[ /^config\.kubernetes\.io\//, /^kustomizer\.covalenthq\.com\// ]
Instance Method Summary collapse
Methods inherited from Kustomize::Transform
create, #inspect, #rewrite_all
Instance Method Details
#rewrite(rc_doc) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/kustomize/transform/purge_internal_annotations_transform.rb', line 22 def rewrite(rc_doc) LENSES.inject(rc_doc) do |doc, lens| lens.update_in(rc_doc) do |orig_annots| next(:keep) unless orig_annots and orig_annots.length.nonzero? new_annots = orig_annots.reject{ |k, v| INTERNAL_ANNOT_PATTERNS.any?{ |pat| pat.match?(k) } } if new_annots.length == orig_annots.length :keep elsif new_annots.empty? :pop else [:set, new_annots] end end end end |