Skip to content

artifactory Plugin

This plugin installs artifactory in an existing Kubernetes cluster using the Helm chart.

Usage

Test/Local Dev Environment

If you want to test the plugin locally, The following valuesYaml configuration can be used

YAML
valuesYaml: |
  artifactory:
    service:
      type: NodePort
    nodePort: 30002
  nginx:
    enabled: false

In this configuration

  • Postgresql dependencies are automatically created.
  • local disks on machines in the cluster are defaulted used for data mounting.
  • Using nodePort to expose service, You can access artifactory by domain http://{{k8s node IP}}:30002. The default account name and password are admin/password (please replace the default account password in the production environment).

Production Environment

External Storage

  • PostgreSQL: Set the database.url to Postgresql's address. More info can be found in Config.

Disk Storage

You can set customVolumes and customVolumeMounts for this service. More info can be found in Config.

Network Config

This plugin supportIngress, ClusterIP, NodePort and LoadBalancer , You can give choice to your needs.

Config

YAML
tools:
# name of the tool
- name: artifactory
  # id of the tool instance
  instanceID: default
  # format: name.instanceID; If specified, dtm will make sure the dependency is applied first before handling this tool.
  dependsOn: [ ]
  # options for the plugin
  options:
    repo:
      name: jfrog
      # url of the Helm repo, use self host helm config beacuse official helm does'nt support namespace config
      url: https://charts.jfrog.io
    # Helm chart information
    chart:
      # local path of the chart; if chartPath != "", repo.name and repo.url will be ignored. e.g. "foo.tgz", "./foo.tgz", "/tmp/foo.tgz"
      chartPath: ""
      # name of the chart
      chartName: jfrog/artifactory
      # k8s namespace where Harbor will be installed
      namespace: artifactory
      # release name of the chart
      releaseName: artifactory
      # whether to wait for the release to be deployed or not
      wait: true
      # the time to wait for any individual Kubernetes operation (like Jobs for hooks). This defaults to 10m
      timeout: 10m
      # whether to perform a CRD upgrade during installation
      upgradeCRDs: true
      # valuesYaml: |
        # artifactory:
          # service:
            # type: NodePort

Default Configs

key default value description
chart.chartPath "" local chart path
chart.chartName jfrog/artifactory chart name
chart.timeout 10m this config will wait 10 minutes to deploy
chart.releaseName artifactory helm release name
chart.upgradeCRDs true default update CRD config
chart.wait true whether to wait until installation is complete
chart.namespace artifactory namespace where helm to deploy
repo.url https://charts.jfrog.io offical helm repo address
repo.name jfrog helm repo name
Currently, except for valuesYaml and default configs, all the parameters in the example above are mandatory.