JFrog Artifactory Libs plugin
Plugin details | |
---|---|
Created by | Vity |
Category | Discovery |
Source | GitHub |
Type | Open-source plugin |
Configuration
Application configuration YAML
This plugin requires a backend proxy configuration to make calls to JFrog with authentication.
- Under the Plugins tab in Admin, go to
app-config.yaml
and Edit YAML to configure your JFrog endpoint in the target field and add your artifactory URL (used for UI browse links) in the format as shown below.
# app-config.yaml
proxy:
endpoints:
"/artifactory-proxy/":
target: "https://your-jfrog-artifactory-instance.com"
pathRewrite:
api/proxy/artifactory-proxy/?: /
headers:
# if you use Jfrog instance for anonymous user token is not required, but it is also required for Docker package type
Authorization: Bearer ${ARTIFACTORY_TOKEN}
X-Result-Detail: "properties"
Accept: "*"
jfrog:
artifactory:
url: "https://your-jfrog-artifactory-instance.com"
proxyPath: "/artifactory-proxy/" # /artifactory-proxy/ is default value
Secrets
-
You need to add the ARTIFACTORY_TOKEN as a Harness Secret.
-
Create secret in Harness to store API token, click on “New Secret Text” and enter values as shown below.
Layout
No action required
This plugin exports a page that you can use as a new JFrog page on the Sidenav. The following configuration is set by default in Layout under Sidenav Layout and you do not need to change anything:
- name: SidebarItem
props:
to: JFrogLibVerPageContent
text: JFrog
This plugin exports the JFrogLibArtifactCard
that you can show on the Overview tab of a service or any other layout page. The following configuration is set by default in Layout under Catalog Entities for Service and you do not need to change anything:
- component: JFrogLibArtifactCard
Also, you could add a conditional like isJfrogArtifactAvailable
which is met when jfrog.com/artifactory-artifact
annotation is present in the software component's catalog-info.yaml
definition file.
- name: Overview
path: /
title: Overview
contents:
# ...overview tab should already exist in your layout.
- component: EntitySwitch
specs:
cases:
- if: isJfrogArtifactAvailable
content:
component: JFrogLibArtifactCard
Annotations
- Artifact details are correlated to IDP entities using an annotation added in the entity's
catalog-info.yaml
file.
metadata:
annotations:
# -- required values --
jfrog.com/artifactory-artifact: 'artifact-name'
jfrog.com/artifactory-repo: 'maven-local'
jfrog.com/artifactory-group: 'com.mycompany' # optional string - can be blank for pypi, necessary for Maven repos
# -- optional values --
jfrog.com/artifactory-scope: 'compile' # optional string, one of these [compile, test,provided,runtime,classpath,optional]
jfrog.com/artifactory-packaging: 'aar' #optional string, eg. `aar`
The version of a package is shown only when it has a release version (one which follows Semantic Versioning). And that's it! The plugin should now be integrated into your Harness IDP, and you should see the Artifact card when you navigate to the entity page where it's included.
- For a docker image you define repository and artifact name. Both formats are supported:
metadata:
annotations:
# -- required values --
jfrog.com/artifactory-artifact: 'docker.mydomain.com/mygroup/my/artifact-name' # or simply 'mygroup/my/artifact-name'
jfrog.com/artifactory-repo: 'docker-local'
Support
The plugin is owned by Vity and managed in this repository as an open-source project. Create a GitHub issue to report bugs or suggest new features for the plugin.