ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

Artipie配置完全指南:YAML仓库定义、存储类型与权限设置详解

Artipie配置完全指南:YAML仓库定义、存储类型与权限设置详解 Artipie配置完全指南YAML仓库定义、存储类型与权限设置详解【免费下载链接】artipieBinary Artifact Management Tool项目地址: https://gitcode.com/gh_mirrors/ar/artipieArtipie是一个功能强大的开源制品库服务器支持 Maven、Docker、Npm、PyPI、Rpm 等 20 多种类型的软件仓库。本指南面向新手带你快速掌握 Artipie 配置的三大核心YAML 仓库定义、存储类型选择与权限设置让你在 10 分钟内完成一个可用的多类型制品仓库。一、Artipie 配置文件的整体结构Artipie 启动依赖一个主 YAML 配置文件Docker 镜像中默认位于/etc/artipie/artipie.yml也可用--config-file参数指定路径。主配置只做元配置各仓库的具体定义存放在另一个存储中结构如下meta: storage: # 存放仓库定义文件的存储必填 type: fs path: /var/artipie/cfg credentials: # 用户认证来源 - type: env policy: # 权限策略 type: artipie storage: type: fs path: /var/artipie/security metrics: # 可选监控指标 endpoint: /metrics/vertx port: 8087对应的文件目录结构configs: repo指定仓库定义存放的子目录/var/artipie/cfg │ _storages.yaml # 存储别名可选 └───repo │ my-maven.yml # 仓库名 文件名 │ my-python.yaml⚠️ 关键规则仓库定义文件的文件名就是仓库名。Artipie 按 URL 第一级路径暴露仓库例如http://host:8081/my-maven。yml和yaml两种扩展名都受支持。详细的字段说明可以参考项目内置文档.wiki/Configuration.md。二、YAML 仓库定义两种仓库类型一分钟搞定每个仓库用一个独立的 YAML 文件定义必填字段只有两个type仓库类型和storage制品存储位置。1. 基础仓库定义# 文件/var/artipie/cfg/repo/my-maven.yml repo: type: maven storage: type: fs path: /var/artipie/data/maven项目中的示例配置可直接参考 artipie-main/examples/artipie.yml它演示了元存储与凭据的最简写法。2. 支持的 20 种仓库类型速查类型说明类型说明file通用文件仓库maven/maven-proxyJava 依赖仓库及代理docker/docker-proxy容器镜像仓库及代理npm/npm-proxynpm 包仓库及代理pypi/pypi-proxyPython 包仓库及代理goGo 模块代理rpmRPM 包仓库debianDebian 包仓库helmHelm Chart 仓库nuget.NET 包仓库gemRubyGems 仓库composerPHP 包仓库anaconda数据科学包仓库hexpmElixir/Erlang 包conanC 包仓库conan-centerC 中央仓库代理每种类型的具体参数可查阅 .wiki/Configuration-Repository.md以及按类型整理的说明文档如 .wiki/repositories/maven.md、.wiki/repositories/docker.md。3. 进阶选项独立端口与资源过滤独立端口Docker 仓库建议在独立端口运行在仓库 YAML 中加port: 54321仅启动时扫描修改需重启过滤器用filters.include / exclude按 glob 或 regexp 模式控制可访问的资源路径适合只开放部分路径的代理仓库。三、存储类型怎么选fs、S3、etcd 一次讲清Artipie 的Storage存储是对多种键值存储的抽象用于存放仓库数据、代理缓存和配置。配置结构始终一致storage键 必填的type 各提供方参数。1. 文件系统存储新手首选storage: type: fs path: /var/artipie零依赖、易备份本地开发和单机生产环境的首选。2. S3 兼容云存储生产推荐支持 AWS、DigitalOcean、MinIO 等任何 S3 兼容服务storage: type: s3 bucket: artipie region: east endpoint: https://minio.selfhosted/s3 credentials: type: basic accessKeyId: xxx secretAccessKey: xxx不写credentials时SDK 会按标准顺序自动识别系统属性 → 环境变量AWS_ACCESS_KEY_ID→ 实例角色等。3. etcd 存储适合作为配置存储数据块需小于 10MBstorage: type: etcd endpoints: - http://node1.etcd.local:2379 timeout: 50004. 存储别名给管理员和用户的最佳实践在配置根目录放置固定文件名_storages.yaml定义带名字的存储仓库定义中直接引用别名# _storages.yaml storages: default: type: fs path: /var/artipie/data remote_s3: type: s3 bucket: artipie# 仓库配置中直接使用别名 repo: type: maven storage: remote_s3这样管理员可隐藏真实凭据仓库维护者只看到别名——多团队协作场景强烈推荐。完整说明见 .wiki/Configuration-Storage.md。四、权限设置credentials 认证 policy 授权Artipie 的安全体系分两层credentials谁能登录与policy能做什么。1. 四种认证来源meta: credentials: - type: artipie # YAML 文件用户支持多人 storage: type: fs path: /var/artipie/security - type: env # 环境变量 ARTIPIE_USER_NAME/PASS仅测试用artipie类型在存储的users/目录下按用户名.yaml存放账号文件内容含type: plain/sha256与pass字段多个认证类型会依次尝试配置了哪种就保留哪种。认证细节见 .wiki/Configuration-Credentials.md。2. 策略存储的目录结构artipie策略要求策略存储按角色 用户组织├── roles │ ├── default # 各认证类型的默认权限 │ ├── java-dev.yaml │ └── admin.yaml ├── users ├── david.yaml └── jane.yaml用户文件可为用户单独授权并把权限叠加到所属角色上# users/david.yaml enabled: true roles: - java-dev permissions: adapter_basic_permission: rpm-repo: - read3. 常用权限类型一览权限类型适用对象支持的动作adapter_basic_permissions除 Docker 外所有仓库read/write/delete及同义词 pull、push、deploy 等支持*通配仓库名docker_repository_permissionsDocker 具体镜像pull/push/overwrite可精确到镜像名docker_registry_permissionsDocker 注册表级操作base、catalogapi_*_permissionsREST API 管理端点仓库、用户、角色、别名的 read/create/update/delete 等all_permission一切全权限慎用默认权限技巧在roles/default/下放认证类型.yaml即可给某类认证的所有用户统一授权例如让所有keycloak用户默认拥有全部仓库读权限。完整规则见 .wiki/Configuration-Policy.md。五、五分钟上手Docker Compose 一键启动最快的体验方式是使用项目自带的 compose 文件 artipie-main/docker-compose.yamldocker-compose up启动后的默认入口仪表板http://localhost:8080/dashboard默认账号artipie/artipieREST APISwagger UIhttp://localhost:8086/api/index.html仓库服务http://localhost:8081/{仓库名}有了 Web 仪表板创建/编辑仓库甚至不需要手写 YAML登录后即可在页面上选择仓库类型、粘贴配置并一键发布启动方式见 .wiki/DockerCompose.md。六、常见配置问题排查现象排查方向启动报错找不到存储检查meta.storage的type/path是否正确、目录权限是否可读可写仓库 404确认定义文件名 仓库名且文件位于configs指定目录修改端口不生效port只在启动时扫描需重启服务用户登录成功但被拒绝检查users/*.yaml中enabled是否为false、角色是否配置了权限S3 连接失败核对endpoint地址与accessKeyId/secretAccessKey凭据总结Artipie 的配置体系可以概括为一个主配置 N 个仓库定义 一份权限策略主配置artipie.yml声明元存储、认证来源与策略存储仓库定义只需typestorage两行核心字段20 余种类型按需选择配合_storages.yaml别名让配置更整洁权限采用认证 角色叠加模型从匿名读到全量管理都能精确覆盖。掌握这三块你就能把 Artipie 变成团队内部的多语言制品中枢。建议从 artipie-main/examples/ 目录下的 maven、docker、pypi 等场景示例入手逐个跑通再上生产。【免费下载链接】artipieBinary Artifact Management Tool项目地址: https://gitcode.com/gh_mirrors/ar/artipie创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表