Documentation ¶
Index ¶
- Constants
- Variables
- func AddProjectMember(projectID int64, request models.MemberReq) (int, error)
- func Init() error
- func SyncRegistry(pm promgr.ProjectManager) error
- type BaseController
- type ChartRepositoryAPI
- func (cra *ChartRepositoryAPI) DeleteChartVersion()
- func (cra *ChartRepositoryAPI) DownloadChart()
- func (cra *ChartRepositoryAPI) GetChartVersion()
- func (cra *ChartRepositoryAPI) GetHealthStatus()
- func (cra *ChartRepositoryAPI) GetIndex()
- func (cra *ChartRepositoryAPI) GetIndexByRepo()
- func (cra *ChartRepositoryAPI) ListChartVersions()
- func (cra *ChartRepositoryAPI) ListCharts()
- func (cra *ChartRepositoryAPI) Prepare()
- func (cra *ChartRepositoryAPI) UploadChartProvFile()
- func (cra *ChartRepositoryAPI) UploadChartVersion()
- type ConfigAPI
- type EmailAPI
- type GCAPI
- type GeneralInfo
- type InternalAPI
- type LabelAPI
- type LdapAPI
- type LogAPI
- type MetadataAPI
- type ProjectAPI
- type ProjectMemberAPI
- type RepJobAPI
- type RepPolicyAPI
- type ReplicationAPI
- type RepositoryAPI
- func (ra *RepositoryAPI) Delete()
- func (ra *RepositoryAPI) Get()
- func (ra *RepositoryAPI) GetManifests()
- func (ra *RepositoryAPI) GetSignatures()
- func (ra *RepositoryAPI) GetTag()
- func (ra *RepositoryAPI) GetTags()
- func (ra *RepositoryAPI) GetTopRepos()
- func (ra *RepositoryAPI) Put()
- func (ra *RepositoryAPI) ScanAll()
- func (ra *RepositoryAPI) ScanImage()
- func (ra *RepositoryAPI) VulnerabilityDetails()
- type RepositoryLabelAPI
- func (r *RepositoryLabelAPI) AddToImage()
- func (r *RepositoryLabelAPI) AddToRepository()
- func (r *RepositoryLabelAPI) GetOfImage()
- func (r *RepositoryLabelAPI) GetOfRepository()
- func (r *RepositoryLabelAPI) Prepare()
- func (r *RepositoryLabelAPI) RemoveFromImage()
- func (r *RepositoryLabelAPI) RemoveFromRepository()
- type ScanJobAPI
- type SearchAPI
- type StatisticAPI
- type Storage
- type SystemInfo
- type SystemInfoAPI
- type TargetAPI
- type UserAPI
- type UserGroupAPI
Constants ¶
const ( //ReplicationJobType ... ReplicationJobType = "replication" //ScanJobType ... ScanJobType = "scan" )
const ( // PriPC : count of private projects PriPC = "private_project_count" // PriRC : count of private repositories PriRC = "private_repo_count" // PubPC : count of public projects PubPC = "public_project_count" // PubRC : count of public repositories PubRC = "public_repo_count" // TPC : total count of projects TPC = "total_project_count" // TRC : total count of repositories TRC = "total_repo_count" )
Variables ¶
var ErrDuplicateProjectMember = errors.New("The project member specified already exist")
ErrDuplicateProjectMember ...
var ErrInvalidRole = errors.New("Failed to update project member, role is not in 1,2,3")
ErrInvalidRole ...
Functions ¶
func AddProjectMember ¶ added in v1.6.0
AddProjectMember ...
func Init ¶ added in v1.6.0
func Init() error
Init related objects/configurations for the API controllers
func SyncRegistry ¶
func SyncRegistry(pm promgr.ProjectManager) error
SyncRegistry syncs the repositories of registry with database.
Types ¶
type BaseController ¶
type BaseController struct { api.BaseAPI // SecurityCtx is the security context used to authN &authZ SecurityCtx security.Context // ProjectMgr is the project manager which abstracts the operations // related to projects ProjectMgr promgr.ProjectManager }
BaseController ...
func (*BaseController) Prepare ¶
func (b *BaseController) Prepare()
Prepare inits security context and project manager from request context
type ChartRepositoryAPI ¶ added in v1.6.0
type ChartRepositoryAPI struct { //The base controller to provide common utilities BaseController // contains filtered or unexported fields }
ChartRepositoryAPI provides related API handlers for the chart repository APIs
func (*ChartRepositoryAPI) DeleteChartVersion ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) DeleteChartVersion()
DeleteChartVersion handles DELETE /api/:repo/charts/:name/:version
func (*ChartRepositoryAPI) DownloadChart ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) DownloadChart()
DownloadChart handles GET /:repo/charts/:filename
func (*ChartRepositoryAPI) GetChartVersion ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) GetChartVersion()
GetChartVersion handles GET /api/:repo/charts/:name/:version
func (*ChartRepositoryAPI) GetHealthStatus ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) GetHealthStatus()
GetHealthStatus handles GET /api/chartserver/health
func (*ChartRepositoryAPI) GetIndex ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) GetIndex()
GetIndex handles GET /index.yaml
func (*ChartRepositoryAPI) GetIndexByRepo ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) GetIndexByRepo()
GetIndexByRepo handles GET /:repo/index.yaml
func (*ChartRepositoryAPI) ListChartVersions ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) ListChartVersions()
ListChartVersions GET /api/:repo/charts/:name
func (*ChartRepositoryAPI) ListCharts ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) ListCharts()
ListCharts handles GET /api/:repo/charts
func (*ChartRepositoryAPI) Prepare ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) Prepare()
Prepare something for the following actions
func (*ChartRepositoryAPI) UploadChartProvFile ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) UploadChartProvFile()
UploadChartProvFile handles POST /api/:repo/prov
func (*ChartRepositoryAPI) UploadChartVersion ¶ added in v1.6.0
func (cra *ChartRepositoryAPI) UploadChartVersion()
UploadChartVersion handles POST /api/:repo/charts
type EmailAPI ¶
type EmailAPI struct {
BaseController
}
EmailAPI ...
type GCAPI ¶ added in v1.6.0
type GCAPI struct {
BaseController
}
GCAPI handles request of harbor admin...
type GeneralInfo ¶
type GeneralInfo struct { WithNotary bool `json:"with_notary"` WithClair bool `json:"with_clair"` WithAdmiral bool `json:"with_admiral"` AdmiralEndpoint string `json:"admiral_endpoint"` AuthMode string `json:"auth_mode"` RegistryURL string `json:"registry_url"` ProjectCreationRestrict string `json:"project_creation_restriction"` SelfRegistration bool `json:"self_registration"` HasCARoot bool `json:"has_ca_root"` HarborVersion string `json:"harbor_version"` NextScanAll int64 `json:"next_scan_all"` ClairVulnStatus *models.ClairVulnerabilityStatus `json:"clair_vulnerability_status,omitempty"` RegistryStorageProviderName string `json:"registry_storage_provider_name"` ReadOnly bool `json:"read_only"` WithChartMuseum bool `json:"with_chartmuseum"` }
GeneralInfo wraps common systeminfo for anonymous request
type InternalAPI ¶
type InternalAPI struct {
BaseController
}
InternalAPI handles request of harbor admin...
func (*InternalAPI) RenameAdmin ¶
func (ia *InternalAPI) RenameAdmin()
RenameAdmin we don't provide flexibility in this API, as this is a workaround.
type LabelAPI ¶ added in v1.5.0
type LabelAPI struct { BaseController // contains filtered or unexported fields }
LabelAPI handles requests for label management
func (*LabelAPI) List ¶ added in v1.5.0
func (l *LabelAPI) List()
List labels according to the query strings
func (*LabelAPI) ListResources ¶ added in v1.6.0
func (l *LabelAPI) ListResources()
ListResources lists the resources that the label is referenced by
type LdapAPI ¶
type LdapAPI struct { BaseController // contains filtered or unexported fields }
LdapAPI handles requesst to /api/ldap/ping /api/ldap/user/search /api/ldap/user/import
func (*LdapAPI) SearchGroup ¶ added in v1.5.0
func (l *LdapAPI) SearchGroup()
SearchGroup ... Search LDAP by groupname
type LogAPI ¶
type LogAPI struct { BaseController // contains filtered or unexported fields }
LogAPI handles request api/logs
type MetadataAPI ¶
type MetadataAPI struct { BaseController // contains filtered or unexported fields }
MetadataAPI ...
type ProjectAPI ¶
type ProjectAPI struct { BaseController // contains filtered or unexported fields }
ProjectAPI handles request to /api/projects/{} /api/projects/{}/logs
type ProjectMemberAPI ¶
type ProjectMemberAPI struct { BaseController // contains filtered or unexported fields }
ProjectMemberAPI handles request to /api/projects/{}/members/{}
func (*ProjectMemberAPI) Prepare ¶
func (pma *ProjectMemberAPI) Prepare()
Prepare validates the URL and parms
func (*ProjectMemberAPI) Put ¶
func (pma *ProjectMemberAPI) Put()
Put ... Update an exist project member
type RepJobAPI ¶
type RepJobAPI struct { BaseController // contains filtered or unexported fields }
RepJobAPI handles request to /api/replicationJobs /api/replicationJobs/:id/log
type RepPolicyAPI ¶
type RepPolicyAPI struct {
BaseController
}
RepPolicyAPI handles /api/replicationPolicies /api/replicationPolicies/:id/enablement
func (*RepPolicyAPI) Prepare ¶
func (pa *RepPolicyAPI) Prepare()
Prepare validates whether the user has system admin role
type ReplicationAPI ¶
type ReplicationAPI struct {
BaseController
}
ReplicationAPI handles API calls for replication
func (*ReplicationAPI) Post ¶
func (r *ReplicationAPI) Post()
Post trigger a replication according to the specified policy
func (*ReplicationAPI) Prepare ¶
func (r *ReplicationAPI) Prepare()
Prepare does authentication and authorization works
type RepositoryAPI ¶
type RepositoryAPI struct {
BaseController
}
RepositoryAPI handles request to /api/repositories /api/repositories/tags /api/repositories/manifests, the parm has to be put in the query string as the web framework can not parse the URL if it contains veriadic sectors.
func (*RepositoryAPI) GetManifests ¶
func (ra *RepositoryAPI) GetManifests()
GetManifests returns the manifest of a tag
func (*RepositoryAPI) GetSignatures ¶
func (ra *RepositoryAPI) GetSignatures()
GetSignatures returns signatures of a repository
func (*RepositoryAPI) GetTag ¶
func (ra *RepositoryAPI) GetTag()
GetTag returns the tag of a repository
func (*RepositoryAPI) GetTags ¶
func (ra *RepositoryAPI) GetTags()
GetTags returns tags of a repository
func (*RepositoryAPI) GetTopRepos ¶
func (ra *RepositoryAPI) GetTopRepos()
GetTopRepos returns the most populor repositories
func (*RepositoryAPI) Put ¶
func (ra *RepositoryAPI) Put()
Put updates description info for the repository
func (*RepositoryAPI) ScanAll ¶
func (ra *RepositoryAPI) ScanAll()
ScanAll handles the api to scan all images on Harbor.
func (*RepositoryAPI) ScanImage ¶
func (ra *RepositoryAPI) ScanImage()
ScanImage handles request POST /api/repository/$repository/tags/$tag/scan to trigger image scan manually.
func (*RepositoryAPI) VulnerabilityDetails ¶
func (ra *RepositoryAPI) VulnerabilityDetails()
VulnerabilityDetails fetch vulnerability info from clair, transform to Harbor's format and return to client.
type RepositoryLabelAPI ¶ added in v1.5.0
type RepositoryLabelAPI struct { BaseController // contains filtered or unexported fields }
RepositoryLabelAPI handles requests for adding/removing label to/from repositories and images
func (*RepositoryLabelAPI) AddToImage ¶ added in v1.5.0
func (r *RepositoryLabelAPI) AddToImage()
AddToImage adds the label to an image
func (*RepositoryLabelAPI) AddToRepository ¶ added in v1.5.0
func (r *RepositoryLabelAPI) AddToRepository()
AddToRepository adds the label to a repository
func (*RepositoryLabelAPI) GetOfImage ¶ added in v1.5.0
func (r *RepositoryLabelAPI) GetOfImage()
GetOfImage returns labels of an image
func (*RepositoryLabelAPI) GetOfRepository ¶ added in v1.5.0
func (r *RepositoryLabelAPI) GetOfRepository()
GetOfRepository returns labels of a repository
func (*RepositoryLabelAPI) Prepare ¶ added in v1.5.0
func (r *RepositoryLabelAPI) Prepare()
Prepare ...
func (*RepositoryLabelAPI) RemoveFromImage ¶ added in v1.5.0
func (r *RepositoryLabelAPI) RemoveFromImage()
RemoveFromImage removes the label from an image
func (*RepositoryLabelAPI) RemoveFromRepository ¶ added in v1.5.0
func (r *RepositoryLabelAPI) RemoveFromRepository()
RemoveFromRepository removes the label from a repository
type ScanJobAPI ¶
type ScanJobAPI struct { BaseController // contains filtered or unexported fields }
ScanJobAPI handles request to /api/scanJobs/:id/log
func (*ScanJobAPI) Prepare ¶
func (sj *ScanJobAPI) Prepare()
Prepare validates that whether user has read permission to the project of the repo the scan job scanned.
type StatisticAPI ¶
type StatisticAPI struct { BaseController // contains filtered or unexported fields }
StatisticAPI handles request to /api/statistics/
func (*StatisticAPI) Prepare ¶
func (s *StatisticAPI) Prepare()
Prepare validates the URL and the user
type SystemInfo ¶
type SystemInfo struct {
HarborStorage Storage `json:"storage"`
}
SystemInfo models for system info.
type SystemInfoAPI ¶
type SystemInfoAPI struct {
BaseController
}
SystemInfoAPI handle requests for getting system info /api/systeminfo
func (*SystemInfoAPI) GetCert ¶
func (sia *SystemInfoAPI) GetCert()
GetCert gets default self-signed certificate.
func (*SystemInfoAPI) GetGeneralInfo ¶
func (sia *SystemInfoAPI) GetGeneralInfo()
GetGeneralInfo returns the general system info, which is to be called by anonymous user
func (*SystemInfoAPI) GetVolumeInfo ¶
func (sia *SystemInfoAPI) GetVolumeInfo()
GetVolumeInfo gets specific volume storage info.
func (*SystemInfoAPI) Ping ¶ added in v1.5.0
func (sia *SystemInfoAPI) Ping()
Ping ping the harbor UI service.
type TargetAPI ¶
type TargetAPI struct { BaseController // contains filtered or unexported fields }
TargetAPI handles request to /api/targets/ping /api/targets/{}
type UserAPI ¶
type UserAPI struct { BaseController SelfRegistration bool IsAdmin bool AuthMode string // contains filtered or unexported fields }
UserAPI handles request to /api/users/{}
func (*UserAPI) ChangePassword ¶
func (ua *UserAPI) ChangePassword()
ChangePassword handles PUT to /api/users/{}/password
func (*UserAPI) ToggleUserAdminRole ¶
func (ua *UserAPI) ToggleUserAdminRole()
ToggleUserAdminRole handles PUT api/users/{}/sysadmin
type UserGroupAPI ¶ added in v1.5.0
type UserGroupAPI struct { BaseController // contains filtered or unexported fields }
UserGroupAPI ...
func (*UserGroupAPI) Post ¶ added in v1.5.0
func (uga *UserGroupAPI) Post()
Post ... Create User Group
func (*UserGroupAPI) Prepare ¶ added in v1.5.0
func (uga *UserGroupAPI) Prepare()
Prepare validates the URL and parms
func (*UserGroupAPI) Put ¶ added in v1.5.0
func (uga *UserGroupAPI) Put()
Put ... Only support update name
Source Files ¶
- base.go
- chart_repository.go
- config.go
- email.go
- internal.go
- label.go
- ldap.go
- log.go
- metadata.go
- project.go
- projectmember.go
- reg_gc.go
- replication.go
- replication_job.go
- replication_policy.go
- repository.go
- repository_label.go
- scan_job.go
- search.go
- statistic.go
- systeminfo.go
- target.go
- user.go
- usergroup.go
- utils.go