github.com/argoproj/argo-cd/v2@v2.10.9/docs/operator-manual/applicationset/Generators-Post-Selector.md (about)

     1  # Post Selector all generators
     2  
     3  The Selector allows to post-filter based on generated values using the Kubernetes common labelSelector format. In the example, the list generator generates a set of two application which then filter by the key value to only select the `env` with value `staging`:
     4  
     5  ## Example: List generator + Post Selector
     6  ```yaml
     7  apiVersion: argoproj.io/v1alpha1
     8  kind: ApplicationSet
     9  metadata:
    10    name: guestbook
    11  spec:
    12    goTemplate: true
    13    goTemplateOptions: ["missingkey=error"]
    14    generators:
    15    - list:
    16        elements:
    17          - cluster: engineering-dev
    18            url: https://kubernetes.default.svc
    19            env: staging
    20          - cluster: engineering-prod
    21            url: https://kubernetes.default.svc
    22            env: prod
    23      selector:
    24        matchLabels:
    25          env: staging
    26    template:
    27      metadata:
    28        name: '{{.cluster}}-guestbook'
    29      spec:
    30        project: default
    31        source:
    32          repoURL: https://github.com/argoproj-labs/applicationset.git
    33          targetRevision: HEAD
    34          path: examples/list-generator/guestbook/{{.cluster}}
    35        destination:
    36          server: '{{.url}}'
    37          namespace: guestbook
    38  ```
    39  
    40  The List generator + Post Selector generates a single set of parameters:
    41  
    42  ```yaml
    43  - cluster: engineering-dev
    44    url: https://kubernetes.default.svc
    45    env: staging
    46  ```
    47  
    48  It is also possible to use `matchExpressions` for more powerful selectors.
    49  
    50  ```yaml
    51  spec:
    52    generators:
    53      - clusters: {}
    54        selector:
    55          matchExpressions:
    56            - key: server
    57              operator: In
    58              values:
    59                - https://kubernetes.default.svc
    60                - https://some-other-cluster
    61  ```