providers

package
v0.1.0-alpha.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidPrincipal = errors.New("invalid principal")
)

Functions

func DeniedMessage

func DeniedMessage(principal, action, resource *fencev1.UID) string

func UIDToString

func UIDToString(u *fencev1.UID) string

Types

type CachedProvider

type CachedProvider struct {
	// contains filtered or unexported fields
}

func NewCachedProvider

func NewCachedProvider(provider FenceProvider, refreshDuration time.Duration) (*CachedProvider, error)

func (*CachedProvider) IsAllowed

func (cfs *CachedProvider) IsAllowed(ctx context.Context, principal, action, resource *fencev1.UID) (*fencev1.IsAllowedResponse, error)

func (*CachedProvider) Refresh

func (cfs *CachedProvider) Refresh(ctx context.Context) error

type FenceAuthzError

type FenceAuthzError struct {
	// contains filtered or unexported fields
}

func NewAuthzError

func NewAuthzError(principal, action, resource *fencev1.UID, internal error) FenceAuthzError

func (FenceAuthzError) Error

func (az FenceAuthzError) Error() string

type FenceProvider

type FenceProvider interface {
	IsAllowed(ctx context.Context, principal, action, resource *fencev1.UID) (*fencev1.IsAllowedResponse, error)
	Refresh(context.Context) error
}

type FileProvider

type FileProvider struct {
	// contains filtered or unexported fields
}

func NewFileProvider

func NewFileProvider(fs afero.Fs, policyPath, entityPath string) (*FileProvider, error)

func (*FileProvider) IsAllowed

func (s *FileProvider) IsAllowed(ctx context.Context, principal *fencev1.UID, action *fencev1.UID, resource *fencev1.UID) (*fencev1.IsAllowedResponse, error)

func (*FileProvider) Refresh

func (s *FileProvider) Refresh(ctx context.Context) error

type MockFenceProvider

type MockFenceProvider struct {
	mock.Mock
}

MockFenceProvider is an autogenerated mock type for the FenceProvider type

func NewMockFenceProvider

func NewMockFenceProvider(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockFenceProvider

NewMockFenceProvider creates a new instance of MockFenceProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.

func (*MockFenceProvider) EXPECT

func (*MockFenceProvider) IsAllowed

func (_mock *MockFenceProvider) IsAllowed(ctx context.Context, principal *fencev1.UID, action *fencev1.UID, resource *fencev1.UID) (*fencev1.IsAllowedResponse, error)

IsAllowed provides a mock function for the type MockFenceProvider

func (*MockFenceProvider) Refresh

func (_mock *MockFenceProvider) Refresh(context1 context.Context) error

Refresh provides a mock function for the type MockFenceProvider

type MockFenceProvider_Expecter

type MockFenceProvider_Expecter struct {
	// contains filtered or unexported fields
}

func (*MockFenceProvider_Expecter) IsAllowed

func (_e *MockFenceProvider_Expecter) IsAllowed(ctx interface{}, principal interface{}, action interface{}, resource interface{}) *MockFenceProvider_IsAllowed_Call

IsAllowed is a helper method to define mock.On call

  • ctx context.Context
  • principal *fencev1.UID
  • action *fencev1.UID
  • resource *fencev1.UID

func (*MockFenceProvider_Expecter) Refresh

func (_e *MockFenceProvider_Expecter) Refresh(context1 interface{}) *MockFenceProvider_Refresh_Call

Refresh is a helper method to define mock.On call

  • context1 context.Context

type MockFenceProvider_IsAllowed_Call

type MockFenceProvider_IsAllowed_Call struct {
	*mock.Call
}

MockFenceProvider_IsAllowed_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'IsAllowed'

func (*MockFenceProvider_IsAllowed_Call) Return

func (_c *MockFenceProvider_IsAllowed_Call) Return(isAllowedResponse *fencev1.IsAllowedResponse, err error) *MockFenceProvider_IsAllowed_Call

func (*MockFenceProvider_IsAllowed_Call) Run

func (_c *MockFenceProvider_IsAllowed_Call) Run(run func(ctx context.Context, principal *fencev1.UID, action *fencev1.UID, resource *fencev1.UID)) *MockFenceProvider_IsAllowed_Call

func (*MockFenceProvider_IsAllowed_Call) RunAndReturn

func (_c *MockFenceProvider_IsAllowed_Call) RunAndReturn(run func(ctx context.Context, principal *fencev1.UID, action *fencev1.UID, resource *fencev1.UID) (*fencev1.IsAllowedResponse, error)) *MockFenceProvider_IsAllowed_Call

type MockFenceProvider_Refresh_Call

type MockFenceProvider_Refresh_Call struct {
	*mock.Call
}

MockFenceProvider_Refresh_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Refresh'

func (*MockFenceProvider_Refresh_Call) Return

func (*MockFenceProvider_Refresh_Call) Run

func (*MockFenceProvider_Refresh_Call) RunAndReturn

type RemoteServerConfig

type RemoteServerConfig struct {
	Address     string
	BearerToken string
	Timeout     time.Duration
}

type RemoteServerProvider

type RemoteServerProvider struct {
	// contains filtered or unexported fields
}

func NewRemoteServerProvider

func NewRemoteServerProvider(cfg RemoteServerConfig) *RemoteServerProvider

func (*RemoteServerProvider) IsAllowed

func (a *RemoteServerProvider) IsAllowed(ctx context.Context, principal *fencev1.UID, action *fencev1.UID, resource *fencev1.UID) (*fencev1.IsAllowedResponse, error)

func (*RemoteServerProvider) Refresh

func (a *RemoteServerProvider) Refresh(_ context.Context) error

type TestingProvider

type TestingProvider struct {
	AllowCall bool
}

func (*TestingProvider) IsAllowed

func (ts *TestingProvider) IsAllowed(ctx context.Context, principal, action, resource *fencev1.UID) (*fencev1.IsAllowedResponse, error)

func (*TestingProvider) Refresh

func (ts *TestingProvider) Refresh(context.Context) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL