vmware / vmware/pinniped

Remove the custom labels feature

Open
#329 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement priority/undecided
Dominant language
Go
Stars
739
Forks
85
Avg merge
5d 5h
Merged PRs (30d)
1

Description

Is your feature request related to a problem? Please describe.
No, this would be a refactoring with no change in behavior. The code would be simplified.

Describe the solution you'd like
Use the "middleware" approach that we use to add owner references to also add custom labels when the operator chose to initially deploy the Concierge and/or Supervisor apps with custom labels (which is a feature of our ytt templates). Remove the code that explicitly passes around the custom labels into the controllers and remove the related unit tests from the controllers.

Describe alternatives you've considered
None.

Are you considering submitting a PR for this feature?
This is open for anyone to work on.

  • How will this project improvement be tested?
    One possibility is a new integration test similar to the existing uninstall tests.

  • How does this change the current architecture?
    It moves some code around, but no major changes.

  • How will this change be backwards compatible?
    The approach described above should be backwards compatible, I think. Resources that had custom labels applied by an older version of the software would still have them applied after upgrade. Newer versions would still apply custom labels, just using a new code path.

  • How will this feature be documented?
    It is already documented.

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

Trace the middleware that adds owner references, then compare it with the controller code that explicitly passes custom labels and its related unit tests. Review the ytt templates and existing uninstall integration tests; done means custom labels still apply through middleware while the redundant controller plumbing and tests are removed, with integration coverage if needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend, infrastructure
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.