Harbor
The Harbor plugin can be used to access all your projects, repositories and artifacts from a Harbor instance. You can also show your projects, repositories and artifacts on kobs dashboards.
Configuration
The following config can be used to grant kobs access to a Harbor instance running on harbor.kobs.io
and is protected with basic authentication. The credentials will be provided by the environment variables HARBOR_USERANME
and HARBOR_PASSWORD
.
plugins:
harbor:
- name: Harbor
description: Harbor is an open source registry that secures artifacts with policies and role-based access control, ensures images are scanned and free from vulnerabilities, and signs images as trusted.
address: https://harbor.kobs.io
username: ${ES_USERNAME}
password: ${ES_PASSWORD}
Field | Type | Description | Required |
---|---|---|---|
name | string | Name of the Harbor instance. | Yes |
displayName | string | Name of the Harbor as it is shown in the UI. | Yes |
description | string | Description of the Harbor instance. | No |
home | boolean | When this is true the plugin will be added to the home page. |
No |
address | string | Address of the Harbor instance. | Yes |
username | string | Username to access an Harbor instance via basic authentication. | No |
password | string | Password to access an Harbor instance via basic authentication. | No |
token | string | Token to access an Harbor instance via token based authentication. | No |
Options
The following options can be used for a panel with the Harbor plugin:
Field | Type | Description | Required |
---|---|---|---|
type | string | The panel type. This could be projects , repositories or artifacts . |
Yes |
repositories | Repositories | Details for the panel, when the type is repositories . |
No |
artifacts | Artifacts | Details for the panel, when the type is artifacts . |
No |
Repositories
Field | Type | Description | Required |
---|---|---|---|
projectName | string | The name of the project, for which the repositories should be displayed. | Yes |
query | string | An optional query to filter the repositories by their name. | No |
Artifacts
Field | Type | Description | Required |
---|---|---|---|
projectName | string | The name of the project, for which the repositories should be displayed. | Yes |
repositoryName | string | The name of the repository in the project, for which the artifacts should be displayed. | Yes |
query | string | An optional query to filter the artifacts by their tags. | No |
Example
The following dashboards shows all projects, all repositories from the public
project and all artifacts from the kobs
repository in the public
project, where the tag contains dev
.
---
apiVersion: kobs.io/v1
kind: Dashboard
metadata:
name: harbor
namespace: kobs
spec:
title: Harbor
rows:
- panels:
- title: Projects
plugin:
name: harbor
options:
type: projects
- title: Repositories
plugin:
name: harbor
options:
type: repositories
panel:
projectName: public
- title: Artifacts
plugin:
name: harbor
options:
type: artifacts
panel:
projectName: public
repositoryName: kobs
query: dev