[{"data":1,"prerenderedAt":1263},["ShallowReactive",2],{"docs-navigation":3,"-docs-sdk-relic-api-clients":410,"-docs-sdk-relic-api-clients-surround":1260},[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":407,"body":412,"description":1254,"extension":1255,"links":1256,"meta":1257,"navigation":1024,"path":408,"seo":1258,"stem":409,"__hash__":1259},"docs\u002Fdocs\u002F6.sdk\u002F2.relic-api-clients.md",{"type":413,"value":414,"toc":1249},"minimark",[415,435,439,461,521,541,724,738,933,937,947,1220,1224,1245],[416,417,418,419,422,423,427,428,434],"p",{},"The ",[420,421,330],"a",{"href":331}," is defined in protobuf under\n",[424,425,426],"code",{},"api\u002Fproto\u002Frelic\u002Fv1"," and served with ",[420,429,433],{"href":430,"rel":431},"https:\u002F\u002Fconnectrpc.com",[432],"nofollow","ConnectRPC",". Any\nConnect or gRPC-Web client generated from those files can call it. gRPC clients\nneed HTTP\u002F2, which the server offers only when it serves HTTPS itself.",[436,437,199],"h2",{"id":438},"go",[416,440,441,442,445,446,449,450,453,454,456,457,460],{},"The protos import ",[424,443,444],{},"google\u002Fapi\u002Fannotations.proto"," from ",[424,447,448],{},"third_party\u002Fproto"," in\nthe Relic repository. Copy ",[424,451,452],{},"api\u002Fproto"," and ",[424,455,448],{}," into your\nproject and list both in ",[424,458,459],{},"buf.yaml",":",[462,463,468],"pre",{"className":464,"code":465,"language":466,"meta":467,"style":467},"language-yaml shiki shiki-themes material-theme-lighter github-light-default github-dark-default","version: v2\nmodules:\n  - path: api\u002Fproto\n  - path: third_party\u002Fproto\n","yaml","",[424,469,470,486,495,509],{"__ignoreMap":467},[471,472,475,479,482],"span",{"class":473,"line":474},"line",1,[471,476,478],{"class":477},"smKOL","version",[471,480,460],{"class":481},"sWneD",[471,483,485],{"class":484},"sasMN"," v2\n",[471,487,489,492],{"class":473,"line":488},2,[471,490,491],{"class":477},"modules",[471,493,494],{"class":481},":\n",[471,496,498,501,504,506],{"class":473,"line":497},3,[471,499,500],{"class":481},"  -",[471,502,503],{"class":477}," path",[471,505,460],{"class":481},[471,507,508],{"class":484}," api\u002Fproto\n",[471,510,512,514,516,518],{"class":473,"line":511},4,[471,513,500],{"class":481},[471,515,503],{"class":477},[471,517,460],{"class":481},[471,519,520],{"class":484}," third_party\u002Fproto\n",[416,522,523,524,526,527,453,530,533,534,537,538,460],{},"Generate code for ",[424,525,452],{}," with ",[424,528,529],{},"protoc-gen-go",[424,531,532],{},"protoc-gen-connect-go",",\npinned to the versions Relic generates its own code with. The generated code\nimports ",[424,535,536],{},"connectrpc.com\u002Fconnect\u002Fv2"," and the annotations from\n",[424,539,540],{},"google.golang.org\u002Fgenproto\u002Fgoogleapis\u002Fapi",[462,542,544],{"className":464,"code":543,"language":466,"meta":467,"style":467},"# buf.gen.yaml\nversion: v2\nmanaged:\n  enabled: true\n  disable:\n    - path: google\n  override:\n    - file_option: go_package_prefix\n      value: example.com\u002Fyourapp\u002Fgen\ninputs:\n  - directory: api\u002Fproto\nplugins:\n  - remote: buf.build\u002Fprotocolbuffers\u002Fgo:v1.36.12\n    out: gen\n    opt: paths=source_relative\n  - remote: buf.build\u002Fconnectrpc\u002Fgo:v2.0.1\n    out: gen\n    opt: paths=source_relative\n",[424,545,546,552,560,567,578,586,599,607,620,631,639,651,659,672,683,694,706,715],{"__ignoreMap":467},[471,547,548],{"class":473,"line":474},[471,549,551],{"class":550},"siFmp","# buf.gen.yaml\n",[471,553,554,556,558],{"class":473,"line":488},[471,555,478],{"class":477},[471,557,460],{"class":481},[471,559,485],{"class":484},[471,561,562,565],{"class":473,"line":497},[471,563,564],{"class":477},"managed",[471,566,494],{"class":481},[471,568,569,572,574],{"class":473,"line":511},[471,570,571],{"class":477},"  enabled",[471,573,460],{"class":481},[471,575,577],{"class":576},"sH4kE"," true\n",[471,579,581,584],{"class":473,"line":580},5,[471,582,583],{"class":477},"  disable",[471,585,494],{"class":481},[471,587,589,592,594,596],{"class":473,"line":588},6,[471,590,591],{"class":481},"    -",[471,593,503],{"class":477},[471,595,460],{"class":481},[471,597,598],{"class":484}," google\n",[471,600,602,605],{"class":473,"line":601},7,[471,603,604],{"class":477},"  override",[471,606,494],{"class":481},[471,608,610,612,615,617],{"class":473,"line":609},8,[471,611,591],{"class":481},[471,613,614],{"class":477}," file_option",[471,616,460],{"class":481},[471,618,619],{"class":484}," go_package_prefix\n",[471,621,623,626,628],{"class":473,"line":622},9,[471,624,625],{"class":477},"      value",[471,627,460],{"class":481},[471,629,630],{"class":484}," example.com\u002Fyourapp\u002Fgen\n",[471,632,634,637],{"class":473,"line":633},10,[471,635,636],{"class":477},"inputs",[471,638,494],{"class":481},[471,640,642,644,647,649],{"class":473,"line":641},11,[471,643,500],{"class":481},[471,645,646],{"class":477}," directory",[471,648,460],{"class":481},[471,650,508],{"class":484},[471,652,654,657],{"class":473,"line":653},12,[471,655,656],{"class":477},"plugins",[471,658,494],{"class":481},[471,660,662,664,667,669],{"class":473,"line":661},13,[471,663,500],{"class":481},[471,665,666],{"class":477}," remote",[471,668,460],{"class":481},[471,670,671],{"class":484}," buf.build\u002Fprotocolbuffers\u002Fgo:v1.36.12\n",[471,673,675,678,680],{"class":473,"line":674},14,[471,676,677],{"class":477},"    out",[471,679,460],{"class":481},[471,681,682],{"class":484}," gen\n",[471,684,686,689,691],{"class":473,"line":685},15,[471,687,688],{"class":477},"    opt",[471,690,460],{"class":481},[471,692,693],{"class":484}," paths=source_relative\n",[471,695,697,699,701,703],{"class":473,"line":696},16,[471,698,500],{"class":481},[471,700,666],{"class":477},[471,702,460],{"class":481},[471,704,705],{"class":484}," buf.build\u002Fconnectrpc\u002Fgo:v2.0.1\n",[471,707,709,711,713],{"class":473,"line":708},17,[471,710,677],{"class":477},[471,712,460],{"class":481},[471,714,682],{"class":484},[471,716,718,720,722],{"class":473,"line":717},18,[471,719,688],{"class":477},[471,721,460],{"class":481},[471,723,693],{"class":484},[416,725,726,727,730,731,734,735,460],{},"Call the API with an access token. The base URL ends in ",[424,728,729],{},"\u002Fapi",", and\n",[424,732,733],{},"connecthttp"," is ",[424,736,737],{},"connectrpc.com\u002Fconnect\u002Fv2\u002Fconnecthttp",[462,739,742],{"className":740,"code":741,"language":438,"meta":467,"style":467},"language-go shiki shiki-themes material-theme-lighter github-light-default github-dark-default","transport := connecthttp.NewTransport(http.DefaultClient, \"https:\u002F\u002Frelic.example.com\u002Fapi\")\nclient := relicv1connect.NewRepositoryServiceClient(connect.NewClient(transport))\nctx, call := connect.NewClientContext(ctx)\ncall.RequestHeader().Set(\"Authorization\", \"Bearer \"+token)\nresp, err := client.ListRepositories(ctx, &relicv1.ListRepositoriesRequest{})\n",[424,743,744,791,824,850,892],{"__ignoreMap":467},[471,745,746,750,754,757,760,764,767,770,772,775,778,782,785,788],{"class":473,"line":474},[471,747,749],{"class":748},"saDVj","transport ",[471,751,753],{"class":752},"s8eFF",":=",[471,755,756],{"class":748}," connecthttp",[471,758,759],{"class":481},".",[471,761,763],{"class":762},"siEnl","NewTransport",[471,765,766],{"class":481},"(",[471,768,769],{"class":748},"http",[471,771,759],{"class":481},[471,773,774],{"class":748},"DefaultClient",[471,776,777],{"class":481},",",[471,779,781],{"class":780},"sX5mu"," \"",[471,783,784],{"class":484},"https:\u002F\u002Frelic.example.com\u002Fapi",[471,786,787],{"class":780},"\"",[471,789,790],{"class":481},")\n",[471,792,793,796,798,801,803,806,808,811,813,816,818,821],{"class":473,"line":488},[471,794,795],{"class":748},"client ",[471,797,753],{"class":752},[471,799,800],{"class":748}," relicv1connect",[471,802,759],{"class":481},[471,804,805],{"class":762},"NewRepositoryServiceClient",[471,807,766],{"class":481},[471,809,810],{"class":748},"connect",[471,812,759],{"class":481},[471,814,815],{"class":762},"NewClient",[471,817,766],{"class":481},[471,819,820],{"class":748},"transport",[471,822,823],{"class":481},"))\n",[471,825,826,829,831,834,836,839,841,844,846,848],{"class":473,"line":497},[471,827,828],{"class":748},"ctx",[471,830,777],{"class":481},[471,832,833],{"class":748}," call ",[471,835,753],{"class":752},[471,837,838],{"class":748}," connect",[471,840,759],{"class":481},[471,842,843],{"class":762},"NewClientContext",[471,845,766],{"class":481},[471,847,828],{"class":748},[471,849,790],{"class":481},[471,851,852,855,857,860,863,866,868,870,873,875,877,879,882,884,887,890],{"class":473,"line":511},[471,853,854],{"class":748},"call",[471,856,759],{"class":481},[471,858,859],{"class":762},"RequestHeader",[471,861,862],{"class":481},"().",[471,864,865],{"class":762},"Set",[471,867,766],{"class":481},[471,869,787],{"class":780},[471,871,872],{"class":484},"Authorization",[471,874,787],{"class":780},[471,876,777],{"class":481},[471,878,781],{"class":780},[471,880,881],{"class":484},"Bearer ",[471,883,787],{"class":780},[471,885,886],{"class":752},"+",[471,888,889],{"class":748},"token",[471,891,790],{"class":481},[471,893,894,897,899,902,904,907,909,912,914,916,918,921,925,927,930],{"class":473,"line":580},[471,895,896],{"class":748},"resp",[471,898,777],{"class":481},[471,900,901],{"class":748}," err ",[471,903,753],{"class":752},[471,905,906],{"class":748}," client",[471,908,759],{"class":481},[471,910,911],{"class":762},"ListRepositories",[471,913,766],{"class":481},[471,915,828],{"class":748},[471,917,777],{"class":481},[471,919,920],{"class":752}," &",[471,922,924],{"class":923},"seIyd","relicv1",[471,926,759],{"class":481},[471,928,929],{"class":923},"ListRepositoriesRequest",[471,931,932],{"class":481},"{})\n",[436,934,936],{"id":935},"typescript","TypeScript",[416,938,939,940,943,944,460],{},"Generate the client with ",[424,941,942],{},"protoc-gen-es"," and call it with ",[424,945,946],{},"@connectrpc\u002Fconnect",[462,948,952],{"className":949,"code":950,"language":951,"meta":467,"style":467},"language-ts shiki shiki-themes material-theme-lighter github-light-default github-dark-default","import { createClient } from '@connectrpc\u002Fconnect'\nimport { createConnectTransport } from '@connectrpc\u002Fconnect-node'\nimport { RepositoryService } from '.\u002Fgen\u002Frelic\u002Fv1\u002Frepository_pb'\n\nconst transport = createConnectTransport({\n  baseUrl: 'https:\u002F\u002Frelic.example.com\u002Fapi',\n  httpVersion: '1.1',\n  interceptors: [next => req => { req.header.set('Authorization', `Bearer ${token}`); return next(req) }]\n})\nconst repos = createClient(RepositoryService, transport)\nconst { repositories } = await repos.listRepositories({})\n","ts",[424,953,954,980,1000,1020,1026,1046,1064,1080,1165,1171,1190],{"__ignoreMap":467},[471,955,956,960,963,966,969,972,975,977],{"class":473,"line":474},[471,957,959],{"class":958},"sqgCv","import",[471,961,962],{"class":481}," {",[471,964,965],{"class":748}," createClient",[471,967,968],{"class":481}," }",[471,970,971],{"class":958}," from",[471,973,974],{"class":780}," '",[471,976,946],{"class":484},[471,978,979],{"class":780},"'\n",[471,981,982,984,986,989,991,993,995,998],{"class":473,"line":488},[471,983,959],{"class":958},[471,985,962],{"class":481},[471,987,988],{"class":748}," createConnectTransport",[471,990,968],{"class":481},[471,992,971],{"class":958},[471,994,974],{"class":780},[471,996,997],{"class":484},"@connectrpc\u002Fconnect-node",[471,999,979],{"class":780},[471,1001,1002,1004,1006,1009,1011,1013,1015,1018],{"class":473,"line":497},[471,1003,959],{"class":958},[471,1005,962],{"class":481},[471,1007,1008],{"class":748}," RepositoryService",[471,1010,968],{"class":481},[471,1012,971],{"class":958},[471,1014,974],{"class":780},[471,1016,1017],{"class":484},".\u002Fgen\u002Frelic\u002Fv1\u002Frepository_pb",[471,1019,979],{"class":780},[471,1021,1022],{"class":473,"line":511},[471,1023,1025],{"emptyLinePlaceholder":1024},true,"\n",[471,1027,1028,1032,1036,1039,1041,1043],{"class":473,"line":580},[471,1029,1031],{"class":1030},"s4vtu","const",[471,1033,1035],{"class":1034},"sum78"," transport",[471,1037,1038],{"class":752}," =",[471,1040,988],{"class":762},[471,1042,766],{"class":748},[471,1044,1045],{"class":481},"{\n",[471,1047,1048,1052,1054,1056,1058,1061],{"class":473,"line":588},[471,1049,1051],{"class":1050},"sZ24s","  baseUrl",[471,1053,460],{"class":481},[471,1055,974],{"class":780},[471,1057,784],{"class":484},[471,1059,1060],{"class":780},"'",[471,1062,1063],{"class":481},",\n",[471,1065,1066,1069,1071,1073,1076,1078],{"class":473,"line":601},[471,1067,1068],{"class":1050},"  httpVersion",[471,1070,460],{"class":481},[471,1072,974],{"class":780},[471,1074,1075],{"class":484},"1.1",[471,1077,1060],{"class":780},[471,1079,1063],{"class":481},[471,1081,1082,1085,1087,1090,1094,1097,1100,1102,1104,1106,1108,1111,1113,1116,1118,1120,1122,1124,1126,1129,1131,1134,1136,1139,1142,1145,1148,1151,1153,1156,1159,1162],{"class":473,"line":609},[471,1083,1084],{"class":1050},"  interceptors",[471,1086,460],{"class":481},[471,1088,1089],{"class":748}," [",[471,1091,1093],{"class":1092},"sWFk-","next",[471,1095,1096],{"class":1030}," =>",[471,1098,1099],{"class":1092}," req",[471,1101,1096],{"class":1030},[471,1103,962],{"class":481},[471,1105,1099],{"class":748},[471,1107,759],{"class":481},[471,1109,1110],{"class":748},"header",[471,1112,759],{"class":481},[471,1114,1115],{"class":762},"set",[471,1117,766],{"class":1050},[471,1119,1060],{"class":780},[471,1121,872],{"class":484},[471,1123,1060],{"class":780},[471,1125,777],{"class":481},[471,1127,1128],{"class":780}," `",[471,1130,881],{"class":484},[471,1132,1133],{"class":780},"${",[471,1135,889],{"class":748},[471,1137,1138],{"class":780},"}`",[471,1140,1141],{"class":1050},")",[471,1143,1144],{"class":481},";",[471,1146,1147],{"class":958}," return",[471,1149,1150],{"class":762}," next",[471,1152,766],{"class":1050},[471,1154,1155],{"class":748},"req",[471,1157,1158],{"class":1050},") ",[471,1160,1161],{"class":481},"}",[471,1163,1164],{"class":748},"]\n",[471,1166,1167,1169],{"class":473,"line":622},[471,1168,1161],{"class":481},[471,1170,790],{"class":748},[471,1172,1173,1175,1178,1180,1182,1185,1187],{"class":473,"line":633},[471,1174,1031],{"class":1030},[471,1176,1177],{"class":1034}," repos",[471,1179,1038],{"class":752},[471,1181,965],{"class":762},[471,1183,1184],{"class":748},"(RepositoryService",[471,1186,777],{"class":481},[471,1188,1189],{"class":748}," transport)\n",[471,1191,1192,1194,1196,1199,1201,1203,1206,1208,1210,1213,1215,1218],{"class":473,"line":641},[471,1193,1031],{"class":1030},[471,1195,962],{"class":481},[471,1197,1198],{"class":1034}," repositories",[471,1200,968],{"class":481},[471,1202,1038],{"class":752},[471,1204,1205],{"class":958}," await",[471,1207,1177],{"class":748},[471,1209,759],{"class":481},[471,1211,1212],{"class":762},"listRepositories",[471,1214,766],{"class":748},[471,1216,1217],{"class":481},"{}",[471,1219,790],{"class":748},[436,1221,1223],{"id":1222},"errors-access-and-files","Errors, access and files",[416,1225,1226,1227,1231,1232,1235,1236,1240,1241,759],{},"Errors are Connect codes, and each method declares who may call it\n(",[420,1228,1230],{"href":1229},"\u002Fdocs\u002Fapi\u002Frelic-api#authentication-and-access","Authentication and access",").\nMessages never carry file contents: use plain HTTP at\n",[424,1233,1234],{},"\u002Fapi\u002Fv1\u002Ffiles\u002F\u003Crepo>\u002F\u003Cpath>"," (",[420,1237,1239],{"href":1238},"\u002Fdocs\u002Fapi\u002Frelic-api#file-contents","File contents",").\nWithout a generated client, call the REST routes in the\n",[420,1242,1244],{"href":1243},"\u002Fapi-reference","API reference",[1246,1247,1248],"style",{},"html pre.shiki code .smKOL, html code.shiki .smKOL{--shiki-light:#E53935;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .sWneD, html code.shiki .sWneD{--shiki-light:#39ADB5;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}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 .siFmp, html code.shiki .siFmp{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6E7781;--shiki-default-font-style:inherit;--shiki-dark:#8B949E;--shiki-dark-font-style:inherit}html pre.shiki code .sH4kE, html code.shiki .sH4kE{--shiki-light:#FF5370;--shiki-default:#0550AE;--shiki-dark:#79C0FF}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}html pre.shiki code .siEnl, html code.shiki .siEnl{--shiki-light:#6182B8;--shiki-default:#8250DF;--shiki-dark:#D2A8FF}html pre.shiki code .sX5mu, html code.shiki .sX5mu{--shiki-light:#39ADB5;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .seIyd, html code.shiki .seIyd{--shiki-light:#E2931D;--shiki-default:#953800;--shiki-dark:#FFA657}html pre.shiki code .sqgCv, html code.shiki .sqgCv{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#CF222E;--shiki-default-font-style:inherit;--shiki-dark:#FF7B72;--shiki-dark-font-style:inherit}html pre.shiki code .s4vtu, html code.shiki .s4vtu{--shiki-light:#9C3EDA;--shiki-default:#CF222E;--shiki-dark:#FF7B72}html pre.shiki code .sum78, html code.shiki .sum78{--shiki-light:#90A4AE;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .sZ24s, html code.shiki .sZ24s{--shiki-light:#E53935;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .sWFk-, html code.shiki .sWFk-{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#953800;--shiki-default-font-style:inherit;--shiki-dark:#FFA657;--shiki-dark-font-style:inherit}",{"title":467,"searchDepth":488,"depth":488,"links":1250},[1251,1252,1253],{"id":438,"depth":488,"text":199},{"id":935,"depth":488,"text":936},{"id":1222,"depth":488,"text":1223},"Generate typed Go or TypeScript clients of the Relic API from its protobuf definitions.","md",null,{},{"title":407,"description":1254},"1a7jgSY9xqvdcqC9tWHo4pILEkBsW-iM8IUl2NTOteA",[1261,1256],{"title":5,"path":404,"stem":405,"description":1262,"children":-1},"Program against Relic with a client generated from the Relic API's protobuf definitions.",1793857344675]