[{"data":1,"prerenderedAt":1186},["ShallowReactive",2],{"docs-navigation":3,"-docs-cli-platform":410,"-docs-cli-platform-surround":1181},[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":358,"body":412,"description":1174,"extension":1175,"links":1176,"meta":1177,"navigation":1178,"path":359,"seo":1179,"stem":360,"__hash__":1180},"docs\u002Fdocs\u002F5.cli\u002F06.platform.md",{"type":413,"value":414,"toc":1161},"minimark",[415,420,424,450,465,469,472,487,490,508,519,528,550,553,556,577,607,611,614,633,640,643,646,664,671,687,691,696,699,729,732,751,755,766,783,786,803,806,822,828,832,861,864,898,901,936,940,946,949,966,969,988,991,994,1041,1044,1074,1077,1103,1110,1126,1133,1151,1157],[416,417,419],"h2",{"id":418},"status","Status",[421,422,423],"p",{},"Check the server and your sign-in:",[425,426,431],"pre",{"className":427,"code":428,"language":429,"meta":430,"style":430},"language-bash shiki shiki-themes material-theme-lighter github-light-default github-dark-default","relic auth status\n","bash","",[432,433,434],"code",{"__ignoreMap":430},[435,436,439,443,447],"span",{"class":437,"line":438},"line",1,[435,440,442],{"class":441},"seIyd","relic",[435,444,446],{"class":445},"sasMN"," auth",[435,448,449],{"class":445}," status\n",[421,451,452,453,456,457,464],{},"It reports the server's version, the round trip and who you are. For\nadministrators it also runs the database and object storage health checks and\nexits with 1 when one fails. When the server cannot reach its database, it\nshows a failed ",[432,454,455],{},"database"," check for any user and exits with 1. For a service\non this machine, see\n",[458,459,461],"a",{"href":460},"\u002Fdocs\u002Fcli\u002Fsetup#status-and-settings",[432,462,463],{},"relic server status",".",[416,466,468],{"id":467},"storage-check","Storage check",[421,470,471],{},"Queue a check of stored content against the database (administrators):",[425,473,475],{"className":427,"code":474,"language":429,"meta":430,"style":430},"relic storage check\n",[432,476,477],{"__ignoreMap":430},[435,478,479,481,484],{"class":437,"line":438},[435,480,442],{"class":441},[435,482,483],{"class":445}," storage",[435,485,486],{"class":445}," check\n",[421,488,489],{},"Wait for the check and print its report:",[425,491,493],{"className":427,"code":492,"language":429,"meta":430,"style":430},"relic storage check --wait\n",[432,494,495],{"__ignoreMap":430},[435,496,497,499,501,504],{"class":437,"line":438},[435,498,442],{"class":441},[435,500,483],{"class":445},[435,502,503],{"class":445}," check",[435,505,507],{"class":506},"smky3"," --wait\n",[421,509,510,511,514,515,518],{},"It reports missing or damaged content (exit status 1 with ",[432,512,513],{},"--wait",") and hands\nunused content to garbage collection. The worker also runs it daily\n(",[458,516,297],{"href":517},"\u002Fdocs\u002Fguides\u002Foperations#routine-operations",").",[421,520,521,523,524,527],{},[432,522,513],{}," gives up when no worker has started the check within 5 minutes, or\nwhen the check has not finished within ",[432,525,526],{},"--timeout"," (3 hours). Wait at most one\nhour:",[425,529,531],{"className":427,"code":530,"language":429,"meta":430,"style":430},"relic storage check --wait --timeout 1h\n",[432,532,533],{"__ignoreMap":430},[435,534,535,537,539,541,544,547],{"class":437,"line":438},[435,536,442],{"class":441},[435,538,483],{"class":445},[435,540,503],{"class":445},[435,542,543],{"class":506}," --wait",[435,545,546],{"class":506}," --timeout",[435,548,549],{"class":445}," 1h\n",[416,551,281],{"id":552},"audit-log",[421,554,555],{},"List the last day's audit events (viewers and administrators):",[425,557,559],{"className":427,"code":558,"language":429,"meta":430,"style":430},"relic audit list --since 24h\n",[432,560,561],{"__ignoreMap":430},[435,562,563,565,568,571,574],{"class":437,"line":438},[435,564,442],{"class":441},[435,566,567],{"class":445}," audit",[435,569,570],{"class":445}," list",[435,572,573],{"class":506}," --since",[435,575,576],{"class":445}," 24h\n",[421,578,579,582,583,582,586,589,590,593,594,582,597,600,601,604,605,518],{},[432,580,581],{},"--actor",", ",[432,584,585],{},"--action",[432,587,588],{},"--target"," and ",[432,591,592],{},"--outcome"," (",[432,595,596],{},"success",[432,598,599],{},"denied",",\n",[432,602,603],{},"failure",") narrow the list (",[458,606,281],{"href":282},[416,608,610],{"id":609},"usage","Usage",[421,612,613],{},"Print storage, growth, downloads and deploys by repository, project and user\nfor the last 90 days (viewers and administrators):",[425,615,617],{"className":427,"code":616,"language":429,"meta":430,"style":430},"relic usage --days 90\n",[432,618,619],{"__ignoreMap":430},[435,620,621,623,626,629],{"class":437,"line":438},[435,622,442],{"class":441},[435,624,625],{"class":445}," usage",[435,627,628],{"class":506}," --days",[435,630,632],{"class":631},"sIO_5"," 90\n",[421,634,635,636,518],{},"The period defaults to 30 days, at most 730\n(",[458,637,639],{"href":638},"\u002Fdocs\u002Fguides\u002Foperations#usage-reports","Usage reports",[416,641,308],{"id":642},"webhooks",[421,644,645],{},"List a webhook's latest deliveries (viewers and administrators); without a\nname, all webhooks':",[425,647,649],{"className":427,"code":648,"language":429,"meta":430,"style":430},"relic webhook deliveries ci-notify\n",[432,650,651],{"__ignoreMap":430},[435,652,653,655,658,661],{"class":437,"line":438},[435,654,442],{"class":441},[435,656,657],{"class":445}," webhook",[435,659,660],{"class":445}," deliveries",[435,662,663],{"class":445}," ci-notify\n",[421,665,666,667,670],{},"Queue a ",[432,668,669],{},"webhook.ping"," event (administrators):",[425,672,674],{"className":427,"code":673,"language":429,"meta":430,"style":430},"relic webhook ping ci-notify\n",[432,675,676],{"__ignoreMap":430},[435,677,678,680,682,685],{"class":437,"line":438},[435,679,442],{"class":441},[435,681,657],{"class":445},[435,683,684],{"class":445}," ping",[435,686,663],{"class":445},[416,688,690],{"id":689},"project-members","Project members",[421,692,693,694,518],{},"Administrators and a project's admins add and remove members one at a time\n(",[458,695,312],{"href":313},[421,697,698],{},"Add a group to a project as viewers:",[425,700,702],{"className":427,"code":701,"language":429,"meta":430,"style":430},"relic project member-add acme qa --group --role viewer\n",[432,703,704],{"__ignoreMap":430},[435,705,706,708,711,714,717,720,723,726],{"class":437,"line":438},[435,707,442],{"class":441},[435,709,710],{"class":445}," project",[435,712,713],{"class":445}," member-add",[435,715,716],{"class":445}," acme",[435,718,719],{"class":445}," qa",[435,721,722],{"class":506}," --group",[435,724,725],{"class":506}," --role",[435,727,728],{"class":445}," viewer\n",[421,730,731],{},"Remove a user from a project:",[425,733,735],{"className":427,"code":734,"language":429,"meta":430,"style":430},"relic project member-remove acme alice\n",[432,736,737],{"__ignoreMap":430},[435,738,739,741,743,746,748],{"class":437,"line":438},[435,740,442],{"class":441},[435,742,710],{"class":445},[435,744,745],{"class":445}," member-remove",[435,747,716],{"class":445},[435,749,750],{"class":445}," alice\n",[416,752,754],{"id":753},"mcp-server-and-skill-registries","MCP server and skill registries",[421,756,757,758,761,762,765],{},"List the entries of an ",[432,759,760],{},"mcp"," or ",[432,763,764],{},"skills"," repository you may read. Administrators\nand viewers also see unapproved entries:",[425,767,769],{"className":427,"code":768,"language":429,"meta":430,"style":430},"relic registry list mcp-servers\n",[432,770,771],{"__ignoreMap":430},[435,772,773,775,778,780],{"class":437,"line":438},[435,774,442],{"class":441},[435,776,777],{"class":445}," registry",[435,779,570],{"class":445},[435,781,782],{"class":445}," mcp-servers\n",[421,784,785],{},"Approve an entry's current content so the registry serves it (administrators):",[425,787,789],{"className":427,"code":788,"language":429,"meta":430,"style":430},"relic registry approve mcp-servers\u002Fweather\u002F1.1.0\u002Fserver.json\n",[432,790,791],{"__ignoreMap":430},[435,792,793,795,797,800],{"class":437,"line":438},[435,794,442],{"class":441},[435,796,777],{"class":445},[435,798,799],{"class":445}," approve",[435,801,802],{"class":445}," mcp-servers\u002Fweather\u002F1.1.0\u002Fserver.json\n",[421,804,805],{},"Withdraw the approval:",[425,807,809],{"className":427,"code":808,"language":429,"meta":430,"style":430},"relic registry revoke mcp-servers\u002Fweather\u002F1.1.0\u002Fserver.json\n",[432,810,811],{"__ignoreMap":430},[435,812,813,815,817,820],{"class":437,"line":438},[435,814,442],{"class":441},[435,816,777],{"class":445},[435,818,819],{"class":445}," revoke",[435,821,802],{"class":445},[421,823,824,825,464],{},"See ",[458,826,316],{"href":827},"\u002Fdocs\u002Fguides\u002Fai-agents#mcp-server-and-skill-registries",[416,829,831],{"id":830},"calling-the-api","Calling the API",[421,833,834,837,838,841,842,845,846,849,850,582,853,856,857,860],{},[432,835,836],{},"relic api"," sends a request with the current context's credentials and prints\nthe response. A path without a leading ",[432,839,840],{},"\u002F"," is under ",[432,843,844],{},"\u002Fapi\u002Fv1\u002F",". ",[432,847,848],{},"-d"," sends a body\n(",[432,851,852],{},"@file",[432,854,855],{},"@-"," for standard input) as POST unless ",[432,858,859],{},"-X"," says otherwise. An error\nresponse exits with 1.",[421,862,863],{},"Send a POST request with a body from a file:",[425,865,867],{"className":427,"code":866,"language":429,"meta":430,"style":430},"relic api -X POST 'builds\u002Fapp\u002Fruns\u002F7:promote' -d @promote.json\n",[432,868,869],{"__ignoreMap":430},[435,870,871,873,876,879,882,886,889,892,895],{"class":437,"line":438},[435,872,442],{"class":441},[435,874,875],{"class":445}," api",[435,877,878],{"class":506}," -X",[435,880,881],{"class":445}," POST",[435,883,885],{"class":884},"sX5mu"," '",[435,887,888],{"class":445},"builds\u002Fapp\u002Fruns\u002F7:promote",[435,890,891],{"class":884},"'",[435,893,894],{"class":506}," -d",[435,896,897],{"class":445}," @promote.json\n",[421,899,900],{},"Call a Connect method, with the body on standard input:",[425,902,904],{"className":427,"code":903,"language":429,"meta":430,"style":430},"echo '{\"name\": \"libs-local\"}' | relic api \u002Fapi\u002Frelic.v1.RepositoryService\u002FGetRepository -d @-\n",[432,905,906],{"__ignoreMap":430},[435,907,908,912,914,917,919,923,926,928,931,933],{"class":437,"line":438},[435,909,911],{"class":910},"sRZlD","echo",[435,913,885],{"class":884},[435,915,916],{"class":445},"{\"name\": \"libs-local\"}",[435,918,891],{"class":884},[435,920,922],{"class":921},"s8eFF"," |",[435,924,925],{"class":441}," relic",[435,927,875],{"class":445},[435,929,930],{"class":445}," \u002Fapi\u002Frelic.v1.RepositoryService\u002FGetRepository",[435,932,894],{"class":506},[435,934,935],{"class":445}," @-\n",[416,937,939],{"id":938},"api-documentation","API documentation",[421,941,942,945],{},[432,943,944],{},"relic api docs"," reads the OpenAPI description of the server you use.",[421,947,948],{},"List the operations that match a query (all without one):",[425,950,952],{"className":427,"code":951,"language":429,"meta":430,"style":430},"relic api docs token\n",[432,953,954],{"__ignoreMap":430},[435,955,956,958,960,963],{"class":437,"line":438},[435,957,442],{"class":441},[435,959,875],{"class":445},[435,961,962],{"class":445}," docs",[435,964,965],{"class":445}," token\n",[421,967,968],{},"Show an operation's parameters, bodies and schemas:",[425,970,972],{"className":427,"code":971,"language":429,"meta":430,"style":430},"relic api docs describe SecurityService_CreateToken\n",[432,973,974],{"__ignoreMap":430},[435,975,976,978,980,982,985],{"class":437,"line":438},[435,977,442],{"class":441},[435,979,875],{"class":445},[435,981,962],{"class":445},[435,983,984],{"class":445}," describe",[435,986,987],{"class":445}," SecurityService_CreateToken\n",[416,989,269],{"id":990},"access-tokens",[421,992,993],{},"Create a token that expires in 30 days and export it:",[425,995,997],{"className":427,"code":996,"language":429,"meta":430,"style":430},"export RELIC_TOKEN=$(relic auth token create --description ci --expires-days 30)\n",[432,998,999],{"__ignoreMap":430},[435,1000,1001,1005,1009,1012,1016,1018,1020,1023,1026,1029,1032,1035,1038],{"class":437,"line":438},[435,1002,1004],{"class":1003},"s4vtu","export",[435,1006,1008],{"class":1007},"saDVj"," RELIC_TOKEN",[435,1010,1011],{"class":921},"=",[435,1013,1015],{"class":1014},"sWneD","$(",[435,1017,442],{"class":441},[435,1019,446],{"class":445},[435,1021,1022],{"class":445}," token",[435,1024,1025],{"class":445}," create",[435,1027,1028],{"class":506}," --description",[435,1030,1031],{"class":445}," ci",[435,1033,1034],{"class":506}," --expires-days",[435,1036,1037],{"class":631}," 30",[435,1039,1040],{"class":1014},")\n",[421,1042,1043],{},"As an administrator, create a refreshable 10-minute token for another user. The\naccess token goes to standard output, the refresh token to standard error:",[425,1045,1047],{"className":427,"code":1046,"language":429,"meta":430,"style":430},"relic auth token create --user ci-bot --expires-in 10m --refreshable\n",[432,1048,1049],{"__ignoreMap":430},[435,1050,1051,1053,1055,1057,1059,1062,1065,1068,1071],{"class":437,"line":438},[435,1052,442],{"class":441},[435,1054,446],{"class":445},[435,1056,1022],{"class":445},[435,1058,1025],{"class":445},[435,1060,1061],{"class":506}," --user",[435,1063,1064],{"class":445}," ci-bot",[435,1066,1067],{"class":506}," --expires-in",[435,1069,1070],{"class":445}," 10m",[435,1072,1073],{"class":506}," --refreshable\n",[421,1075,1076],{},"Create a token that acts with one group's permissions only; the group must exist:",[425,1078,1080],{"className":427,"code":1079,"language":429,"meta":430,"style":430},"relic auth token create --group deployers -o json\n",[432,1081,1082],{"__ignoreMap":430},[435,1083,1084,1086,1088,1090,1092,1094,1097,1100],{"class":437,"line":438},[435,1085,442],{"class":441},[435,1087,446],{"class":445},[435,1089,1022],{"class":445},[435,1091,1025],{"class":445},[435,1093,722],{"class":506},[435,1095,1096],{"class":445}," deployers",[435,1098,1099],{"class":506}," -o",[435,1101,1102],{"class":445}," json\n",[421,1104,1105,1106,1109],{},"List your tokens; administrators and viewers see everyone's, or one user's with\n",[432,1107,1108],{},"--user",":",[425,1111,1113],{"className":427,"code":1112,"language":429,"meta":430,"style":430},"relic auth token list\n",[432,1114,1115],{"__ignoreMap":430},[435,1116,1117,1119,1121,1123],{"class":437,"line":438},[435,1118,442],{"class":441},[435,1120,446],{"class":445},[435,1122,1022],{"class":445},[435,1124,1125],{"class":445}," list\n",[421,1127,1128,1129,1132],{},"Revoke a token by the id ",[432,1130,1131],{},"relic auth token list"," shows:",[425,1134,1136],{"className":427,"code":1135,"language":429,"meta":430,"style":430},"relic auth token revoke 01a14acc-9a25-73a0-b25c-c7f3bb3ab7a5\n",[432,1137,1138],{"__ignoreMap":430},[435,1139,1140,1142,1144,1146,1148],{"class":437,"line":438},[435,1141,442],{"class":441},[435,1143,446],{"class":445},[435,1145,1022],{"class":445},[435,1147,819],{"class":445},[435,1149,1150],{"class":445}," 01a14acc-9a25-73a0-b25c-c7f3bb3ab7a5\n",[421,1152,1153,1154,1156],{},"Relic prints a token once and keeps no copy; it checks the token's signature.\nA token works with the Relic API, ",[432,1155,442],{}," and every package manager client.",[1158,1159,1160],"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 .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 .smky3, html code.shiki .smky3{--shiki-light:#91B859;--shiki-default:#0550AE;--shiki-dark:#79C0FF}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 .sRZlD, html code.shiki .sRZlD{--shiki-light:#6182B8;--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 .s4vtu, html code.shiki .s4vtu{--shiki-light:#9C3EDA;--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 pre.shiki code .sWneD, html code.shiki .sWneD{--shiki-light:#39ADB5;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}",{"title":430,"searchDepth":1162,"depth":1162,"links":1163},2,[1164,1165,1166,1167,1168,1169,1170,1171,1172,1173],{"id":418,"depth":1162,"text":419},{"id":467,"depth":1162,"text":468},{"id":552,"depth":1162,"text":281},{"id":609,"depth":1162,"text":610},{"id":642,"depth":1162,"text":308},{"id":689,"depth":1162,"text":690},{"id":753,"depth":1162,"text":754},{"id":830,"depth":1162,"text":831},{"id":938,"depth":1162,"text":939},{"id":990,"depth":1162,"text":269},"Check a server, read its audit log and usage, call the Relic API and manage access tokens.","md",null,{},true,{"title":358,"description":1174},"Y547SiXSzT1got2wIIIY-VOKHJSGa0xg7ZYrVDIhfso",[1182,1184],{"title":354,"path":355,"stem":356,"description":1183,"children":-1},"Upload, download, search, copy, move and delete artifacts, set properties, and run cleanup and holds.",{"title":362,"path":363,"stem":364,"description":1185,"children":-1},"Record, publish, list, scan, promote and clean up build runs, and promote container images.",1793857342124]