2个不稳定版本

0.2.0 2024年5月29日
0.1.0 2024年3月5日

#279网络编程

41 每月下载次数

MIT 许可证

54KB
630

apt-transport-blob

一种允许从Azure Blob存储安装Debian包的传输方式。

实现了如此处所述的APT方法接口。

构建

可执行文件

要构建blob可执行文件,请使用cargo

cargo build --release

这将在您的标准Cargo输出目录中创建blob可执行文件,通常为target/release

Debian包

要创建Debian包,请使用cargo deb

$ cargo deb
    Finished release [optimized] target(s) in 0.43s
/code/apt-transport-blob/target/debian/apt-transport-blob_<version>_amd64.deb

这将在target/debian中创建Debian包。它包含安装到/usr/lib/apt/methods/blobblob可执行文件。

使用方法

要使用此工具,它需要安装到/usr/lib/apt/methods作为blob。这允许apt通过blob://前缀解析数据源。

认证

此工具允许多种认证形式。用户必须确保他们使用的凭证有权访问具有Storage Blob Data Reader角色的blob容器。

凭证的优先级如下

  • 存储令牌:使用storage.azure.com作用域创建的令牌,并将其设置为环境变量AZURE_STORAGE_BEARER_TOKEN

    可以通过在Azure CLI中运行以下命令以编程方式获取此令牌

    az account get-access-token --output tsv --query accessToken --resource https://storage.azure.com
    
  • 环境变量:允许通过environment_credentials.rs中描述的机制进行认证 - 即设置环境变量

    • AZURE_TENANT_ID:Azure Active Directory租户/目录ID
    • AZURE_CLIENT_ID:租户中的应用程序注册表的客户端/应用程序ID。
    • AZURE_CLIENT_SECRET:为应用程序注册表生成的客户端密钥。
    • AZURE_FEDERATED_TOKEN_FILE:联合令牌文件的路径。
  • Azure CLI凭据:允许通过Azure CLI进行身份验证。使用以下方式登录:

    az login
    
  • 托管标识:可以与Azure VM、App Service和Azure Functions应用程序一起使用。

贡献

本项目欢迎贡献和建议。大多数贡献需要您同意贡献者许可协议(CLA),声明您有权利并且实际上已经授予我们使用您贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com

当您提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地装饰PR(例如,状态检查,注释)。只需遵循机器人提供的说明。您在整个使用我们的CLA的仓库中只需要这样做一次。

本项目采用了Microsoft开源代码行为准则。有关更多信息,请参阅代码行为准则常见问题解答或通过[email protected]联系我们有任何额外的问题或评论。

商标

本项目可能包含项目、产品或服务的商标或标志。授权使用Microsoft商标或标志须遵守并遵循Microsoft的商标和品牌指南。在修改本项目版本中使用Microsoft商标或标志不得引起混淆或暗示Microsoft的赞助。任何使用第三方商标或标志都受那些第三方政策的约束。

依赖项

~20–33MB
~502K SLoC