[{"data":1,"prerenderedAt":878},["ShallowReactive",2],{"docs-navigation":3,"-docs-cli-sign-in":410,"-docs-cli-sign-in-surround":873},[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":342,"body":412,"description":866,"extension":867,"links":868,"meta":869,"navigation":870,"path":343,"seo":871,"stem":344,"__hash__":872},"docs\u002Fdocs\u002F5.cli\u002F02.sign-in.md",{"type":413,"value":414,"toc":860},"minimark",[415,424,453,456,479,486,536,542,574,586,601,664,679,731,736,739,753,764,768,776,801,804,808,828,856],[416,417,418,419,423],"p",{},"Sign in in the browser. The command prints a link and a code; open the link,\nsign in (with a password or ",[420,421,422],"a",{"href":286},"single sign-on","),\ncheck the code and approve:",[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 login https:\u002F\u002Frelic.example.com\n","bash","",[432,433,434],"code",{"__ignoreMap":430},[435,436,439,443,447,450],"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}," login",[435,451,452],{"class":445}," https:\u002F\u002Frelic.example.com\n",[416,454,455],{},"Sign in with a user name and type the password at the prompt:",[425,457,459],{"className":427,"code":458,"language":429,"meta":430,"style":430},"relic auth login https:\u002F\u002Frelic.example.com --user alice\n",[432,460,461],{"__ignoreMap":430},[435,462,463,465,467,469,472,476],{"class":437,"line":438},[435,464,442],{"class":441},[435,466,446],{"class":445},[435,468,449],{"class":445},[435,470,471],{"class":445}," https:\u002F\u002Frelic.example.com",[435,473,475],{"class":474},"smky3"," --user",[435,477,478],{"class":445}," alice\n",[416,480,481,482,485],{},"In a script, read the password from standard input and save the context as ",[432,483,484],{},"ci",":",[425,487,489],{"className":427,"code":488,"language":429,"meta":430,"style":430},"echo \"$PASSWORD\" | relic auth login https:\u002F\u002Frelic.example.com -u ci --password-stdin --context ci\n",[432,490,491],{"__ignoreMap":430},[435,492,493,497,501,505,508,512,515,517,519,521,524,527,530,533],{"class":437,"line":438},[435,494,496],{"class":495},"sRZlD","echo",[435,498,500],{"class":499},"sX5mu"," \"",[435,502,504],{"class":503},"saDVj","$PASSWORD",[435,506,507],{"class":499},"\"",[435,509,511],{"class":510},"s8eFF"," |",[435,513,514],{"class":441}," relic",[435,516,446],{"class":445},[435,518,449],{"class":445},[435,520,471],{"class":445},[435,522,523],{"class":474}," -u",[435,525,526],{"class":445}," ci",[435,528,529],{"class":474}," --password-stdin",[435,531,532],{"class":474}," --context",[435,534,535],{"class":445}," ci\n",[416,537,538,539,485],{},"In a CI job, exchange the platform's OIDC token through a\n",[420,540,541],{"href":294},"workload identity",[425,543,545],{"className":427,"code":544,"language":429,"meta":430,"style":430},"relic auth login https:\u002F\u002Frelic.example.com --identity github --oidc-token \"$ID_TOKEN\"\n",[432,546,547],{"__ignoreMap":430},[435,548,549,551,553,555,557,560,563,566,568,571],{"class":437,"line":438},[435,550,442],{"class":441},[435,552,446],{"class":445},[435,554,449],{"class":445},[435,556,471],{"class":445},[435,558,559],{"class":474}," --identity",[435,561,562],{"class":445}," github",[435,564,565],{"class":474}," --oidc-token",[435,567,500],{"class":499},[435,569,570],{"class":503},"$ID_TOKEN",[435,572,573],{"class":499},"\"\n",[416,575,576,577,580,581,585],{},"The exchanged token lives an hour at most. The other sign-ins create an access\ntoken that lasts 90 days, or ",[432,578,579],{},"--expires-days"," within the\n",[420,582,584],{"href":583},"\u002Fdocs\u002Fguides\u002Fsecurity\u002Ftokens#lifetimes","limits",".",[416,587,588,589,592,593,596,597,600],{},"The token and server URL are saved as a context, named after the server's\nhost unless you pass ",[432,590,591],{},"--context",", in ",[432,594,595],{},"relic\u002Fconfig.yaml"," (mode 0600) under your\nuser configuration directory (",[432,598,599],{},"~\u002F.config"," on Linux). The password is never\nstored.",[602,603,604,617],"table",{},[605,606,607],"thead",{},[608,609,610,614],"tr",{},[611,612,613],"th",{},"Command",[611,615,616],{},"Does",[618,619,620,634,644,654],"tbody",{},[608,621,622,628],{},[623,624,625],"td",{},[432,626,627],{},"relic auth context list",[623,629,630,631],{},"lists the contexts, the current one marked ",[432,632,633],{},"*",[608,635,636,641],{},[623,637,638],{},[432,639,640],{},"relic auth context show",[623,642,643],{},"shows the current context",[608,645,646,651],{},[623,647,648],{},[432,649,650],{},"relic auth context use \u003Cname>",[623,652,653],{},"switches contexts",[608,655,656,661],{},[623,657,658],{},[432,659,660],{},"relic auth logout [\u003Cname>]",[623,662,663],{},"revokes a context's token and forgets the context (default: the current one)",[416,665,666,667,670,671,674,675,678],{},"Signing in again to a context revokes its previous token. Neither that nor\nlogout touches tokens given to package managers\n(",[420,668,378],{"href":669},"\u002Fdocs\u002Fcli\u002Fpackage-managers#client-setup",") or made with\n",[432,672,673],{},"relic auth token create",". When ",[432,676,677],{},"relic auth login"," cannot save the context, it\nfails and revokes the token it just created.",[416,680,681,682,684,685,688,689,692,693,696,697,688,700,703,704,706,707,709,710,712,713,715,716,718,719,715,721,723,724,715,727,730],{},"Every command takes ",[432,683,591],{},", ",[432,686,687],{},"--url"," and ",[432,690,691],{},"--token",", and reads ",[432,694,695],{},"RELIC_URL",",\n",[432,698,699],{},"RELIC_TOKEN",[432,701,702],{},"RELIC_CONFIG",". Flags win over environment variables, which\nwin over the saved context; ",[432,705,591],{}," therefore wins over ",[432,708,695],{}," and\n",[432,711,699],{},". A context's token and certificate authority go only to its own\nserver: when ",[432,714,687],{}," or ",[432,717,695],{}," names another server, give its token with\n",[432,720,691],{},[432,722,699],{},". The URL must be an ",[432,725,726],{},"http:\u002F\u002F",[432,728,729],{},"https:\u002F\u002F"," URL,\nand spaces and line breaks around a token are dropped.",[732,733,735],"h2",{"id":734},"change-your-password","Change your password",[416,737,738],{},"Change your password, giving the current one; the new one needs at least 8 characters:",[425,740,742],{"className":427,"code":741,"language":429,"meta":430,"style":430},"relic auth password\n",[432,743,744],{"__ignoreMap":430},[435,745,746,748,750],{"class":437,"line":438},[435,747,442],{"class":441},[435,749,446],{"class":445},[435,751,752],{"class":445}," password\n",[416,754,755,758,759,763],{},[432,756,757],{},"--password-stdin"," reads the current password from the first line of standard input and the\nnew one from the second. Tokens and sessions stay valid. In the UI, the key button next to\n",[760,761,762],"strong",{},"Sign out"," does the same. Users of LDAP or single sign-on change their password there.",[732,765,767],{"id":766},"servers-with-a-private-certificate-authority","Servers with a private certificate authority",[416,769,770,771,775],{},"A server that generates its own certificate authority\n(",[420,772,774],{"href":773},"\u002Fdocs\u002Finstallation\u002Fconfiguration#tls","TLS",") needs one of these at sign-in:",[777,778,779,790],"ul",{},[780,781,782,785,786,789],"li",{},[432,783,784],{},"--ca-file"," with the authority's certificate, ",[432,787,788],{},"ca.crt",", from the server's\nadministrator.",[780,791,792,793,796,797,800],{},"On a terminal, answer ",[432,794,795],{},"y"," to ",[432,798,799],{},"Trust this authority for \u003Chost>? [y\u002FN]"," after\ncomparing the SHA-256 fingerprint shown with the one the server logs at start.",[416,802,803],{},"Otherwise the command fails and prints the fingerprint. The context keeps the\nauthority, so signing in again to the same context and URL needs neither.",[732,805,807],{"id":806},"on-the-servers-own-machine","On the server's own machine",[416,809,810,811,814,815,688,818,821,822,824,825,585],{},"Where ",[432,812,813],{},"relic server setup"," installed the service, a command needs no sign-in\nwhile no flag, environment variable, saved context or chosen config file names\na server or token. It reaches\nthe service at the address in its settings file, signs in with\n",[432,816,817],{},"RELIC_ADMIN_USERNAME",[432,819,820],{},"RELIC_ADMIN_PASSWORD"," from that file, and trusts\nthe ",[432,823,788],{}," in its ",[432,826,827],{},"RELIC_TLS_DIRECTORY",[777,829,830,844,850],{},[780,831,832,833,836,837,840,841,843],{},"The file is the service's ",[432,834,835],{},"server.env",", or ",[432,838,839],{},"\u002Fetc\u002Frelic\u002Frelic.env"," for a\nsystem service. Only those who can read it get this access: the user who ran\nthe setup, or root and the ",[432,842,442],{}," group.",[780,845,846,847,849],{},"It stops working once that password is changed; sign in with\n",[432,848,677],{}," then.",[780,851,852,855],{},[432,853,854],{},"relic package setup"," still needs a context, because it hands out a token.",[857,858,859],"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 .sRZlD, html code.shiki .sRZlD{--shiki-light:#6182B8;--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 .saDVj, html code.shiki .saDVj{--shiki-light:#90A4AE;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .s8eFF, html code.shiki .s8eFF{--shiki-light:#39ADB5;--shiki-default:#CF222E;--shiki-dark:#FF7B72}",{"title":430,"searchDepth":861,"depth":861,"links":862},2,[863,864,865],{"id":734,"depth":861,"text":735},{"id":766,"depth":861,"text":767},{"id":806,"depth":861,"text":807},"Sign in with relic auth login, switch saved contexts, and see how a command picks its server.","md",null,{},true,{"title":342,"description":866},"rS1jCUKP0HmRRS9H2DbZy9rKCGfMOEKMkfq8Cpt9xcw",[874,876],{"title":5,"path":339,"stem":340,"description":875,"children":-1},"relic is the command-line client of the Relic API; this page lists its commands and installs it.",{"title":346,"path":347,"stem":348,"description":877,"children":-1},"The relic.build\u002Fv1 YAML documents relic applies, and the Relic API message behind each kind.",1793857335309]