-
Notifications
You must be signed in to change notification settings - Fork 68
feat: stub secrets API endpoints #667
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: notebooks-v2
Are you sure you want to change the base?
feat: stub secrets API endpoints #667
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
5e56656 to
be67e88
Compare
|
/ok-to-test |
|
|
||
| // SecretValue represents a secret value with base64 encoding | ||
| type SecretValue struct { | ||
| Base64 string `json:"base64,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A secret value can be empty, so it needs to be a pointer to a string.
This commit introduces a stub of the secrets management API to the Kubeflow Notebooks
workspace backend. It is intended to bootstrap API development but will require
follow up work to actually implement the business logic in line with the API proposal.
**API Endpoints Added:**
- GET /api/v1/secrets/{namespace} - List all secrets in namespace
- POST /api/v1/secrets/{namespace} - Create new secret
- GET /api/v1/secrets/{namespace}/{name} - Get specific secret details
- PUT /api/v1/secrets/{namespace}/{name} - Update existing secret
- DELETE /api/v1/secrets/{namespace}/{name} - Delete secret
**Key Features:**
- Complete data models for secret operations (create, update, list, detail)
- Comprehensive validation for secret keys and base64-encoded values
- Full Swagger/OpenAPI documentation generation
- Integration with existing authentication and authorization middleware
- Support for secret mounting information and audit trails
- Proper error handling and HTTP status codes
**Known Omissions:**
- No repository/ support for the stubbed API implementations
- API serves mocked data for all requests and does not actually interact k8s cluster
- Unit tests are very crude and presently rely on mocked data
- Missing business logic for majority of API handlers
This implementation provides the foundation for frontend integration to manage Kubernetes
secrets through the workspace interface.
Signed-off-by: Andy Stoneberg <astonebe@redhat.com>
be67e88 to
895e384
Compare
related: #655
This commit introduces a stub of the secrets management API to the Kubeflow Notebooks
workspace backend.
API Endpoints Added:
Key Features:
Known Omissions:
This implementation provides the foundation for frontend integration to manage Kubernetes
secrets through the workspace interface.