Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better syntax for ordered operations #5723

Open
1 of 2 tasks
TheSpiritXIII opened this issue Jun 20, 2024 · 1 comment
Open
1 of 2 tasks

Better syntax for ordered operations #5723

TheSpiritXIII opened this issue Jun 20, 2024 · 1 comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@TheSpiritXIII
Copy link

Eschewed features

  • This issue is not requesting templating, unstuctured edits, build-time side-effects from args or env vars, or any other eschewed feature.

What would you like to have added?

I want to apply transformers in order with a better UX.

Why is this needed?

For example, let's say I use labels to set all resources labels, but I want a few to be different. I want to use patches to modify the different labels, but sadly patches runs before labels.

It would be great if Kustomize supported some sort of operations field which let you list otherwise global fixed operations:

# These get applied in order.
operations:
- labels:
  - pairs:
      addonmanager.kubernetes.io/mode: Reconcile
- patchesStrategicMerge:
  - patch.yaml

Can you accomplish the motivating task without this feature, and if so, how?

I've been using transformers to accomplish this:

transformers
- |-
  apiVersion: builtin
  kind: LabelTransformer
  metadata:
    name: addonmanager
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
  fieldSpecs:
  - path: metadata/labels
    create: true
- |-
  apiVersion: builtin
  kind: PatchStrategicMergeTransformer
  metadata:
    name: labels
  paths:
  - patch.yaml

However, there's some downsides:

  • Notice I use the deprecated patch merge transformer... yet no warning.
  • No IDE support. Normally I get syntax highlighting and basic field validation except within the transformers.

What other solutions have you considered?

N/A

Anything else we should know?

No response

Feature ownership

  • I am interested in contributing this feature myself! 🎉
@TheSpiritXIII TheSpiritXIII added the kind/feature Categorizes issue or PR as related to a new feature. label Jun 20, 2024
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jun 20, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

SIG CLI takes a lead on issue triage for this repo, but any Kubernetes member can accept issues by applying the triage/accepted label.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests

2 participants