fix: correct error message case and use accessWithAdmin for filesConnector

- Fixed error message to use lowercase 'admin role is required'
- Fixed filesConnector to use accessWithAdmin for proper role fallback
- Formatted code
This commit is contained in:
Roberto Jimenez Sanchez
2025-12-17 20:28:30 +01:00
parent 2e7942fd6f
commit fc5ad29b68
5 changed files with 3 additions and 6 deletions
@@ -3,6 +3,7 @@ package auth
import (
"context"
"fmt"
"strings"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -88,6 +89,5 @@ func (c *sessionAccessChecker) Check(ctx context.Context, req authlib.CheckReque
return nil // Fallback succeeded
}
return apierrors.NewForbidden(gr, req.Name, fmt.Errorf("permission denied"))
return apierrors.NewForbidden(gr, req.Name, fmt.Errorf("%s role is required", strings.ToLower(string(c.fallbackRole))))
}
@@ -248,4 +248,3 @@ func TestSessionAccessChecker_FillsNamespace(t *testing.T) {
err := checker.Check(ctx, req, "")
require.NoError(t, err)
}
@@ -60,4 +60,3 @@ func (c *tokenAccessChecker) Check(ctx context.Context, req authlib.CheckRequest
}
return nil
}
@@ -141,4 +141,3 @@ func (m *mockInnerAccessChecker) Check(_ context.Context, _ authlib.AuthInfo, _
func (m *mockInnerAccessChecker) Compile(_ context.Context, _ authlib.AuthInfo, _ authlib.ListRequest) (authlib.ItemChecker, authlib.Zookie, error) {
return nil, nil, nil
}
+1 -1
View File
@@ -630,7 +630,7 @@ func (b *APIBuilder) UpdateAPIGroupInfo(apiGroupInfo *genericapiserver.APIGroupI
// TODO: Add some logic so that the connectors can registered themselves and we don't have logic all over the place
storage[provisioning.RepositoryResourceInfo.StoragePath("test")] = NewTestConnector(b, repository.NewRepositoryTesterWithExistingChecker(repository.NewSimpleRepositoryTester(b.validator), b.VerifyAgainstExistingRepositories))
storage[provisioning.RepositoryResourceInfo.StoragePath("files")] = NewFilesConnector(b, b.parsers, b.clients, b.access)
storage[provisioning.RepositoryResourceInfo.StoragePath("files")] = NewFilesConnector(b, b.parsers, b.clients, b.accessWithAdmin)
storage[provisioning.RepositoryResourceInfo.StoragePath("refs")] = NewRefsConnector(b)
storage[provisioning.RepositoryResourceInfo.StoragePath("resources")] = &listConnector{
getter: b,