mayadata-io / mayadata-io/d-operators

feat: add set action to recipe

Open
#128 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bulk recipe set unset
Dominant language
Go
Stars
10
Forks
6
PR merge metrics
No merged PRs in 30d

Description

ProblemStatement: As an automation engineer I want to set various fields of a resource from one or more resources. I want to set them on various conditions.

kind: Recipe
spec:
  tasks:
  - name:
    set:
      target:
        apiVersion:
        kind:
        name:
        namespace:
      withLabel:
        keys:
        - abc.io/name
        when:
      withAnnotation:
        keys:
        - abc.io/name
        when:
      withValue:
        items:
        - targetPath:
          sourcePath:
          default:
        when:
      fromSource:
        apiVersion:
        kind:
        name:
        namespace:
        when:
  • Read above schema as:
    • Set target resource with values, labels &/or annotations from source resource
  • Does this call for implementation of unset action as well?
  • Need to design setAll & bulkSet actions as well

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Recipe task schema in the issue and locating the existing action handling for recipes. Clarify the scope and semantics of set, conditional label and annotation updates, value mapping, and source copying before deciding whether unset, setAll, and bulkSet belong in this work. Done should include an agreed design and implementation plan, with tests covering the defined behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.