provider-harbor

module
v0.16.12 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2026 License: Apache-2.0

README

Provider Harbor

Build Coverage License

Overview

A native Crossplane provider for Harbor container registry management. Manage Harbor resources (projects, registries, users, repositories, webhooks, and more) using Kubernetes-native declarative configuration.

Supported Resources

Core Resources
  • Projects - Create and manage Harbor projects with security policies
  • Registries - Register and manage remote registries
  • Users - Manage user accounts with password secrets
  • User Groups - LDAP/HTTP/OIDC group management (Types 1, 2, 3)
  • Repositories - Repository lifecycle and metadata management
  • Artifacts - Image artifact management and vulnerability scanning
  • Scanners - Scanner registration (Trivy, Clair, Aqua, etc.)
Enterprise Resources
  • Robot Accounts - CI/CD service accounts with scoped permissions
  • Webhooks - Event automation for scan completion, image push
  • Replication Policies - Cross-registry image replication with filtering
  • Retention Policies - Automated artifact cleanup with custom rules
  • Members - Project member management and role-based access control
  • Scans - Vulnerability scan management and reporting

Recent Improvements (v0.16.0)

  • ✅ Fixed critical CRD API group mismatch in v1beta1 resources
  • ✅ Enabled proper logging in all controllers for debugging
  • ✅ Implemented password secret reading for Users
  • ✅ Added complete UserGroup (LDAP/HTTP/OIDC) support
  • ✅ All tests passing (65+ unit tests)
  • ✅ Code formatting and linting verified

Quick Start

apiVersion: v1
kind: Secret
metadata:
  name: harbor-creds
type: Opaque
stringData:
  url: https://harbor.example.com
  username: admin
  password: password
---
apiVersion: harbor.m.crossplane.io/v1beta1
kind: ProviderConfig
metadata:
  name: default
spec:
  credentials:
    source: Secret
    secretRef:
      name: harbor-creds
---
apiVersion: project.harbor.m.crossplane.io/v1beta1
kind: Project
metadata:
  name: my-project
spec:
  forProvider:
    name: my-project
    public: false
  providerConfigRef:
    name: default

Documentation

  • CHANGELOG.md - Version history and release notes
  • PRODUCTION_SAFETY.md - Secure configuration patterns
  • PRODUCTION_READINESS.md - Pre-deployment checklist

Directories

Path Synopsis
Package apis contains Kubernetes API for the native Harbor provider.
Package apis contains Kubernetes API for the native Harbor provider.
artifact/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor artifact provider.
Package v1beta1 contains the v1beta1 API of the harbor artifact provider.
member/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor member provider.
Package v1beta1 contains the v1beta1 API of the harbor member provider.
project/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor project provider.
Package v1beta1 contains the v1beta1 API of the harbor project provider.
registry/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor registry provider.
Package v1beta1 contains the v1beta1 API of the harbor registry provider.
replication/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor replication provider.
Package v1beta1 contains the v1beta1 API of the harbor replication provider.
repository/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor repository provider.
Package v1beta1 contains the v1beta1 API of the harbor repository provider.
retention/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor retention provider.
Package v1beta1 contains the v1beta1 API of the harbor retention provider.
robot/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor robot provider.
Package v1beta1 contains the v1beta1 API of the harbor robot provider.
scan/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor scan provider.
Package v1beta1 contains the v1beta1 API of the harbor scan provider.
scanner/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor scanner provider.
Package v1beta1 contains the v1beta1 API of the harbor scanner provider.
user/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor user provider.
Package v1beta1 contains the v1beta1 API of the harbor user provider.
usergroup/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor usergroup provider.
Package v1beta1 contains the v1beta1 API of the harbor usergroup provider.
v1beta1
Package v1beta1 contains the core resources of the harbor native provider.
Package v1beta1 contains the core resources of the harbor native provider.
webhook/v1beta1
Package v1beta1 contains the v1beta1 API of the harbor webhook provider.
Package v1beta1 contains the v1beta1 API of the harbor webhook provider.
cmd
provider command
config
internal
version
Package version contains the version of this repo
Package version contains the version of this repo

Jump to

Keyboard shortcuts

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