Move SecretEntityType off EntityType onto DanglingFieldType
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 368
Description
SecretEntityType is declared as an EntityType and wired as a system entity group, but there is no secrets table. Both of its actions — GetSecretStatusAction and ReencryptSecretsAction — reach the stored secrets of every encrypted column across the tables holding them, so no row of its own is ever named.
A secret is a field several entities carry, and the owner is therefore not one fixed entity kind. That is a DanglingFieldType.
Scope:
- Redeclare SecretEntityType as a DanglingFieldType in common/data/entity/secret.py and rename it accordingly
- Rewire the secret service off the system entity group onto a field group in manager/services/factory.py
- Update src/ai/backend/common/data/entity/KNOWLEDGE.md, which records this move as still pending
Done when:
- The type is a DanglingFieldType and answers None for its owner
- Both secret actions run through field wiring
- No unclassified entity type remains for secret
JIRA Issue: BA-7787
Contributor guide
Research direction
Read common/data/entity/secret.py to locate SecretEntityType and its actions, then inspect manager/services/factory.py for the current system-entity wiring. Update the entity declaration, field wiring, and src/ai/backend/common/data/entity/KNOWLEDGE.md; done means the type is a DanglingFieldType with no owner, both actions use field wiring, and no secret entity type remains unclassified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, documentation
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100