kubesphere/kubesphere · error
empty repository name
Error message
empty repository name
What it means
GetRepositoryTags guards the required 'repository' query parameter: it is empty, so there is nothing to query tags for and the request is rejected 400 before any registry call. Clients must pass ?repository=<name> alongside namespace/secret parameters.
Source
Thrown at pkg/kapis/resources/v1alpha3/handler.go:185
canonicalizeRegistryError(request, response, err)
return
}
response.WriteHeaderAndJson(http.StatusOK, config, restful.MIME_JSON)
}
// GetRepositoryTags fetchs all tags of given repository, no paging.
func (h *handler) GetRepositoryTags(request *restful.Request, response *restful.Response) {
secretName := request.QueryParameter("secret")
namespace := request.PathParameter("namespace")
repository := request.QueryParameter("repository")
q := query.ParseQueryParameter(request)
var secret *v1.Secret
if len(repository) == 0 {
api.HandleBadRequest(response, request, fmt.Errorf("empty repository name"))
return
}
if len(secretName) != 0 {
object, err := h.resourceGetterV1alpha3.Get("secrets", namespace, secretName)
if errors.IsNotFound(err) {
api.HandleNotFound(response, request, err)
}
secret = object.(*v1.Secret)
}
tags, err := h.registryHelper.ListRepositoryTags(secret, repository)
if err != nil {
canonicalizeRegistryError(request, response, err)
return
}
if !q.Ascending {View on GitHub (pinned to 04a29b5c60)
Solutions
- Add the repository query parameter, e.g. ?repository=library/nginx
- Ensure the frontend form sends the repository field for this endpoint
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/kapis/resources/v1alpha3/handler.go:185 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubesphere/kubesphere@04a29b5c60 (2026-09-03).
Data as JSON: /api/errors/b950249753123f93.
Report an issue: GitHub.