[{"data":1,"prerenderedAt":1744},["ShallowReactive",2],{"docs-navigation":3,"-docs-overview-jfrog-compatibility":410,"-docs-overview-jfrog-compatibility-surround":1739},[4,19,166,319,333,397],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":18},"Overview","i-lucide-compass","\u002Fdocs\u002Foverview","docs\u002F1.overview",[10,14],{"title":11,"path":12,"stem":13},"Introduction","\u002Fdocs\u002Foverview\u002Fintroduction","docs\u002F1.overview\u002F1.introduction",{"title":15,"path":16,"stem":17},"JFrog compatibility","\u002Fdocs\u002Foverview\u002Fjfrog-compatibility","docs\u002F1.overview\u002F2.jfrog-compatibility",false,{"title":20,"icon":21,"path":22,"stem":23,"children":24,"page":18},"Installation","i-lucide-download","\u002Fdocs\u002Finstallation","docs\u002F2.installation",[25,29,43,68,108,112,116,162],{"title":26,"path":27,"stem":28},"Choosing a method","\u002Fdocs\u002Finstallation\u002Foverview","docs\u002F2.installation\u002F1.overview",{"title":30,"icon":31,"path":32,"stem":33,"children":34,"page":18},"Single binary","i-lucide-terminal","\u002Fdocs\u002Finstallation\u002Fsingle-binary","docs\u002F2.installation\u002F2.single-binary",[35,39],{"title":36,"path":37,"stem":38},"Quick start","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Fquick-start","docs\u002F2.installation\u002F2.single-binary\u002F1.quick-start",{"title":40,"path":41,"stem":42},"Limits and backups","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Foperations","docs\u002F2.installation\u002F2.single-binary\u002F2.operations",{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":18},"Docker","i-simple-icons-docker","\u002Fdocs\u002Finstallation\u002Fdocker","docs\u002F2.installation\u002F3.docker",[49,52,56,60,64],{"title":36,"path":50,"stem":51},"\u002Fdocs\u002Finstallation\u002Fdocker\u002Fquick-start","docs\u002F2.installation\u002F3.docker\u002F1.quick-start",{"title":53,"path":54,"stem":55},"PostgreSQL and S3","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fpostgresql-and-s3","docs\u002F2.installation\u002F3.docker\u002F2.postgresql-and-s3",{"title":57,"path":58,"stem":59},"Docker Compose","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose","docs\u002F2.installation\u002F3.docker\u002F3.compose",{"title":61,"path":62,"stem":63},"Compose settings","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-settings","docs\u002F2.installation\u002F3.docker\u002F4.compose-settings",{"title":65,"path":66,"stem":67},"Compose with another object store","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-other-object-storage","docs\u002F2.installation\u002F3.docker\u002F5.compose-other-object-storage",{"title":69,"icon":70,"path":71,"stem":72,"children":73,"page":18},"Kubernetes","i-simple-icons-kubernetes","\u002Fdocs\u002Finstallation\u002Fkubernetes","docs\u002F2.installation\u002F4.kubernetes",[74,77,80,84,88,92,96,100,104],{"title":5,"path":75,"stem":76},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Foverview","docs\u002F2.installation\u002F4.kubernetes\u002F1.overview",{"title":36,"path":78,"stem":79},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fquick-start","docs\u002F2.installation\u002F4.kubernetes\u002F2.quick-start",{"title":81,"path":82,"stem":83},"External PostgreSQL","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-postgresql","docs\u002F2.installation\u002F4.kubernetes\u002F3.external-postgresql",{"title":85,"path":86,"stem":87},"External object storage","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-object-storage","docs\u002F2.installation\u002F4.kubernetes\u002F4.external-object-storage",{"title":89,"path":90,"stem":91},"Exposing Relic","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexposing","docs\u002F2.installation\u002F4.kubernetes\u002F5.exposing",{"title":93,"path":94,"stem":95},"Values","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fvalues","docs\u002F2.installation\u002F4.kubernetes\u002F6.values",{"title":97,"path":98,"stem":99},"Upgrades and removal","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fupgrades","docs\u002F2.installation\u002F4.kubernetes\u002F7.upgrades",{"title":101,"path":102,"stem":103},"Hardening and probes","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fhardening","docs\u002F2.installation\u002F4.kubernetes\u002F8.hardening",{"title":105,"path":106,"stem":107},"Monitoring","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fmonitoring","docs\u002F2.installation\u002F4.kubernetes\u002F9.monitoring",{"title":109,"path":110,"stem":111},"Cloudflare","\u002Fdocs\u002Finstallation\u002Fcloudflare","docs\u002F2.installation\u002F5.cloudflare",{"title":113,"path":114,"stem":115},"Configuration reference","\u002Fdocs\u002Finstallation\u002Fconfiguration","docs\u002F2.installation\u002F6.configuration",{"title":117,"icon":118,"path":119,"stem":120,"children":121,"page":18},"Storage","i-lucide-hard-drive","\u002Fdocs\u002Finstallation\u002Fstorage","docs\u002F2.installation\u002F7.storage",[122,126,130,134,138,142,146,150,154,158],{"title":123,"path":124,"stem":125},"Storage overview","\u002Fdocs\u002Finstallation\u002Fstorage\u002Foverview","docs\u002F2.installation\u002F7.storage\u002F1.overview",{"title":127,"path":128,"stem":129},"Azure Blob Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fazure-blob-storage","docs\u002F2.installation\u002F7.storage\u002F10.azure-blob-storage",{"title":131,"path":132,"stem":133},"SeaweedFS","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fseaweedfs","docs\u002F2.installation\u002F7.storage\u002F2.seaweedfs",{"title":135,"path":136,"stem":137},"Amazon S3","\u002Fdocs\u002Finstallation\u002Fstorage\u002Famazon-s3","docs\u002F2.installation\u002F7.storage\u002F3.amazon-s3",{"title":139,"path":140,"stem":141},"Cloudflare R2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fcloudflare-r2","docs\u002F2.installation\u002F7.storage\u002F4.cloudflare-r2",{"title":143,"path":144,"stem":145},"MinIO","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fminio","docs\u002F2.installation\u002F7.storage\u002F5.minio",{"title":147,"path":148,"stem":149},"Google Cloud Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fgoogle-cloud-storage","docs\u002F2.installation\u002F7.storage\u002F6.google-cloud-storage",{"title":151,"path":152,"stem":153},"Backblaze B2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fbackblaze-b2","docs\u002F2.installation\u002F7.storage\u002F7.backblaze-b2",{"title":155,"path":156,"stem":157},"Other S3-compatible services","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fother","docs\u002F2.installation\u002F7.storage\u002F8.other",{"title":159,"path":160,"stem":161},"Filesystem","\u002Fdocs\u002Finstallation\u002Fstorage\u002Ffilesystem","docs\u002F2.installation\u002F7.storage\u002F9.filesystem",{"title":163,"path":164,"stem":165},"Development","\u002Fdocs\u002Finstallation\u002Fdevelopment","docs\u002F2.installation\u002F8.development",{"title":167,"icon":168,"path":169,"stem":170,"children":171,"page":18},"Guides","i-lucide-book-open","\u002Fdocs\u002Fguides","docs\u002F3.guides",[172,176,180,254,296,300,303,307,311,315],{"title":173,"path":174,"stem":175},"Repositories","\u002Fdocs\u002Fguides\u002Frepositories","docs\u002F3.guides\u002F1.repositories",{"title":177,"path":178,"stem":179},"Replication","\u002Fdocs\u002Fguides\u002Freplication","docs\u002F3.guides\u002F10.replication",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":18},"Package types","i-lucide-package","\u002Fdocs\u002Fguides\u002Fpackage-types","docs\u002F3.guides\u002F2.package-types",[186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250],{"title":187,"path":188,"stem":189},"npm, yarn and pnpm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnpm","docs\u002F3.guides\u002F2.package-types\u002F01.npm",{"title":191,"path":192,"stem":193},"Maven and Gradle","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fmaven-gradle","docs\u002F3.guides\u002F2.package-types\u002F02.maven-gradle",{"title":195,"path":196,"stem":197},"Docker and OCI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdocker","docs\u002F3.guides\u002F2.package-types\u002F03.docker",{"title":199,"path":200,"stem":201},"Go","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgo","docs\u002F3.guides\u002F2.package-types\u002F04.go",{"title":203,"path":204,"stem":205},"PyPI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fpypi","docs\u002F3.guides\u002F2.package-types\u002F05.pypi",{"title":207,"path":208,"stem":209},"Helm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhelm","docs\u002F3.guides\u002F2.package-types\u002F06.helm",{"title":211,"path":212,"stem":213},"NuGet","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnuget","docs\u002F3.guides\u002F2.package-types\u002F07.nuget",{"title":215,"path":216,"stem":217},"RubyGems","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frubygems","docs\u002F3.guides\u002F2.package-types\u002F08.rubygems",{"title":219,"path":220,"stem":221},"Cargo","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fcargo","docs\u002F3.guides\u002F2.package-types\u002F09.cargo",{"title":223,"path":224,"stem":225},"Conan","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fconan","docs\u002F3.guides\u002F2.package-types\u002F10.conan",{"title":227,"path":228,"stem":229},"Terraform and OpenTofu","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fterraform","docs\u002F3.guides\u002F2.package-types\u002F11.terraform",{"title":231,"path":232,"stem":233},"Hugging Face","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhugging-face","docs\u002F3.guides\u002F2.package-types\u002F12.hugging-face",{"title":235,"path":236,"stem":237},"Generic files","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgeneric","docs\u002F3.guides\u002F2.package-types\u002F13.generic",{"title":239,"path":240,"stem":241},"RPM","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frpm","docs\u002F3.guides\u002F2.package-types\u002F14.rpm",{"title":243,"path":244,"stem":245},"Debian","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdebian","docs\u002F3.guides\u002F2.package-types\u002F15.debian",{"title":247,"path":248,"stem":249},"Alpine","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Falpine","docs\u002F3.guides\u002F2.package-types\u002F16.alpine",{"title":251,"path":252,"stem":253},"Nix","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnix","docs\u002F3.guides\u002F2.package-types\u002F17.nix",{"title":255,"icon":256,"path":257,"stem":258,"children":259,"page":18},"Security","i-lucide-shield","\u002Fdocs\u002Fguides\u002Fsecurity","docs\u002F3.guides\u002F3.security",[260,264,268,272,276,280,284,288,292],{"title":261,"path":262,"stem":263},"Permissions","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fpermissions","docs\u002F3.guides\u002F3.security\u002F1.permissions",{"title":265,"path":266,"stem":267},"LDAP","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fldap","docs\u002F3.guides\u002F3.security\u002F2.ldap",{"title":269,"path":270,"stem":271},"Access tokens","\u002Fdocs\u002Fguides\u002Fsecurity\u002Ftokens","docs\u002F3.guides\u002F3.security\u002F3.tokens",{"title":273,"path":274,"stem":275},"Relic Scan","\u002Fdocs\u002Fguides\u002Fsecurity\u002Frelic-scan","docs\u002F3.guides\u002F3.security\u002F4.relic-scan",{"title":277,"path":278,"stem":279},"CVE intelligence","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fcve-intelligence","docs\u002F3.guides\u002F3.security\u002F5.cve-intelligence",{"title":281,"path":282,"stem":283},"Audit log","\u002Fdocs\u002Fguides\u002Fsecurity\u002Faudit-log","docs\u002F3.guides\u002F3.security\u002F6.audit-log",{"title":285,"path":286,"stem":287},"Single sign-on","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fsingle-sign-on","docs\u002F3.guides\u002F3.security\u002F7.single-sign-on",{"title":289,"path":290,"stem":291},"SCIM provisioning","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fscim","docs\u002F3.guides\u002F3.security\u002F8.scim",{"title":293,"path":294,"stem":295},"Workload identities","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fworkload-identities","docs\u002F3.guides\u002F3.security\u002F9.workload-identities",{"title":297,"path":298,"stem":299},"Operations","\u002Fdocs\u002Fguides\u002Foperations","docs\u002F3.guides\u002F4.operations",{"title":105,"path":301,"stem":302},"\u002Fdocs\u002Fguides\u002Fmonitoring","docs\u002F3.guides\u002F5.monitoring",{"title":304,"path":305,"stem":306},"Metrics reference","\u002Fdocs\u002Fguides\u002Fmetrics-reference","docs\u002F3.guides\u002F6.metrics-reference",{"title":308,"path":309,"stem":310},"Webhooks","\u002Fdocs\u002Fguides\u002Fwebhooks","docs\u002F3.guides\u002F7.webhooks",{"title":312,"path":313,"stem":314},"Projects","\u002Fdocs\u002Fguides\u002Fprojects","docs\u002F3.guides\u002F8.projects",{"title":316,"path":317,"stem":318},"AI agents","\u002Fdocs\u002Fguides\u002Fai-agents","docs\u002F3.guides\u002F9.ai-agents",{"title":320,"icon":321,"path":322,"stem":323,"children":324,"page":18},"API","i-lucide-braces","\u002Fdocs\u002Fapi","docs\u002F4.api",[325,329],{"title":326,"path":327,"stem":328},"API usage","\u002Fdocs\u002Fapi\u002Foverview","docs\u002F4.api\u002F1.overview",{"title":330,"path":331,"stem":332},"Relic API","\u002Fdocs\u002Fapi\u002Frelic-api","docs\u002F4.api\u002F2.relic-api",{"title":334,"icon":31,"path":335,"stem":336,"children":337,"page":18},"CLI","\u002Fdocs\u002Fcli","docs\u002F5.cli",[338,341,345,349,353,357,361,365,369,373,377,381,385,389,393],{"title":5,"path":339,"stem":340},"\u002Fdocs\u002Fcli\u002Foverview","docs\u002F5.cli\u002F01.overview",{"title":342,"path":343,"stem":344},"Sign in and contexts","\u002Fdocs\u002Fcli\u002Fsign-in","docs\u002F5.cli\u002F02.sign-in",{"title":346,"path":347,"stem":348},"Resources","\u002Fdocs\u002Fcli\u002Fresources","docs\u002F5.cli\u002F03.resources",{"title":350,"path":351,"stem":352},"apply, diff and delete","\u002Fdocs\u002Fcli\u002Fapply","docs\u002F5.cli\u002F04.apply",{"title":354,"path":355,"stem":356},"Artifacts","\u002Fdocs\u002Fcli\u002Ffiles","docs\u002F5.cli\u002F05.files",{"title":358,"path":359,"stem":360},"Server, API and tokens","\u002Fdocs\u002Fcli\u002Fplatform","docs\u002F5.cli\u002F06.platform",{"title":362,"path":363,"stem":364},"Builds and images","\u002Fdocs\u002Fcli\u002Fbuilds","docs\u002F5.cli\u002F07.builds",{"title":366,"path":367,"stem":368},"Scanning and auditing","\u002Fdocs\u002Fcli\u002Fsecurity","docs\u002F5.cli\u002F08.security",{"title":370,"path":371,"stem":372},"Releases","\u002Fdocs\u002Fcli\u002Freleases","docs\u002F5.cli\u002F09.releases",{"title":374,"path":375,"stem":376},"Evidence","\u002Fdocs\u002Fcli\u002Fevidence","docs\u002F5.cli\u002F10.evidence",{"title":378,"path":379,"stem":380},"Package managers","\u002Fdocs\u002Fcli\u002Fpackage-managers","docs\u002F5.cli\u002F11.package-managers",{"title":382,"path":383,"stem":384},"Scan reports and VEX","\u002Fdocs\u002Fcli\u002Freports-and-vex","docs\u002F5.cli\u002F12.reports-and-vex",{"title":386,"path":387,"stem":388},"Migrating from Artifactory","\u002Fdocs\u002Fcli\u002Fimport","docs\u002F5.cli\u002F13.import",{"title":390,"path":391,"stem":392},"Database","\u002Fdocs\u002Fcli\u002Fdatabase","docs\u002F5.cli\u002F14.database",{"title":394,"path":395,"stem":396},"Machine setup","\u002Fdocs\u002Fcli\u002Fsetup","docs\u002F5.cli\u002F15.setup",{"title":398,"icon":399,"path":400,"stem":401,"children":402,"page":18},"SDK","i-lucide-boxes","\u002Fdocs\u002Fsdk","docs\u002F6.sdk",[403,406],{"title":5,"path":404,"stem":405},"\u002Fdocs\u002Fsdk\u002Foverview","docs\u002F6.sdk\u002F1.overview",{"title":407,"path":408,"stem":409},"Relic API clients","\u002Fdocs\u002Fsdk\u002Frelic-api-clients","docs\u002F6.sdk\u002F2.relic-api-clients",{"id":411,"title":15,"body":412,"description":1732,"extension":1733,"links":1734,"meta":1735,"navigation":1736,"path":16,"seo":1737,"stem":17,"__hash__":1738},"docs\u002Fdocs\u002F1.overview\u002F2.jfrog-compatibility.md",{"type":413,"value":414,"toc":1720},"minimark",[415,428,433,441,508,511,532,538,546,550,662,688,691,694,728,738,741,792,805,808,838,848,851,872,878,894,915,920,923,954,957,978,983,986,1007,1010,1043,1046,1101,1111,1114,1140,1161,1165,1177,1180,1217,1224,1249,1253,1263,1281,1299,1303,1390,1394,1430,1434,1494,1506,1509,1567,1571,1584,1688,1691,1695,1712,1716],[416,417,418,419,423,424,427],"p",{},"Relic serves the APIs of JFrog® Artifactory® and Xray®. The JFrog CLI (",[420,421,422],"code",{},"jf","),\nthe package managers it configures, and code written for those APIs work\nagainst Relic unchanged. To move an Artifactory into Relic, see\n",[425,426,386],"a",{"href":387},".",[429,430,432],"h2",{"id":431},"configure-jf","Configure jf",[416,434,435,436,440],{},"Create an access token in the UI, under ",[437,438,439],"strong",{},"Set me up",".\nAdd Relic to jf as a server:",[442,443,448],"pre",{"className":444,"code":445,"language":446,"meta":447,"style":447},"language-bash shiki shiki-themes material-theme-lighter github-light-default github-dark-default","jf config add relic --url https:\u002F\u002Frelic.example.com --user \u003Cyou> --access-token \u003Ctoken> --interactive=false\n","bash","",[420,449,450],{"__ignoreMap":447},[451,452,455,458,462,465,468,472,475,478,482,485,489,492,495,497,500,503,505],"span",{"class":453,"line":454},"line",1,[451,456,422],{"class":457},"seIyd",[451,459,461],{"class":460},"sasMN"," config",[451,463,464],{"class":460}," add",[451,466,467],{"class":460}," relic",[451,469,471],{"class":470},"smky3"," --url",[451,473,474],{"class":460}," https:\u002F\u002Frelic.example.com",[451,476,477],{"class":470}," --user",[451,479,481],{"class":480},"s8eFF"," \u003C",[451,483,484],{"class":460},"yo",[451,486,488],{"class":487},"saDVj","u",[451,490,491],{"class":480},">",[451,493,494],{"class":470}," --access-token",[451,496,481],{"class":480},[451,498,499],{"class":460},"toke",[451,501,502],{"class":487},"n",[451,504,491],{"class":480},[451,506,507],{"class":470}," --interactive=false\n",[416,509,510],{},"Check that jf reaches Relic:",[442,512,514],{"className":444,"code":513,"language":446,"meta":447,"style":447},"jf rt ping --server-id relic\n",[420,515,516],{"__ignoreMap":447},[451,517,518,520,523,526,529],{"class":453,"line":454},[451,519,422],{"class":457},[451,521,522],{"class":460}," rt",[451,524,525],{"class":460}," ping",[451,527,528],{"class":470}," --server-id",[451,530,531],{"class":460}," relic\n",[416,533,534,537],{},[420,535,536],{},"jf login"," also works: approve the code jf shows in the UI. LDAP users sign in\nthe same ways.",[416,539,540,541,545],{},"If Relic's certificate comes from a private CA, such as the one Relic generates\n(",[425,542,544],{"href":543},"\u002Fdocs\u002Finstallation\u002Fconfiguration#tls","TLS","), add the CA certificate to the\nsystem trust store of the machine that runs jf.",[429,547,549],{"id":548},"endpoints-jf-uses","Endpoints jf uses",[551,552,553,566],"table",{},[554,555,556],"thead",{},[557,558,559,563],"tr",{},[560,561,562],"th",{},"jf commands",[560,564,565],{},"Relic serves",[567,568,569,583,603,619,635,647],"tbody",{},[557,570,571,578],{},[572,573,574,577],"td",{},[420,575,576],{},"jf rt ...",", package managers jf configures",[572,579,580],{},[420,581,582],{},"\u002Fartifactory\u002F...",[557,584,585,597],{},[572,586,587,590,591,590,594],{},[420,588,589],{},"jf audit",", ",[420,592,593],{},"jf scan",[420,595,596],{},"jf xr ...",[572,598,599,602],{},[420,600,601],{},"\u002Fxray\u002F..."," (Relic Scan)",[557,604,605,614],{},[572,606,607,590,610,613],{},[420,608,609],{},"jf rbc",[420,611,612],{},"jf rbp",", ...",[572,615,616],{},[420,617,618],{},"\u002Flifecycle\u002F...",[557,620,621,626],{},[572,622,623],{},[420,624,625],{},"jf evd ...",[572,627,628,631,632],{},[420,629,630],{},"\u002Fevidence\u002F..."," and ",[420,633,634],{},"\u002Fonemodel\u002F...",[557,636,637,642],{},[572,638,639,640],{},"tokens, ",[420,641,536],{},[572,643,644],{},[420,645,646],{},"\u002Faccess\u002F...",[557,648,649,657],{},[572,650,651,590,654],{},[420,652,653],{},"docker",[420,655,656],{},"jf docker",[572,658,659],{},[420,660,661],{},"\u002Fv2\u002F...",[416,663,664,665,668,669,672,673,676,677,680,681,684,685,427],{},"Clients configured by jf use paths under ",[420,666,667],{},"\u002Fartifactory\u002F",", such as\n",[420,670,671],{},"\u002Fartifactory\u002Fapi\u002Fnpm\u002F\u003Crepo>\u002F",". Clients configured by ",[420,674,675],{},"relic package setup","\nuse Relic's own paths, such as ",[420,678,679],{},"\u002Fnpm\u002F\u003Crepo>\u002F",". Both reach the same\nrepositories. A Git LFS repository's API is at ",[420,682,683],{},"\u002Fartifactory\u002Fapi\u002Flfs\u002F\u003Crepo>","\nas well as ",[420,686,687],{},"\u002Flfs\u002F\u003Crepo>",[429,689,378],{"id":690},"package-managers",[416,692,693],{},"Configure npm, yarn and pnpm:",[442,695,697],{"className":444,"code":696,"language":446,"meta":447,"style":447},"jf npmc --server-id-resolve relic --repo-resolve npm --server-id-deploy relic --repo-deploy npm-local\n",[420,698,699],{"__ignoreMap":447},[451,700,701,703,706,709,711,714,717,720,722,725],{"class":453,"line":454},[451,702,422],{"class":457},[451,704,705],{"class":460}," npmc",[451,707,708],{"class":470}," --server-id-resolve",[451,710,467],{"class":460},[451,712,713],{"class":470}," --repo-resolve",[451,715,716],{"class":460}," npm",[451,718,719],{"class":470}," --server-id-deploy",[451,721,467],{"class":460},[451,723,724],{"class":470}," --repo-deploy",[451,726,727],{"class":460}," npm-local\n",[416,729,730,731,631,734,737],{},"Then ",[420,732,733],{},"jf npm install",[420,735,736],{},"jf npm publish"," work.",[416,739,740],{},"Configure Maven:",[442,742,744],{"className":444,"code":743,"language":446,"meta":447,"style":447},"jf mvnc --server-id-resolve relic --repo-resolve-releases maven --repo-resolve-snapshots maven \\\n  --server-id-deploy relic --repo-deploy-releases maven-local --repo-deploy-snapshots maven-local\n",[420,745,746,772],{"__ignoreMap":447},[451,747,748,750,753,755,757,760,763,766,768],{"class":453,"line":454},[451,749,422],{"class":457},[451,751,752],{"class":460}," mvnc",[451,754,708],{"class":470},[451,756,467],{"class":460},[451,758,759],{"class":470}," --repo-resolve-releases",[451,761,762],{"class":460}," maven",[451,764,765],{"class":470}," --repo-resolve-snapshots",[451,767,762],{"class":460},[451,769,771],{"class":770},"s3oUJ"," \\\n",[451,773,775,778,780,783,786,789],{"class":453,"line":774},2,[451,776,777],{"class":470},"  --server-id-deploy",[451,779,467],{"class":460},[451,781,782],{"class":470}," --repo-deploy-releases",[451,784,785],{"class":460}," maven-local",[451,787,788],{"class":470}," --repo-deploy-snapshots",[451,790,791],{"class":460}," maven-local\n",[416,793,730,794,797,798,801,802,427],{},[420,795,796],{},"jf mvn deploy"," works. Gradle works the same way with ",[420,799,800],{},"jf gradlec"," and\n",[420,803,804],{},"jf gradle",[416,806,807],{},"Configure Go:",[442,809,811],{"className":444,"code":810,"language":446,"meta":447,"style":447},"jf goc --server-id-resolve relic --repo-resolve go --server-id-deploy relic --repo-deploy go-local\n",[420,812,813],{"__ignoreMap":447},[451,814,815,817,820,822,824,826,829,831,833,835],{"class":453,"line":454},[451,816,422],{"class":457},[451,818,819],{"class":460}," goc",[451,821,708],{"class":470},[451,823,467],{"class":460},[451,825,713],{"class":470},[451,827,828],{"class":460}," go",[451,830,719],{"class":470},[451,832,467],{"class":460},[451,834,724],{"class":470},[451,836,837],{"class":460}," go-local\n",[416,839,730,840,843,844,847],{},[420,841,842],{},"jf go build .\u002F..."," builds and ",[420,845,846],{},"jf go-publish v1.2.3"," publishes a module\nversion.",[416,849,850],{},"Configure pip:",[442,852,854],{"className":444,"code":853,"language":446,"meta":447,"style":447},"jf pipc --server-id-resolve relic --repo-resolve pypi\n",[420,855,856],{"__ignoreMap":447},[451,857,858,860,863,865,867,869],{"class":453,"line":454},[451,859,422],{"class":457},[451,861,862],{"class":460}," pipc",[451,864,708],{"class":470},[451,866,467],{"class":460},[451,868,713],{"class":470},[451,870,871],{"class":460}," pypi\n",[416,873,730,874,877],{},[420,875,876],{},"jf pip install requests"," works.",[416,879,880,881,668,884,887,888,890,891],{},"Configure Poetry with a repository that is not named ",[420,882,883],{},"pypi",[420,885,886],{},"pypi-remote",". jf names the Poetry source after the repository, and Poetry\nrefuses a source named ",[420,889,883],{}," with ",[420,892,893],{},"The PyPI repository cannot be configured with a custom url.",[442,895,897],{"className":444,"code":896,"language":446,"meta":447,"style":447},"jf poetry-config --server-id-resolve relic --repo-resolve pypi-remote\n",[420,898,899],{"__ignoreMap":447},[451,900,901,903,906,908,910,912],{"class":453,"line":454},[451,902,422],{"class":457},[451,904,905],{"class":460}," poetry-config",[451,907,708],{"class":470},[451,909,467],{"class":460},[451,911,713],{"class":470},[451,913,914],{"class":460}," pypi-remote\n",[416,916,730,917,877],{},[420,918,919],{},"jf poetry install",[416,921,922],{},"Push a Docker image and record build info:",[442,924,926],{"className":444,"code":925,"language":446,"meta":447,"style":447},"jf docker push relic.example.com\u002Fdocker-local\u002Fapp:1.0 --build-name app --build-number 1\n",[420,927,928],{"__ignoreMap":447},[451,929,930,932,935,938,941,944,947,950],{"class":453,"line":454},[451,931,422],{"class":457},[451,933,934],{"class":460}," docker",[451,936,937],{"class":460}," push",[451,939,940],{"class":460}," relic.example.com\u002Fdocker-local\u002Fapp:1.0",[451,942,943],{"class":470}," --build-name",[451,945,946],{"class":460}," app",[451,948,949],{"class":470}," --build-number",[451,951,953],{"class":952},"sIO_5"," 1\n",[416,955,956],{},"Configure NuGet:",[442,958,960],{"className":444,"code":959,"language":446,"meta":447,"style":447},"jf dotnetc --server-id-resolve relic --repo-resolve nuget\n",[420,961,962],{"__ignoreMap":447},[451,963,964,966,969,971,973,975],{"class":453,"line":454},[451,965,422],{"class":457},[451,967,968],{"class":460}," dotnetc",[451,970,708],{"class":470},[451,972,467],{"class":460},[451,974,713],{"class":470},[451,976,977],{"class":460}," nuget\n",[416,979,730,980,877],{},[420,981,982],{},"jf dotnet restore",[416,984,985],{},"Configure Terraform:",[442,987,989],{"className":444,"code":988,"language":446,"meta":447,"style":447},"jf tfc --server-id-deploy relic --repo-deploy terraform-local\n",[420,990,991],{"__ignoreMap":447},[451,992,993,995,998,1000,1002,1004],{"class":453,"line":454},[451,994,422],{"class":457},[451,996,997],{"class":460}," tfc",[451,999,719],{"class":470},[451,1001,467],{"class":460},[451,1003,724],{"class":470},[451,1005,1006],{"class":460}," terraform-local\n",[416,1008,1009],{},"Publish each module under the current directory:",[442,1011,1013],{"className":444,"code":1012,"language":446,"meta":447,"style":447},"jf tf publish --namespace acme --provider aws --tag v1.0.0\n",[420,1014,1015],{"__ignoreMap":447},[451,1016,1017,1019,1022,1025,1028,1031,1034,1037,1040],{"class":453,"line":454},[451,1018,422],{"class":457},[451,1020,1021],{"class":460}," tf",[451,1023,1024],{"class":460}," publish",[451,1026,1027],{"class":470}," --namespace",[451,1029,1030],{"class":460}," acme",[451,1032,1033],{"class":470}," --provider",[451,1035,1036],{"class":460}," aws",[451,1038,1039],{"class":470}," --tag",[451,1041,1042],{"class":460}," v1.0.0\n",[416,1044,1045],{},"Upload a Hugging Face model:",[442,1047,1049],{"className":444,"code":1048,"language":446,"meta":447,"style":447},"jf hf upload \u003Cfolder> \u003Corg>\u002F\u003Cmodel> --repo-key hf\n",[420,1050,1051],{"__ignoreMap":447},[451,1052,1053,1055,1058,1061,1063,1066,1069,1071,1073,1076,1079,1081,1084,1087,1090,1093,1095,1098],{"class":453,"line":454},[451,1054,422],{"class":457},[451,1056,1057],{"class":460}," hf",[451,1059,1060],{"class":460}," upload",[451,1062,481],{"class":480},[451,1064,1065],{"class":460},"folde",[451,1067,1068],{"class":487},"r",[451,1070,491],{"class":480},[451,1072,481],{"class":480},[451,1074,1075],{"class":460},"or",[451,1077,1078],{"class":487},"g",[451,1080,491],{"class":480},[451,1082,1083],{"class":460},"\u002F",[451,1085,1086],{"class":480},"\u003C",[451,1088,1089],{"class":460},"mode",[451,1091,1092],{"class":487},"l",[451,1094,491],{"class":480},[451,1096,1097],{"class":470}," --repo-key",[451,1099,1100],{"class":460}," hf\n",[416,1102,1103,1106,1107,427],{},[420,1104,1105],{},"jf hf download"," downloads one; both work through\n",[425,1108,1110],{"href":1109},"\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhugging-face#xet-storage","Xet",[416,1112,1113],{},"Upload generic files:",[442,1115,1117],{"className":444,"code":1116,"language":446,"meta":447,"style":447},"jf rt upload \"build\u002F*\" generic-local\u002Fapp\u002F\n",[420,1118,1119],{"__ignoreMap":447},[451,1120,1121,1123,1125,1127,1131,1134,1137],{"class":453,"line":454},[451,1122,422],{"class":457},[451,1124,522],{"class":460},[451,1126,1060],{"class":460},[451,1128,1130],{"class":1129},"sX5mu"," \"",[451,1132,1133],{"class":460},"build\u002F*",[451,1135,1136],{"class":1129},"\"",[451,1138,1139],{"class":460}," generic-local\u002Fapp\u002F\n",[416,1141,1142,590,1145,590,1148,590,1151,590,1154,631,1157,1160],{},[420,1143,1144],{},"jf rt download",[420,1146,1147],{},"set-props",[420,1149,1150],{},"search",[420,1152,1153],{},"copy",[420,1155,1156],{},"move",[420,1158,1159],{},"delete"," work on\nthe same patterns.",[429,1162,1164],{"id":1163},"configuration","Configuration",[416,1166,1167,590,1170,801,1173,1176],{},[420,1168,1169],{},"jf rt repo-create",[420,1171,1172],{},"jf rt permission-target-create",[420,1174,1175],{},"jf rt replication-create"," create repositories, permission targets and\nreplications in Relic.",[416,1178,1179],{},"Relic also serves:",[551,1181,1182,1192],{},[554,1183,1184],{},[557,1185,1186,1189],{},[560,1187,1188],{},"Resource",[560,1190,1191],{},"Path",[567,1193,1194,1207],{},[557,1195,1196,1199],{},[572,1197,1198],{},"LDAP settings",[572,1200,1201,590,1204],{},[420,1202,1203],{},"\u002Faccess\u002Fapi\u002Fv1\u002Fldap\u002Fsettings",[420,1205,1206],{},"\u002Faccess\u002Fapi\u002Fv1\u002Fldap\u002Fgroups",[557,1208,1209,1212],{},[572,1210,1211],{},"Trash can",[572,1213,1214],{},[420,1215,1216],{},"\u002Fartifactory\u002Fapi\u002Ftrash\u002F",[416,1218,1219,1220,1223],{},"Restore an item from the trash can (",[420,1221,1222],{},"\u002Fapi\u002Ftrash\u002Fempty"," empties it):",[442,1225,1227],{"className":444,"code":1226,"language":446,"meta":447,"style":447},"jf rt curl -XPOST \"\u002Fapi\u002Ftrash\u002Frestore\u002Flibs-local\u002Forg\u002Fapp\u002F1.0\u002Fapp-1.0.jar\"\n",[420,1228,1229],{"__ignoreMap":447},[451,1230,1231,1233,1235,1238,1241,1243,1246],{"class":453,"line":454},[451,1232,422],{"class":457},[451,1234,522],{"class":460},[451,1236,1237],{"class":460}," curl",[451,1239,1240],{"class":470}," -XPOST",[451,1242,1130],{"class":1129},[451,1244,1245],{"class":460},"\u002Fapi\u002Ftrash\u002Frestore\u002Flibs-local\u002Forg\u002Fapp\u002F1.0\u002Fapp-1.0.jar",[451,1247,1248],{"class":1129},"\"\n",[429,1250,1252],{"id":1251},"builds","Builds",[416,1254,1255,1256,801,1259,1262],{},"The package-manager commands record build info with ",[420,1257,1258],{},"--build-name",[420,1260,1261],{},"--build-number",". Publish it:",[442,1264,1266],{"className":444,"code":1265,"language":446,"meta":447,"style":447},"jf rt build-publish app 1\n",[420,1267,1268],{"__ignoreMap":447},[451,1269,1270,1272,1274,1277,1279],{"class":453,"line":454},[451,1271,422],{"class":457},[451,1273,522],{"class":460},[451,1275,1276],{"class":460}," build-publish",[451,1278,946],{"class":460},[451,1280,953],{"class":952},[416,1282,1283,1284,1287,1288,1291,1292,1295,1296,1298],{},"The other ",[420,1285,1286],{},"jf rt build-*"," commands and ",[420,1289,1290],{},"docker-promote"," also work. Builds\npublished with ",[420,1293,1294],{},"--project"," appear under ",[437,1297,1252],{}," in the UI once you pick the\nproject.",[429,1300,1302],{"id":1301},"scanning","Scanning",[1304,1305,1306,1331,1348,1351,1359,1375,1381],"ul",{},[1307,1308,1309,1311,1312,801,1314,1317,1318,1321,1322,1325,1326,1330],"li",{},[420,1310,589],{}," scans on the client from the dependency tree. ",[420,1313,593],{},[420,1315,1316],{},"jf docker scan"," scan on the client with the ",[420,1319,1320],{},"relic-indexer"," builds Relic\nserves (",[420,1323,1324],{},"RELIC_INDEXER_DIR","). The Docker image includes them; on a\n",[425,1327,1329],{"href":1328},"\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Fquick-start#local-scans-with-the-jfrog-cli","single-binary installation","\nthe install script adds them.",[1307,1332,1333,1334,590,1336,590,1338,631,1340,1343,1344,1347],{},"When no worker with Syft and Grype has reported in the last 20 minutes,\n",[420,1335,589],{},[420,1337,593],{},[420,1339,1316],{},[420,1341,1342],{},"jf build-scan"," fail at once with\n",[420,1345,1346],{},"424 Failed Dependency",". So do the requests behind them, including polling a\nqueued scan and asking to scan an artifact. Stored results stay readable. On a\nnew installation with a separate worker, this also applies until the worker\nhas started for the first time.",[1307,1349,1350],{},"The same commands fail when the worker has no vulnerability database and none\nis coming: downloads are off and none was imported, or its download failed. They\nwait while a download is running. Stored artifacts report a failed scan and are\nscanned again when a database arrives.",[1307,1352,1353,1355,1356,1358],{},[420,1354,1342],{}," scans a published build. Build scans and ",[420,1357,589],{}," report\nvulnerabilities only; license policies apply to stored artifacts.",[1307,1360,1361,1364,1365,1367,1368,1371,1372,427],{},[420,1362,1363],{},"jf scan --licenses"," lists the licenses ",[420,1366,1320],{}," finds.\n",[420,1369,1370],{},"jf audit --licenses"," lists each dependency as ",[420,1373,1374],{},"Unknown",[1307,1376,1377,1380],{},[420,1378,1379],{},"jf curation-audit"," reports every package as approved: Relic has no curation\npolicies. When a Relic Scan watch blocks a package the package manager needs,\nthe audit stops with HTTP 403.",[1307,1382,1383,1386,1387,427],{},[420,1384,1385],{},"jf evd"," needs a server configured with ",[420,1388,1389],{},"--access-token",[429,1391,1393],{"id":1392},"limits","Limits",[1304,1395,1396,1406,1424],{},[1307,1397,1398,1401,1402,1405],{},[420,1399,1400],{},"--archive-entries"," is not supported: Relic does not index files inside\narchives and answers with 400. The ",[437,1403,1404],{},"Archive"," tab of an artifact in the UI\nlists them.",[1307,1407,1408,1409,1412,1413,590,1415,631,1418,890,1420,1423],{},"Relic signs every release bundle with its own key pair, ",[420,1410,1411],{},"release-bundles",".\n",[420,1414,609],{},[420,1416,1417],{},"jf rbf",[420,1419,612],{},[420,1421,1422],{},"--signing-key"," naming another key\nanswer 400; leave the flag out.",[1307,1425,1426,1429],{},[420,1427,1428],{},"jf rbp --promotion-type move"," copies: the artifacts stay in the previous\nenvironment's repositories. jf reports success, and the promotion record says\nthe move was performed as a copy.",[429,1431,1433],{"id":1432},"rest-apis","REST APIs",[551,1435,1436,1444],{},[554,1437,1438],{},[557,1439,1440,1442],{},[560,1441,320],{},[560,1443,1191],{},[567,1445,1446,1455,1465,1475,1485],{},[557,1447,1448,1451],{},[572,1449,1450],{},"Artifactory®",[572,1452,1453],{},[420,1454,667],{},[557,1456,1457,1460],{},[572,1458,1459],{},"Xray®",[572,1461,1462],{},[420,1463,1464],{},"\u002Fxray\u002F",[557,1466,1467,1470],{},[572,1468,1469],{},"Access",[572,1471,1472],{},[420,1473,1474],{},"\u002Faccess\u002F",[557,1476,1477,1480],{},[572,1478,1479],{},"Lifecycle",[572,1481,1482],{},[420,1483,1484],{},"\u002Flifecycle\u002F",[557,1486,1487,1489],{},[572,1488,374],{},[572,1490,1491],{},[420,1492,1493],{},"\u002Fevidence\u002F",[416,1495,1496,1497,1501,1502,1505],{},"They accept Basic credentials or an access token, and JFrog's documentation\ndescribes them. The ",[425,1498,1500],{"href":1499},"\u002Fapi-reference","API reference"," covers the Relic API only.\nThe UI's session cookie works under ",[420,1503,1504],{},"\u002Fapi\u002F"," only, so a browser page cannot\ncall these APIs.",[416,1507,1508],{},"Run an AQL search:",[442,1510,1512],{"className":444,"code":1511,"language":446,"meta":447,"style":447},"curl -u \u003Cuser>:\u003Ctoken> -X POST https:\u002F\u002Frelic.example.com\u002Fartifactory\u002Fapi\u002Fsearch\u002Faql \\\n  -d 'items.find({\"repo\":\"libs-local\",\"name\":{\"$match\":\"*.jar\"}})'\n",[420,1513,1514,1553],{"__ignoreMap":447},[451,1515,1516,1519,1522,1524,1527,1529,1531,1534,1536,1538,1540,1542,1545,1548,1551],{"class":453,"line":454},[451,1517,1518],{"class":457},"curl",[451,1520,1521],{"class":470}," -u",[451,1523,481],{"class":480},[451,1525,1526],{"class":460},"use",[451,1528,1068],{"class":487},[451,1530,491],{"class":480},[451,1532,1533],{"class":460},":",[451,1535,1086],{"class":480},[451,1537,499],{"class":460},[451,1539,502],{"class":487},[451,1541,491],{"class":480},[451,1543,1544],{"class":470}," -X",[451,1546,1547],{"class":460}," POST",[451,1549,1550],{"class":460}," https:\u002F\u002Frelic.example.com\u002Fartifactory\u002Fapi\u002Fsearch\u002Faql",[451,1552,771],{"class":770},[451,1554,1555,1558,1561,1564],{"class":453,"line":774},[451,1556,1557],{"class":470},"  -d",[451,1559,1560],{"class":1129}," '",[451,1562,1563],{"class":460},"items.find({\"repo\":\"libs-local\",\"name\":{\"$match\":\"*.jar\"}})",[451,1565,1566],{"class":1129},"'\n",[429,1568,1570],{"id":1569},"jfrog-go-sdk","JFrog Go SDK",[416,1572,1573,1574,1580,1581,1583],{},"Code written with ",[425,1575,1579],{"href":1576,"rel":1577},"https:\u002F\u002Fgithub.com\u002Fjfrog\u002Fjfrog-client-go",[1578],"nofollow","jfrog-client-go","\nworks against Relic. Point the service details at ",[420,1582,667],{},"; the password\ncan be an access token:",[442,1585,1589],{"className":1586,"code":1587,"language":1588,"meta":447,"style":447},"language-go shiki shiki-themes material-theme-lighter github-light-default github-dark-default","details := auth.NewArtifactoryDetails()\ndetails.SetUrl(\"https:\u002F\u002Frelic.example.com\u002Fartifactory\u002F\")\ndetails.SetUser(\"ci\")\ndetails.SetPassword(os.Getenv(\"RELIC_TOKEN\"))\n","go",[420,1590,1591,1612,1635,1656],{"__ignoreMap":447},[451,1592,1593,1596,1599,1602,1605,1609],{"class":453,"line":454},[451,1594,1595],{"class":487},"details ",[451,1597,1598],{"class":480},":=",[451,1600,1601],{"class":487}," auth",[451,1603,427],{"class":1604},"sWneD",[451,1606,1608],{"class":1607},"siEnl","NewArtifactoryDetails",[451,1610,1611],{"class":1604},"()\n",[451,1613,1614,1617,1619,1622,1625,1627,1630,1632],{"class":453,"line":774},[451,1615,1616],{"class":487},"details",[451,1618,427],{"class":1604},[451,1620,1621],{"class":1607},"SetUrl",[451,1623,1624],{"class":1604},"(",[451,1626,1136],{"class":1129},[451,1628,1629],{"class":460},"https:\u002F\u002Frelic.example.com\u002Fartifactory\u002F",[451,1631,1136],{"class":1129},[451,1633,1634],{"class":1604},")\n",[451,1636,1638,1640,1642,1645,1647,1649,1652,1654],{"class":453,"line":1637},3,[451,1639,1616],{"class":487},[451,1641,427],{"class":1604},[451,1643,1644],{"class":1607},"SetUser",[451,1646,1624],{"class":1604},[451,1648,1136],{"class":1129},[451,1650,1651],{"class":460},"ci",[451,1653,1136],{"class":1129},[451,1655,1634],{"class":1604},[451,1657,1659,1661,1663,1666,1668,1671,1673,1676,1678,1680,1683,1685],{"class":453,"line":1658},4,[451,1660,1616],{"class":487},[451,1662,427],{"class":1604},[451,1664,1665],{"class":1607},"SetPassword",[451,1667,1624],{"class":1604},[451,1669,1670],{"class":487},"os",[451,1672,427],{"class":1604},[451,1674,1675],{"class":1607},"Getenv",[451,1677,1624],{"class":1604},[451,1679,1136],{"class":1129},[451,1681,1682],{"class":460},"RELIC_TOKEN",[451,1684,1136],{"class":1129},[451,1686,1687],{"class":1604},"))\n",[416,1689,1690],{},"Relic is tested with jfrog-client-go v1.55.0.",[429,1692,1694],{"id":1693},"not-provided","Not provided",[416,1696,1697,1698,1701,1702,1705,1706,1711],{},"AppTrust, Distribution v1, Mission Control, Pipelines and Workers routes answer\n404 with \"Relic does not provide\" and the product's name, so jf fails at once.\n",[420,1699,1700],{},"jf release-bundle-distribute"," gets 404 with \"Relic does not distribute release\nbundles\". ",[420,1703,1704],{},"jf rt transfer-*"," fails; use\n",[425,1707,1708],{"href":387},[420,1709,1710],{},"relic import artifactory"," instead.",[1713,1714,1715],"note",{},"JFrog®, Artifactory® and Xray® are registered trademarks of JFrog Ltd. Relic is not affiliated with or endorsed by JFrog. The names only say which APIs and clients Relic works with.",[1717,1718,1719],"style",{},"html pre.shiki code .seIyd, html code.shiki .seIyd{--shiki-light:#E2931D;--shiki-default:#953800;--shiki-dark:#FFA657}html pre.shiki code .sasMN, html code.shiki .sasMN{--shiki-light:#91B859;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .smky3, html code.shiki .smky3{--shiki-light:#91B859;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .s8eFF, html code.shiki .s8eFF{--shiki-light:#39ADB5;--shiki-default:#CF222E;--shiki-dark:#FF7B72}html pre.shiki code .saDVj, html code.shiki .saDVj{--shiki-light:#90A4AE;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s3oUJ, html code.shiki .s3oUJ{--shiki-light:#90A4AE;--shiki-default:#CF222E;--shiki-dark:#FF7B72}html pre.shiki code .sIO_5, html code.shiki .sIO_5{--shiki-light:#F76D47;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .sX5mu, html code.shiki .sX5mu{--shiki-light:#39ADB5;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .sWneD, html code.shiki .sWneD{--shiki-light:#39ADB5;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .siEnl, html code.shiki .siEnl{--shiki-light:#6182B8;--shiki-default:#8250DF;--shiki-dark:#D2A8FF}",{"title":447,"searchDepth":774,"depth":774,"links":1721},[1722,1723,1724,1725,1726,1727,1728,1729,1730,1731],{"id":431,"depth":774,"text":432},{"id":548,"depth":774,"text":549},{"id":690,"depth":774,"text":378},{"id":1163,"depth":774,"text":1164},{"id":1251,"depth":774,"text":1252},{"id":1301,"depth":774,"text":1302},{"id":1392,"depth":774,"text":1393},{"id":1432,"depth":774,"text":1433},{"id":1569,"depth":774,"text":1570},{"id":1693,"depth":774,"text":1694},"Use the JFrog CLI, the Artifactory and Xray REST APIs and the JFrog Go SDK against Relic.","md",null,{},true,{"title":15,"description":1732},"ueR53GmscCUEHlSHUOK517Cpboi1zRCQuiKPdmQdveY",[1740,1742],{"title":11,"path":12,"stem":13,"description":1741,"children":-1},"What Relic is, what it serves, and the parts an installation runs.",{"title":26,"path":27,"stem":28,"description":1743,"children":-1},"The ways to run Relic, from one binary on one machine to a Helm release on Kubernetes.",1793857336226]