turbonomic / orm

Operator Resource Mapping
Apache License 2.0
5 stars 13 forks source link

Allow predefined selectors #29

Closed kuanf closed 1 year ago

kuanf commented 1 year ago

The duplicated long list of label selector to address different path with same group of owned resource looks clumsy. I think we can allow predefined selector (like parameters) to be reused. something like this:

...
spec:
...
  mappings:
    selectors:
      core: 
        matchExpressions:
        - key: app.kubernetes.io/name
          operator: In
          values:
          - action-orchestrator
          - api
          - auth
          - clustermgr
          ...
    patterns:
    - ownerPath: .spec.{{.owned.name}}.resources
      owned:
        path: .spec.template.spec.containers[?(@.name=="{{.owned.name}}")].resources
        apiVersion: apps/v1
        kind: Deployment
        selector: core
    - ownerPath: .spec.{{.owned.name}}.replicaCount
      owned:
        path: .spec.replicas
        apiVersion: apps/v1
        kind: Deployment
        selector: core    
pallavidn commented 1 year ago

Are the selectors in addition to the parameters (used in the paths) ?