lablup / lablup/backend.ai

Move SecretEntityType off EntityType onto DanglingFieldType

Open
#14,457 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.