2 min read | by Jordi Prats
While writing Kustomize patches you might come across is the need to escape certain characters, such as the forward slash (/
). This can be a bit tricky since the common conventions on how to escape a character don't apply here.
In Kustomize, the forward slash character is used to separate different parts of a resource's path. But if you have an annotation that contain a forward slash you'll need to escape it otherwise looks like is referencing a different path within the object.
To escape escape a forward slash in Kustomize is to use the ~1
instead of the forward slash, for example:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
patches:
- op: remove
path: /metadata/annotations/pet2cattle.com~1example
Notice how we are using the ~1 notation to escape the forward slash in the annotation name: We are pointing to pet2cattle.com/example
in the path .metadata.annotations
Posted on 03/05/2023