[{"data":1,"prerenderedAt":1103},["ShallowReactive",2],{"docs-navigation":3,"-docs-installation-storage-minio":410,"-docs-installation-storage-minio-surround":1098},[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":143,"body":412,"description":1091,"extension":1092,"links":1093,"meta":1094,"navigation":1095,"path":144,"seo":1096,"stem":145,"__hash__":1097},"docs\u002Fdocs\u002F2.installation\u002F7.storage\u002F5.minio.md",{"type":413,"value":414,"toc":1086},"minimark",[415,419,424,427,453,456,470,473,501,515,788,794,821,827,856,859,885,889,949,960,963,1040,1044,1082],[416,417,418],"p",{},"Relic is not tested against MinIO: test an upload and a download first.",[420,421,423],"h2",{"id":422},"create-the-buckets-policy-and-user","Create the buckets, policy and user",[416,425,426],{},"This command creates the artifacts bucket:",[428,429,434],"pre",{"className":430,"code":431,"language":432,"meta":433,"style":433},"language-bash shiki shiki-themes material-theme-lighter github-light-default github-dark-default","mc mb local\u002Frelic-artifacts\n","bash","",[435,436,437],"code",{"__ignoreMap":433},[438,439,442,446,450],"span",{"class":440,"line":441},"line",1,[438,443,445],{"class":444},"seIyd","mc",[438,447,449],{"class":448},"sasMN"," mb",[438,451,452],{"class":448}," local\u002Frelic-artifacts\n",[416,454,455],{},"This command creates the temporary bucket:",[428,457,459],{"className":430,"code":458,"language":432,"meta":433,"style":433},"mc mb local\u002Frelic-temporary\n",[435,460,461],{"__ignoreMap":433},[438,462,463,465,467],{"class":440,"line":441},[438,464,445],{"class":444},[438,466,449],{"class":448},[438,468,469],{"class":448}," local\u002Frelic-temporary\n",[416,471,472],{},"This command expires objects in the temporary bucket after one day:",[428,474,476],{"className":430,"code":475,"language":432,"meta":433,"style":433},"mc ilm rule add --expire-days 1 local\u002Frelic-temporary\n",[435,477,478],{"__ignoreMap":433},[438,479,480,482,485,488,491,495,499],{"class":440,"line":441},[438,481,445],{"class":444},[438,483,484],{"class":448}," ilm",[438,486,487],{"class":448}," rule",[438,489,490],{"class":448}," add",[438,492,494],{"class":493},"smky3"," --expire-days",[438,496,498],{"class":497},"sIO_5"," 1",[438,500,469],{"class":448},[416,502,503,504,507,508,511,512,514],{},"Save this policy as ",[435,505,506],{},"relic-policy.json"," (",[435,509,510],{},"local"," is the ",[435,513,445],{}," alias):",[428,516,520],{"className":517,"code":518,"language":519,"meta":433,"style":433},"language-json shiki shiki-themes material-theme-lighter github-light-default github-dark-default","{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\"s3:ListBucket\"],\n      \"Resource\": [\"arn:aws:s3:::relic-artifacts\", \"arn:aws:s3:::relic-temporary\"]\n    },\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\"s3:GetObject\", \"s3:PutObject\", \"s3:DeleteObject\", \"s3:AbortMultipartUpload\"],\n      \"Resource\": [\"arn:aws:s3:::relic-artifacts\u002F*\", \"arn:aws:s3:::relic-temporary\u002F*\"]\n    }\n  ]\n}\n","json",[435,521,522,528,557,572,578,601,626,660,666,671,690,739,770,776,782],{"__ignoreMap":433},[438,523,524],{"class":440,"line":441},[438,525,527],{"class":526},"sWneD","{\n",[438,529,531,535,539,542,545,549,552,554],{"class":440,"line":530},2,[438,532,534],{"class":533},"sK3rv","  \"",[438,536,538],{"class":537},"s10kg","Version",[438,540,541],{"class":533},"\"",[438,543,544],{"class":526},":",[438,546,548],{"class":547},"sX5mu"," \"",[438,550,551],{"class":448},"2012-10-17",[438,553,541],{"class":547},[438,555,556],{"class":526},",\n",[438,558,560,562,565,567,569],{"class":440,"line":559},3,[438,561,534],{"class":533},[438,563,564],{"class":537},"Statement",[438,566,541],{"class":533},[438,568,544],{"class":526},[438,570,571],{"class":526}," [\n",[438,573,575],{"class":440,"line":574},4,[438,576,577],{"class":526},"    {\n",[438,579,581,584,588,590,592,594,597,599],{"class":440,"line":580},5,[438,582,583],{"class":533},"      \"",[438,585,587],{"class":586},"st6vK","Effect",[438,589,541],{"class":533},[438,591,544],{"class":526},[438,593,548],{"class":547},[438,595,596],{"class":448},"Allow",[438,598,541],{"class":547},[438,600,556],{"class":526},[438,602,604,606,609,611,613,616,618,621,623],{"class":440,"line":603},6,[438,605,583],{"class":533},[438,607,608],{"class":586},"Action",[438,610,541],{"class":533},[438,612,544],{"class":526},[438,614,615],{"class":526}," [",[438,617,541],{"class":547},[438,619,620],{"class":448},"s3:ListBucket",[438,622,541],{"class":547},[438,624,625],{"class":526},"],\n",[438,627,629,631,634,636,638,640,642,645,647,650,652,655,657],{"class":440,"line":628},7,[438,630,583],{"class":533},[438,632,633],{"class":586},"Resource",[438,635,541],{"class":533},[438,637,544],{"class":526},[438,639,615],{"class":526},[438,641,541],{"class":547},[438,643,644],{"class":448},"arn:aws:s3:::relic-artifacts",[438,646,541],{"class":547},[438,648,649],{"class":526},",",[438,651,548],{"class":547},[438,653,654],{"class":448},"arn:aws:s3:::relic-temporary",[438,656,541],{"class":547},[438,658,659],{"class":526},"]\n",[438,661,663],{"class":440,"line":662},8,[438,664,665],{"class":526},"    },\n",[438,667,669],{"class":440,"line":668},9,[438,670,577],{"class":526},[438,672,674,676,678,680,682,684,686,688],{"class":440,"line":673},10,[438,675,583],{"class":533},[438,677,587],{"class":586},[438,679,541],{"class":533},[438,681,544],{"class":526},[438,683,548],{"class":547},[438,685,596],{"class":448},[438,687,541],{"class":547},[438,689,556],{"class":526},[438,691,693,695,697,699,701,703,705,708,710,712,714,717,719,721,723,726,728,730,732,735,737],{"class":440,"line":692},11,[438,694,583],{"class":533},[438,696,608],{"class":586},[438,698,541],{"class":533},[438,700,544],{"class":526},[438,702,615],{"class":526},[438,704,541],{"class":547},[438,706,707],{"class":448},"s3:GetObject",[438,709,541],{"class":547},[438,711,649],{"class":526},[438,713,548],{"class":547},[438,715,716],{"class":448},"s3:PutObject",[438,718,541],{"class":547},[438,720,649],{"class":526},[438,722,548],{"class":547},[438,724,725],{"class":448},"s3:DeleteObject",[438,727,541],{"class":547},[438,729,649],{"class":526},[438,731,548],{"class":547},[438,733,734],{"class":448},"s3:AbortMultipartUpload",[438,736,541],{"class":547},[438,738,625],{"class":526},[438,740,742,744,746,748,750,752,754,757,759,761,763,766,768],{"class":440,"line":741},12,[438,743,583],{"class":533},[438,745,633],{"class":586},[438,747,541],{"class":533},[438,749,544],{"class":526},[438,751,615],{"class":526},[438,753,541],{"class":547},[438,755,756],{"class":448},"arn:aws:s3:::relic-artifacts\u002F*",[438,758,541],{"class":547},[438,760,649],{"class":526},[438,762,548],{"class":547},[438,764,765],{"class":448},"arn:aws:s3:::relic-temporary\u002F*",[438,767,541],{"class":547},[438,769,659],{"class":526},[438,771,773],{"class":440,"line":772},13,[438,774,775],{"class":526},"    }\n",[438,777,779],{"class":440,"line":778},14,[438,780,781],{"class":526},"  ]\n",[438,783,785],{"class":440,"line":784},15,[438,786,787],{"class":526},"}\n",[416,789,790,791,544],{},"This command creates the policy ",[435,792,793],{},"relic",[428,795,797],{"className":430,"code":796,"language":432,"meta":433,"style":433},"mc admin policy create local relic relic-policy.json\n",[435,798,799],{"__ignoreMap":433},[438,800,801,803,806,809,812,815,818],{"class":440,"line":441},[438,802,445],{"class":444},[438,804,805],{"class":448}," admin",[438,807,808],{"class":448}," policy",[438,810,811],{"class":448}," create",[438,813,814],{"class":448}," local",[438,816,817],{"class":448}," relic",[438,819,820],{"class":448}," relic-policy.json\n",[416,822,823,824,826],{},"This command creates the user ",[435,825,793],{},", whose name is the access key:",[428,828,830],{"className":430,"code":829,"language":432,"meta":433,"style":433},"mc admin user add local relic '\u003Csecret-key>'\n",[435,831,832],{"__ignoreMap":433},[438,833,834,836,838,841,843,845,847,850,853],{"class":440,"line":441},[438,835,445],{"class":444},[438,837,805],{"class":448},[438,839,840],{"class":448}," user",[438,842,490],{"class":448},[438,844,814],{"class":448},[438,846,817],{"class":448},[438,848,849],{"class":547}," '",[438,851,852],{"class":448},"\u003Csecret-key>",[438,854,855],{"class":547},"'\n",[416,857,858],{},"This command attaches the policy to the user:",[428,860,862],{"className":430,"code":861,"language":432,"meta":433,"style":433},"mc admin policy attach local relic --user relic\n",[435,863,864],{"__ignoreMap":433},[438,865,866,868,870,872,875,877,879,882],{"class":440,"line":441},[438,867,445],{"class":444},[438,869,805],{"class":448},[438,871,808],{"class":448},[438,873,874],{"class":448}," attach",[438,876,814],{"class":448},[438,878,817],{"class":448},[438,880,881],{"class":493}," --user",[438,883,884],{"class":448}," relic\n",[420,886,888],{"id":887},"settings","Settings",[428,890,894],{"className":891,"code":892,"language":893,"meta":433,"style":433},"language-ini shiki shiki-themes material-theme-lighter github-light-default github-dark-default","RELIC_OBJECT_STORAGE_ENDPOINT=https:\u002F\u002Fminio.example.com:9000\nRELIC_OBJECT_STORAGE_ARTIFACTS_BUCKET=relic-artifacts\nRELIC_OBJECT_STORAGE_TEMPORARY_BUCKET=relic-temporary\nRELIC_OBJECT_STORAGE_ACCESS_KEY=relic\nRELIC_OBJECT_STORAGE_SECRET_KEY=\u003Csecret-key>\n","ini",[435,895,896,909,919,929,939],{"__ignoreMap":433},[438,897,898,902,905],{"class":440,"line":441},[438,899,901],{"class":900},"s03VG","RELIC_OBJECT_STORAGE_ENDPOINT",[438,903,904],{"class":526},"=",[438,906,908],{"class":907},"saDVj","https:\u002F\u002Fminio.example.com:9000\n",[438,910,911,914,916],{"class":440,"line":530},[438,912,913],{"class":900},"RELIC_OBJECT_STORAGE_ARTIFACTS_BUCKET",[438,915,904],{"class":526},[438,917,918],{"class":907},"relic-artifacts\n",[438,920,921,924,926],{"class":440,"line":559},[438,922,923],{"class":900},"RELIC_OBJECT_STORAGE_TEMPORARY_BUCKET",[438,925,904],{"class":526},[438,927,928],{"class":907},"relic-temporary\n",[438,930,931,934,936],{"class":440,"line":574},[438,932,933],{"class":900},"RELIC_OBJECT_STORAGE_ACCESS_KEY",[438,935,904],{"class":526},[438,937,938],{"class":907},"relic\n",[438,940,941,944,946],{"class":440,"line":580},[438,942,943],{"class":900},"RELIC_OBJECT_STORAGE_SECRET_KEY",[438,945,904],{"class":526},[438,947,948],{"class":907},"\u003Csecret-key>\n",[416,950,951,952,955,956,959],{},"If the server sets ",[435,953,954],{},"MINIO_SITE_REGION",", set ",[435,957,958],{},"RELIC_OBJECT_STORAGE_REGION"," to\nthe same value.",[416,961,962],{},"Helm:",[428,964,968],{"className":965,"code":966,"language":967,"meta":433,"style":433},"language-yaml shiki shiki-themes material-theme-lighter github-light-default github-dark-default","seaweedfs:\n  enabled: false\nexistingCredentialsSecret: relic          # holds the S3 key pair, adminPassword and encryptionKey\nobjectStorage:\n  endpoint: https:\u002F\u002Fminio.example.com:9000\n  artifactsBucket: relic-artifacts\n  temporaryBucket: relic-temporary\n","yaml",[435,969,970,979,990,1003,1010,1020,1030],{"__ignoreMap":433},[438,971,972,976],{"class":440,"line":441},[438,973,975],{"class":974},"smKOL","seaweedfs",[438,977,978],{"class":526},":\n",[438,980,981,984,986],{"class":440,"line":530},[438,982,983],{"class":974},"  enabled",[438,985,544],{"class":526},[438,987,989],{"class":988},"sH4kE"," false\n",[438,991,992,995,997,999],{"class":440,"line":559},[438,993,994],{"class":974},"existingCredentialsSecret",[438,996,544],{"class":526},[438,998,817],{"class":448},[438,1000,1002],{"class":1001},"siFmp","          # holds the S3 key pair, adminPassword and encryptionKey\n",[438,1004,1005,1008],{"class":440,"line":574},[438,1006,1007],{"class":974},"objectStorage",[438,1009,978],{"class":526},[438,1011,1012,1015,1017],{"class":440,"line":580},[438,1013,1014],{"class":974},"  endpoint",[438,1016,544],{"class":526},[438,1018,1019],{"class":448}," https:\u002F\u002Fminio.example.com:9000\n",[438,1021,1022,1025,1027],{"class":440,"line":603},[438,1023,1024],{"class":974},"  artifactsBucket",[438,1026,544],{"class":526},[438,1028,1029],{"class":448}," relic-artifacts\n",[438,1031,1032,1035,1037],{"class":440,"line":628},[438,1033,1034],{"class":974},"  temporaryBucket",[438,1036,544],{"class":526},[438,1038,1039],{"class":448}," relic-temporary\n",[420,1041,1043],{"id":1042},"gotchas","Gotchas",[1045,1046,1047,1055,1065],"ul",{},[1048,1049,1050,1054],"li",{},[1051,1052,1053],"strong",{},"TLS."," A certificate from a private CA fails verification. Use a publicly\ntrusted certificate, or plain HTTP on a private network.",[1048,1056,1057,1060,1061,1064],{},[1051,1058,1059],{},"Versioning."," Leave it off on the artifacts bucket, or expire noncurrent\nversions with ",[435,1062,1063],{},"mc ilm",".",[1048,1066,1067,1070,1071,1074,1075,507,1078,1081],{},[1051,1068,1069],{},"Old releases"," may reject the SDK's checksums. Upgrade MinIO, or set\n",[435,1072,1073],{},"RELIC_OBJECT_STORAGE_CHECKSUM"," to ",[435,1076,1077],{},"when_required",[435,1079,1080],{},"objectStorage.checksum","\nin the Helm chart).",[1083,1084,1085],"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 .sWneD, html code.shiki .sWneD{--shiki-light:#39ADB5;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .sK3rv, html code.shiki .sK3rv{--shiki-light:#39ADB5;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .s10kg, html code.shiki .s10kg{--shiki-light:#9C3EDA;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .sX5mu, html code.shiki .sX5mu{--shiki-light:#39ADB5;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .st6vK, html code.shiki .st6vK{--shiki-light:#E2931D;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .s03VG, html code.shiki .s03VG{--shiki-light:#E53935;--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 .smKOL, html code.shiki .smKOL{--shiki-light:#E53935;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .sH4kE, html code.shiki .sH4kE{--shiki-light:#FF5370;--shiki-default:#0550AE;--shiki-dark:#79C0FF}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}",{"title":433,"searchDepth":530,"depth":530,"links":1087},[1088,1089,1090],{"id":422,"depth":530,"text":423},{"id":887,"depth":530,"text":888},{"id":1042,"depth":530,"text":1043},"A self-hosted MinIO deployment as object storage.","md",null,{},true,{"title":143,"description":1091},"HieEENmbNxbHFzSXsRtNCrDLBQdKGvvWQ2_z2bFE_gs",[1099,1101],{"title":139,"path":140,"stem":141,"description":1100,"children":-1},"Cloudflare R2 as object storage, through its S3-compatible API.",{"title":147,"path":148,"stem":149,"description":1102,"children":-1},"Google Cloud Storage as object storage, with workload identity or a service account key.",1793857350150]