Documentation
¶
Overview ¶
Package controller contains the controllers for the Harbor provider.
Index ¶
- Constants
- func AssertError(t *testing.T, err error, expectedMsg string)
- func GetExternalName(mg resource.Managed) string
- func HasExternalName(mg resource.Managed) bool
- func NewTestManagedResource(name string) interface{}
- func PointerTo[T any](v T) *T
- func SetExternalName(mg resource.Managed, name string)
- func Setup(mgr ctrl.Manager) error
- func ShouldDeleteExternal(mg resource.Managed) bool
- func TestLogger(t *testing.T) logging.Logger
- type MockHarborClient
- func (m *MockHarborClient) Close() error
- func (m *MockHarborClient) CreateProject(ctx context.Context, spec *clients.ProjectSpec) (*clients.ProjectStatus, error)
- func (m *MockHarborClient) DeleteProject(ctx context.Context, projectName string) error
- func (m *MockHarborClient) GetProject(ctx context.Context, projectName string) (*clients.ProjectStatus, error)
- func (m *MockHarborClient) ListProjects(ctx context.Context) ([]*clients.ProjectStatus, error)
- func (m *MockHarborClient) UpdateProject(ctx context.Context, projectName string, spec *clients.ProjectSpec) (*clients.ProjectStatus, error)
- type MockKubeClient
- func (m *MockKubeClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error
- func (m *MockKubeClient) Delete(ctx context.Context, obj client.Object, opts ...client.DeleteOption) error
- func (m *MockKubeClient) Get(ctx context.Context, key client.ObjectKey, obj client.Object, ...) error
- func (m *MockKubeClient) Update(ctx context.Context, obj client.Object, opts ...client.UpdateOption) error
Constants ¶
const (
// ExternalNameAnnotation is the annotation key used to store the external identifier
ExternalNameAnnotation = "crossplane.io/external-name"
)
Variables ¶
This section is empty.
Functions ¶
func AssertError ¶ added in v0.14.0
AssertError checks if an error matches the expected message
func GetExternalName ¶ added in v0.17.0
GetExternalName retrieves the external name from resource annotations
func HasExternalName ¶ added in v0.17.0
HasExternalName checks if a resource has an external name set
func NewTestManagedResource ¶ added in v0.14.0
func NewTestManagedResource(name string) interface{}
NewTestManagedResource creates a simple test object Note: This is a stub for testing error handling paths
func PointerTo ¶ added in v0.14.0
func PointerTo[T any](v T) *T
PointerTo returns a pointer to the given value
func SetExternalName ¶ added in v0.17.0
SetExternalName sets the external name in resource annotations
func ShouldDeleteExternal ¶ added in v0.17.0
ShouldDeleteExternal checks if we should delete the external resource Returns false if deletion policy is Orphan, true otherwise
Types ¶
type MockHarborClient ¶ added in v0.14.0
type MockHarborClient struct {
GetProjectFn func(ctx context.Context, projectName string) (*clients.ProjectStatus, error)
CreateProjectFn func(ctx context.Context, spec *clients.ProjectSpec) (*clients.ProjectStatus, error)
UpdateProjectFn func(ctx context.Context, projectName string, spec *clients.ProjectSpec) (*clients.ProjectStatus, error)
DeleteProjectFn func(ctx context.Context, projectName string) error
ListProjectsFn func(ctx context.Context) ([]*clients.ProjectStatus, error)
CloseFn func() error
}
MockHarborClient is a mock implementation of HarborClient for testing
func (*MockHarborClient) Close ¶ added in v0.14.0
func (m *MockHarborClient) Close() error
func (*MockHarborClient) CreateProject ¶ added in v0.14.0
func (m *MockHarborClient) CreateProject(ctx context.Context, spec *clients.ProjectSpec) (*clients.ProjectStatus, error)
func (*MockHarborClient) DeleteProject ¶ added in v0.14.0
func (m *MockHarborClient) DeleteProject(ctx context.Context, projectName string) error
func (*MockHarborClient) GetProject ¶ added in v0.14.0
func (m *MockHarborClient) GetProject(ctx context.Context, projectName string) (*clients.ProjectStatus, error)
func (*MockHarborClient) ListProjects ¶ added in v0.14.0
func (m *MockHarborClient) ListProjects(ctx context.Context) ([]*clients.ProjectStatus, error)
func (*MockHarborClient) UpdateProject ¶ added in v0.14.0
func (m *MockHarborClient) UpdateProject(ctx context.Context, projectName string, spec *clients.ProjectSpec) (*clients.ProjectStatus, error)
type MockKubeClient ¶ added in v0.14.0
type MockKubeClient struct {
GetFn func(ctx context.Context, key client.ObjectKey, obj client.Object, opts ...client.GetOption) error
CreateFn func(ctx context.Context, obj client.Object, opts ...client.CreateOption) error
UpdateFn func(ctx context.Context, obj client.Object, opts ...client.UpdateOption) error
DeleteFn func(ctx context.Context, obj client.Object, opts ...client.DeleteOption) error
}
MockKubeClient is a mock Kubernetes client for testing
func (*MockKubeClient) Create ¶ added in v0.14.0
func (m *MockKubeClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error
func (*MockKubeClient) Delete ¶ added in v0.14.0
func (m *MockKubeClient) Delete(ctx context.Context, obj client.Object, opts ...client.DeleteOption) error
func (*MockKubeClient) Update ¶ added in v0.14.0
func (m *MockKubeClient) Update(ctx context.Context, obj client.Object, opts ...client.UpdateOption) error