Artifactory Repository
Pulls Artifactory repository files to disk for compile pipeline scanning.
Only downloads files whose SHA1 differs from existing symbol files in the input paths.
Configuration
To configure the Artifactory repository module, Edit these settings.
Below is the default configuration from: artifactory/config.yaml (* Required Fields).
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAiYXJ0aWZhY3RvcnkiIDogewogICAgICAidHlwZSIgOiAiYXJyYXkiLAogICAgICAiaXRlbXMiIDogewogICAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZSwKICAgICAgICAicHJvcGVydGllcyIgOiB7CiAgICAgICAgICAiaW5zdGFuY2UiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJBcnRpZmFjdG9yeSByZXBvc2l0b3J5IFVSTFxuXG5VUkwgZm9yIHRoZSByZW1vdGUgQXJ0aWZhY3RvcnkgaW5zdGFuY2UgKGUuZy4sIGh0dHBzOi8vbXl1c2VybmFtZS5qZnJvZy5pby9hcnRpZmFjdG9yeSkiCiAgICAgICAgICB9LAogICAgICAgICAgInRva2VuIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiQXJ0aWZhY3RvcnkgaW5zdGFuY2UgYWNjZXNzIHRva2VuXG5cbkFydGlmYWN0b3J5IFthY2Nlc3MgdG9rZW5dKGh0dHBzOi8vamZyb2cuY29tL2hlbHAvci9qZnJvZy1wbGF0Zm9ybS1hZG1pbmlzdHJhdGlvbi1kb2N1bWVudGF0aW9uL2FjY2Vzcy10b2tlbnMpIGZvciB0aGlzIHJlbW90ZSBpbnN0YW5jZS4gVGhpcyB2YWx1ZSBzaG91bGQgYmUgc2V0IHZpYSBhbiBbZW52aXJvbm1lbnQgdmFyaWFibGVdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL2pzLyNUZW5YRW52LmdldCk6ICBgYGAgeWFtbCBhcnRpZmFjdG9yeVRva2VuOiAkPVRlblhFbnYuZ2V0KFwiQVJUSUZBQ1RPUllfVE9LRU5cIikgYGBgIgogICAgICAgICAgfSwKICAgICAgICAgICJyZXBvIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiQXJ0aWZhY3RvcnkgcmVwb3NpdG9yeSBuYW1lXG5cbk5hbWUgb2YgdGhlIFtyZXBvc2l0b3J5XShodHRwczovL2pmcm9nLmNvbS9oZWxwL3IvamZyb2ctYXJ0aWZhY3RvcnktZG9jdW1lbnRhdGlvbi9yZXBvc2l0b3J5LW1hbmFnZW1lbnQpIHdpdGhpbiB0aGUgdGFyZ2V0IEFydGlmYWN0b3J5IGluc3RhbmNlIGZyb20gd2hpY2ggdG8gcHVsbCB0aGUgc3BlY2lmaWVkIGZpbGUuIgogICAgICAgICAgfSwKICAgICAgICAgICJmaWxlcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiUmVtb3RlIHJlcG9zaXRvcnkgZmlsZSBwYXRoc1xuXG5QYXRocyBvZiBmaWxlcyB3aXRoaW4gdGhlIHRhcmdldCBBcnRpZmFjdG9yeSBpbnN0YW5jZSByZXBvc2l0b3J5IHRvIHB1bGwiLAogICAgICAgICAgICAiaXRlbXMiIDogewogICAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZm9sZGVycyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiUmVtb3RlIHJlcG9zaXRvcnkgZm9sZGVyIHBhdGhzXG5cblBhdGhzIG9mIGZvbGRlcnMgd2l0aGluIHRoZSB0YXJnZXQgQXJ0aWZhY3RvcnkgaW5zdGFuY2UgcmVwb3NpdG9yeSB0byBwdWxsIiwKICAgICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgICAidHlwZSIgOiAic3RyaW5nIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInJlY3Vyc2l2ZSIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgInN0cmluZyIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlB1bGwgZmlsZXMgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSBmb2xkZXJzIHJlY3Vyc2l2ZWx5XG5cblNwZWNpZmllcyB3aGV0aGVyIHRvIHB1bGwgZmlsZXMgZnJvbSBbYXJ0aWZhY3RvcnlGb2xkZXJzXShodHRwczovL2RvYy5sb2cxMHguY29tL2NvbXBpbGUvcHVsbC9hcnRpZmFjdG9yeS8jYXJ0aWZhY3Rvcnlmb2xkZXJzKSByZWN1cnNpdmVseSAoaS5lLiwgcHVsbCBzdWItZm9sZGVycyBhcyB3ZWxsKS4gKEFjY2VwdHMgYm9vbGVhbiBvciBzdHJpbmcgd2l0aCAkPSBwcmVmaXggZm9yIHJ1bnRpbWUgZXZhbHVhdGlvbikgKERlZmF1bHQ6IGZhbHNlKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVxdWlyZWQiIDogWwogICAgICAgICAgImluc3RhbmNlIiwKICAgICAgICAgICJ0b2tlbiIsCiAgICAgICAgICAicmVwbyIKICAgICAgICBdCiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'compile' Artifactory configuration
# Pull artifacts (e.g., Java archives, .NET assemblies) from remote Artifactory instances to
# scan for symbol values. To learn more see https://doc.log10x.com/compile/pull/artifactory
# Set the 10x pipeline to 'compile'
tenx: compile
# ============================= Artifactory Options ===========================
artifactory:
# 'token' specifies an Artifactory API access token.
# To learn more see https://jfrog.com/help/r/jfrog-platform-administration-documentation/access-tokens
- token: $=TenXEnv.get("ARTIFACTORY_TOKEN") # (❗ REQUIRED)
# 'instance' specifies the of location of the remote Artifactory instance (e.g., https://demo.jfrog.io/artifactory)
instance: "" # (❗ REQUIRED)
# 'repo' specifies the target Artifactory repository (e.g., pypi-local)
repo: "" # (❗ REQUIRED)
# 'files' specifies files to pull from the target Artifactory repository # (❗ REQUIRED)
files: [
# dist/jfrog-pypi-example-1.0.0.tar.gz
]
# 'folders' specifies folders paths within the target Artifactory instance repository to pull # (❗ REQUIRED)
folders: [
]
# 'recursive' specifies whether to pull folders recursively (i.e., pull sub-folders as well).
recursive: true
Options
Specify the options below to configure multiple Artifactory repository:
| Name | Description |
|---|---|
| artifactoryInstance | Artifactory repository URL |
| artifactoryToken | Artifactory instance access token |
| artifactoryRepo | Artifactory repository name |
| artifactoryFiles | Remote repository file paths |
| artifactoryFolders | Remote repository folder paths |
| artifactoryRecursive | Pull files from remote repository folders recursively |
artifactoryInstance
Artifactory repository URL.
| Type | Required |
|---|---|
| String | ✔ |
URL for the remote Artifactory instance (e.g., https://myusername.jfrog.io/artifactory).
artifactoryToken
Artifactory instance access token.
| Type | Required |
|---|---|
| String | ✔ |
Artifactory access token for this remote instance.
This value should be set via an environment variable:
artifactoryRepo
Artifactory repository name.
| Type | Required |
|---|---|
| String | ✔ |
Name of the repository within the target Artifactory instance from which to pull the specified file.
artifactoryFiles
Remote repository file paths.
| Type | Default |
|---|---|
| List | [] |
Paths of files within the target Artifactory instance repository to pull.
artifactoryFolders
Remote repository folder paths.
| Type | Default |
|---|---|
| List | [] |
Paths of folders within the target Artifactory instance repository to pull.
artifactoryRecursive
Pull files from remote repository folders recursively.
| Type | Default |
|---|---|
| Boolean | false |
Specifies whether to pull files from artifactoryFolders recursively (i.e., pull sub-folders as well).
This module is defined in artifactory/module.yaml.