[{"data":1,"prerenderedAt":1268},["ShallowReactive",2],{"docs-navigation":3,"-docs-cli-overview":410,"-docs-cli-overview-surround":1263},[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":5,"body":412,"description":1256,"extension":1257,"links":1258,"meta":1259,"navigation":1260,"path":339,"seo":1261,"stem":340,"__hash__":1262},"docs\u002Fdocs\u002F5.cli\u002F01.overview.md",{"type":413,"value":414,"toc":1252},"minimark",[415,431,434,699,704,715,748,751,780,786,808,814,831,849,874,877,957,960,1024,1027,1057,1066,1134,1137,1143,1174,1177,1195,1198,1213,1216,1238,1248],[416,417,418,422,423,426,427,430],"p",{},[419,420,421],"code",{},"relic"," is the command-line client of the ",[424,425,330],"a",{"href":331},". The\nsame binary runs the server. Configuration lives in YAML files that you apply\nas with ",[419,428,429],{},"kubectl apply",".",[416,432,433],{},"Commands are grouped by what they act on:",[435,436,437,453],"table",{},[438,439,440],"thead",{},[441,442,443,447,450],"tr",{},[444,445,446],"th",{},"Group",[444,448,449],{},"Does",[444,451,452],{},"Page",[454,455,456,474,490,510,535,552,566,580,596,610,642,656,670,684],"tbody",{},[441,457,458,464,467],{},[459,460,461],"td",{},[419,462,463],{},"relic server",[459,465,466],{},"runs, installs and inspects the server on this machine",[459,468,469,471,472],{},[424,470,394],{"href":395},", ",[424,473,390],{"href":391},[441,475,476,481,484],{},[459,477,478],{},[419,479,480],{},"relic auth",[459,482,483],{},"sign-in, contexts and access tokens",[459,485,486,471,488],{},[424,487,342],{"href":343},[424,489,358],{"href":359},[441,491,492,503,506],{},[459,493,494,471,497,471,500],{},[419,495,496],{},"relic artifact",[419,498,499],{},"cleanup",[419,501,502],{},"hold",[459,504,505],{},"files, properties, cleanup policies and legal holds",[459,507,508],{},[424,509,354],{"href":355},[441,511,512,526,529],{},[459,513,514,471,517,471,520,471,523],{},[419,515,516],{},"relic apply",[419,518,519],{},"diff",[419,521,522],{},"get",[419,524,525],{},"delete",[459,527,528],{},"declarative configuration",[459,530,531,471,533],{},[424,532,346],{"href":347},[424,534,350],{"href":351},[441,536,537,545,548],{},[459,538,539,471,542],{},[419,540,541],{},"relic build",[419,543,544],{},"image",[459,546,547],{},"build runs and container image promotion",[459,549,550],{},[424,551,362],{"href":363},[441,553,554,559,562],{},[459,555,556],{},[419,557,558],{},"relic release",[459,560,561],{},"release bundles",[459,563,564],{},[424,565,370],{"href":371},[441,567,568,573,576],{},[459,569,570],{},[419,571,572],{},"relic evidence",[459,574,575],{},"signed evidence",[459,577,578],{},[424,579,374],{"href":375},[441,581,582,587,590],{},[459,583,584],{},[419,585,586],{},"relic security",[459,588,589],{},"scanning, reports, SBOMs, VEX and waivers",[459,591,592,471,594],{},[424,593,366],{"href":367},[424,595,382],{"href":383},[441,597,598,603,606],{},[459,599,600],{},[419,601,602],{},"relic package",[459,604,605],{},"package manager setup and publishing",[459,607,608],{},[424,609,378],{"href":379},[441,611,612,635,638],{},[459,613,614,471,617,471,620,471,623,471,626,471,629,471,632],{},[419,615,616],{},"relic storage",[419,618,619],{},"audit",[419,621,622],{},"usage",[419,624,625],{},"webhook",[419,627,628],{},"project",[419,630,631],{},"registry",[419,633,634],{},"api",[459,636,637],{},"server checks, audit log, usage, webhooks, projects, registries, API calls",[459,639,640],{},[424,641,358],{"href":359},[441,643,644,649,652],{},[459,645,646],{},[419,647,648],{},"relic replication",[459,650,651],{},"runs a replication now",[459,653,654],{},[424,655,177],{"href":178},[441,657,658,663,666],{},[459,659,660],{},[419,661,662],{},"relic mcp",[459,664,665],{},"serves Relic's read-only tools to an AI agent",[459,667,668],{},[424,669,316],{"href":317},[441,671,672,677,680],{},[459,673,674],{},[419,675,676],{},"relic import",[459,678,679],{},"migrating from Artifactory®",[459,681,682],{},[424,683,386],{"href":387},[441,685,686,691,694],{},[459,687,688],{},[419,689,690],{},"relic completion",[459,692,693],{},"shell completion scripts",[459,695,696],{},[424,697,354],{"href":698},"\u002Fdocs\u002Fcli\u002Ffiles#output-and-completion",[700,701,703],"h2",{"id":702},"install","Install",[416,705,706,707,710,711,714],{},"Install the latest release for Linux or macOS (amd64 or arm64) into\n",[419,708,709],{},"~\u002F.local\u002Fbin",". The script checks the SHA-256 sums and adds the ",[419,712,713],{},"relic-indexer","\nbuild a server hands to clients:",[716,717,722],"pre",{"className":718,"code":719,"language":720,"meta":721,"style":721},"language-bash shiki shiki-themes material-theme-lighter github-light-default github-dark-default","curl -fsSL https:\u002F\u002Frelic.build\u002Finstall.sh | sh\n","bash","",[419,723,724],{"__ignoreMap":721},[725,726,729,733,737,741,745],"span",{"class":727,"line":728},"line",1,[725,730,732],{"class":731},"seIyd","curl",[725,734,736],{"class":735},"smky3"," -fsSL",[725,738,740],{"class":739},"sasMN"," https:\u002F\u002Frelic.build\u002Finstall.sh",[725,742,744],{"class":743},"s8eFF"," |",[725,746,747],{"class":731}," sh\n",[416,749,750],{},"Install a specific release into another directory:",[716,752,754],{"className":718,"code":753,"language":720,"meta":721,"style":721},"curl -fsSL https:\u002F\u002Frelic.build\u002Finstall.sh | sudo env RELIC_VERSION=vX.Y.Z RELIC_INSTALL_DIR=\u002Fusr\u002Flocal\u002Fbin sh\n",[419,755,756],{"__ignoreMap":721},[725,757,758,760,762,764,766,769,772,775,778],{"class":727,"line":728},[725,759,732],{"class":731},[725,761,736],{"class":735},[725,763,740],{"class":739},[725,765,744],{"class":743},[725,767,768],{"class":731}," sudo",[725,770,771],{"class":739}," env",[725,773,774],{"class":739}," RELIC_VERSION=vX.Y.Z",[725,776,777],{"class":739}," RELIC_INSTALL_DIR=\u002Fusr\u002Flocal\u002Fbin",[725,779,747],{"class":739},[416,781,782,783,785],{},"Install only the CLI, without the ",[419,784,713],{}," build:",[716,787,789],{"className":718,"code":788,"language":720,"meta":721,"style":721},"curl -fsSL https:\u002F\u002Frelic.build\u002Finstall.sh | env RELIC_INDEXER_PLATFORMS= sh\n",[419,790,791],{"__ignoreMap":721},[725,792,793,795,797,799,801,803,806],{"class":727,"line":728},[725,794,732],{"class":731},[725,796,736],{"class":735},[725,798,740],{"class":739},[725,800,744],{"class":743},[725,802,771],{"class":731},[725,804,805],{"class":739}," RELIC_INDEXER_PLATFORMS=",[725,807,747],{"class":739},[416,809,810,811,430],{},"A Relic server also serves the script at ",[419,812,813],{},"\u002Finstall.sh",[416,815,816,817,823,824,827,828,430],{},"Each ",[424,818,822],{"href":819,"rel":820},"https:\u002F\u002Fgithub.com\u002Frelicbuild\u002Frelic\u002Freleases",[821],"nofollow","GitHub release"," has\narchives for Linux and macOS (amd64, arm64) and Windows (amd64, zip), an SBOM\nper archive, ",[419,825,826],{},"relic_\u003Ctag>_checksums.txt"," and its cosign signature\n",[419,829,830],{},"relic_\u003Ctag>_checksums.txt.sigstore.json",[416,832,833,834,471,837,840,841,844,845,848],{},"To install by hand, set the release and platform (",[419,835,836],{},"linux_amd64",[419,838,839],{},"linux_arm64",",\n",[419,842,843],{},"darwin_amd64"," or ",[419,846,847],{},"darwin_arm64","):",[716,850,852],{"className":718,"code":851,"language":720,"meta":721,"style":721},"v=vX.Y.Z p=linux_amd64\n",[419,853,854],{"__ignoreMap":721},[725,855,856,860,863,866,869,871],{"class":727,"line":728},[725,857,859],{"class":858},"saDVj","v",[725,861,862],{"class":743},"=",[725,864,865],{"class":739},"vX.Y.Z",[725,867,868],{"class":858}," p",[725,870,862],{"class":743},[725,872,873],{"class":739},"linux_amd64\n",[416,875,876],{},"Download the archive and the checksum files:",[716,878,880],{"className":718,"code":879,"language":720,"meta":721,"style":721},"gh release download \"$v\" --repo relicbuild\u002Frelic -p \"relic_${v}_${p}.tar.gz\" -p \"relic_${v}_checksums.txt*\"\n",[419,881,882],{"__ignoreMap":721},[725,883,884,887,890,893,897,900,903,906,909,912,914,917,920,922,925,928,930,932,934,937,939,941,943,945,947,949,951,954],{"class":727,"line":728},[725,885,886],{"class":731},"gh",[725,888,889],{"class":739}," release",[725,891,892],{"class":739}," download",[725,894,896],{"class":895},"sX5mu"," \"",[725,898,899],{"class":858},"$v",[725,901,902],{"class":895},"\"",[725,904,905],{"class":735}," --repo",[725,907,908],{"class":739}," relicbuild\u002Frelic",[725,910,911],{"class":735}," -p",[725,913,896],{"class":895},[725,915,916],{"class":739},"relic_",[725,918,919],{"class":895},"${",[725,921,859],{"class":858},[725,923,924],{"class":895},"}",[725,926,927],{"class":739},"_",[725,929,919],{"class":895},[725,931,416],{"class":858},[725,933,924],{"class":895},[725,935,936],{"class":739},".tar.gz",[725,938,902],{"class":895},[725,940,911],{"class":735},[725,942,896],{"class":895},[725,944,916],{"class":739},[725,946,919],{"class":895},[725,948,859],{"class":858},[725,950,924],{"class":895},[725,952,953],{"class":739},"_checksums.txt*",[725,955,956],{"class":895},"\"\n",[416,958,959],{},"Optionally, verify the checksum file's signature with cosign 2.5.0 or later:",[716,961,963],{"className":718,"code":962,"language":720,"meta":721,"style":721},"cosign verify-blob \"relic_${v}_checksums.txt\" --bundle \"relic_${v}_checksums.txt.sigstore.json\" --certificate-oidc-issuer https:\u002F\u002Ftoken.actions.githubusercontent.com --certificate-identity-regexp '^https:\u002F\u002Fgithub.com\u002Frelicbuild\u002Frelic\u002F'\n",[419,964,965],{"__ignoreMap":721},[725,966,967,970,973,975,977,979,981,983,986,988,991,993,995,997,999,1001,1004,1006,1009,1012,1015,1018,1021],{"class":727,"line":728},[725,968,969],{"class":731},"cosign",[725,971,972],{"class":739}," verify-blob",[725,974,896],{"class":895},[725,976,916],{"class":739},[725,978,919],{"class":895},[725,980,859],{"class":858},[725,982,924],{"class":895},[725,984,985],{"class":739},"_checksums.txt",[725,987,902],{"class":895},[725,989,990],{"class":735}," --bundle",[725,992,896],{"class":895},[725,994,916],{"class":739},[725,996,919],{"class":895},[725,998,859],{"class":858},[725,1000,924],{"class":895},[725,1002,1003],{"class":739},"_checksums.txt.sigstore.json",[725,1005,902],{"class":895},[725,1007,1008],{"class":735}," --certificate-oidc-issuer",[725,1010,1011],{"class":739}," https:\u002F\u002Ftoken.actions.githubusercontent.com",[725,1013,1014],{"class":735}," --certificate-identity-regexp",[725,1016,1017],{"class":895}," '",[725,1019,1020],{"class":739},"^https:\u002F\u002Fgithub.com\u002Frelicbuild\u002Frelic\u002F",[725,1022,1023],{"class":895},"'\n",[416,1025,1026],{},"Check the archive's SHA-256 sum:",[716,1028,1030],{"className":718,"code":1029,"language":720,"meta":721,"style":721},"sha256sum -c --ignore-missing \"relic_${v}_checksums.txt\"\n",[419,1031,1032],{"__ignoreMap":721},[725,1033,1034,1037,1040,1043,1045,1047,1049,1051,1053,1055],{"class":727,"line":728},[725,1035,1036],{"class":731},"sha256sum",[725,1038,1039],{"class":735}," -c",[725,1041,1042],{"class":735}," --ignore-missing",[725,1044,896],{"class":895},[725,1046,916],{"class":739},[725,1048,919],{"class":895},[725,1050,859],{"class":858},[725,1052,924],{"class":895},[725,1054,985],{"class":739},[725,1056,956],{"class":895},[416,1058,1059,1060,1062,1063,1065],{},"Unpack it and install ",[419,1061,421],{}," in ",[419,1064,709],{},":",[716,1067,1069],{"className":718,"code":1068,"language":720,"meta":721,"style":721},"tar -xzf \"relic_${v}_${p}.tar.gz\" && install \"relic_${v}_${p}\u002Frelic\" ~\u002F.local\u002Fbin\u002F\n",[419,1070,1071],{"__ignoreMap":721},[725,1072,1073,1076,1079,1081,1083,1085,1087,1089,1091,1093,1095,1097,1099,1101,1105,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1129,1131],{"class":727,"line":728},[725,1074,1075],{"class":731},"tar",[725,1077,1078],{"class":735}," -xzf",[725,1080,896],{"class":895},[725,1082,916],{"class":739},[725,1084,919],{"class":895},[725,1086,859],{"class":858},[725,1088,924],{"class":895},[725,1090,927],{"class":739},[725,1092,919],{"class":895},[725,1094,416],{"class":858},[725,1096,924],{"class":895},[725,1098,936],{"class":739},[725,1100,902],{"class":895},[725,1102,1104],{"class":1103},"sWneD"," &&",[725,1106,1107],{"class":731}," install",[725,1109,896],{"class":895},[725,1111,916],{"class":739},[725,1113,919],{"class":895},[725,1115,859],{"class":858},[725,1117,924],{"class":895},[725,1119,927],{"class":739},[725,1121,919],{"class":895},[725,1123,416],{"class":858},[725,1125,924],{"class":895},[725,1127,1128],{"class":739},"\u002Frelic",[725,1130,902],{"class":895},[725,1132,1133],{"class":739}," ~\u002F.local\u002Fbin\u002F\n",[416,1135,1136],{},"The archives do not include the scanners; the Relic image does. A server\nwithout syft and grype runs with scanning off.",[416,1138,1139,1140,1142],{},"The image holds the binary at ",[419,1141,1128],{},". To copy it out, create a container\nwithout starting it:",[716,1144,1146],{"className":718,"code":1145,"language":720,"meta":721,"style":721},"docker create --name relic-cli \u003Crelic-image>\n",[419,1147,1148],{"__ignoreMap":721},[725,1149,1150,1153,1156,1159,1162,1165,1168,1171],{"class":727,"line":728},[725,1151,1152],{"class":731},"docker",[725,1154,1155],{"class":739}," create",[725,1157,1158],{"class":735}," --name",[725,1160,1161],{"class":739}," relic-cli",[725,1163,1164],{"class":743}," \u003C",[725,1166,1167],{"class":739},"relic-imag",[725,1169,1170],{"class":858},"e",[725,1172,1173],{"class":743},">\n",[416,1175,1176],{},"Copy the binary out:",[716,1178,1180],{"className":718,"code":1179,"language":720,"meta":721,"style":721},"docker cp relic-cli:\u002Frelic .\u002Frelic\n",[419,1181,1182],{"__ignoreMap":721},[725,1183,1184,1186,1189,1192],{"class":727,"line":728},[725,1185,1152],{"class":731},[725,1187,1188],{"class":739}," cp",[725,1190,1191],{"class":739}," relic-cli:\u002Frelic",[725,1193,1194],{"class":739}," .\u002Frelic\n",[416,1196,1197],{},"Remove the container:",[716,1199,1201],{"className":718,"code":1200,"language":720,"meta":721,"style":721},"docker rm relic-cli\n",[419,1202,1203],{"__ignoreMap":721},[725,1204,1205,1207,1210],{"class":727,"line":728},[725,1206,1152],{"class":731},[725,1208,1209],{"class":739}," rm",[725,1211,1212],{"class":739}," relic-cli\n",[416,1214,1215],{},"Or build it from source in a checkout of the repository:",[716,1217,1219],{"className":718,"code":1218,"language":720,"meta":721,"style":721},"go build -o ~\u002Fbin\u002Frelic .\u002Fcmd\u002Frelic\n",[419,1220,1221],{"__ignoreMap":721},[725,1222,1223,1226,1229,1232,1235],{"class":727,"line":728},[725,1224,1225],{"class":731},"go",[725,1227,1228],{"class":739}," build",[725,1230,1231],{"class":735}," -o",[725,1233,1234],{"class":739}," ~\u002Fbin\u002Frelic",[725,1236,1237],{"class":739}," .\u002Fcmd\u002Frelic\n",[416,1239,1240,1241,1244,1245,1247],{},"Next, run ",[419,1242,1243],{},"relic server setup"," to write the config, add shell completion and\nrun the server as a service: systemd on Linux, launchd on macOS (",[424,1246,394],{"href":395},").",[1249,1250,1251],"style",{},"html pre.shiki code .seIyd, html code.shiki .seIyd{--shiki-light:#E2931D;--shiki-default:#953800;--shiki-dark:#FFA657}html pre.shiki code .smky3, html code.shiki .smky3{--shiki-light:#91B859;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .sasMN, html code.shiki .sasMN{--shiki-light:#91B859;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .s8eFF, html code.shiki .s8eFF{--shiki-light:#39ADB5;--shiki-default:#CF222E;--shiki-dark:#FF7B72}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 .saDVj, html code.shiki .saDVj{--shiki-light:#90A4AE;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}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}",{"title":721,"searchDepth":1253,"depth":1253,"links":1254},2,[1255],{"id":702,"depth":1253,"text":703},"relic is the command-line client of the Relic API; this page lists its commands and installs it.","md",null,{},true,{"title":5,"description":1256},"jj_-i23UCcrCESE2mS6gRy9OB6htqom_54IkLXUuqQY",[1264,1266],{"title":330,"path":331,"stem":332,"description":1265,"children":-1},"Relic's own API, defined in protobuf and served as REST, Connect, gRPC-Web and gRPC.",{"title":342,"path":343,"stem":344,"description":1267,"children":-1},"Sign in with relic auth login, switch saved contexts, and see how a command picks its server.",1793857340619]