onecommons/unfurlUnfurl 是一款用于管理 DevOps 基础设施的命令行工具,旨在通过 git 跟踪配置、密钥、软件依赖及部署历史,集成 Terraform、Ansible、Helm 等现有 DevOps 工具,将流程封装为可重用构建块,以应用中心术语描述云基础设施。其核心价值在于简化云服务的克隆、部署和协作,目标是让任何人都能像克隆代码一样轻松部署云服务,实现可重现的应用档案、去中心化的云基础设施及协作式云服务构建。
初始化或克隆仓库
unfurl initunfurl clone <仓库地址>编辑配置文件
仓库包含以下关键 YAML 文件,描述部署所需的全部信息:
部署基础设施
执行 unfurl deploy,Unfurl 基于目标环境和模型生成部署计划,调用对应工具操作,并将最新配置及云账户变更历史提交到 git。
共享与协作
bash# 默认安装(创建虚拟环境) pip install unfurl # 使用系统 Python 安装完整版本 pip install unfurl[full] # 从源码安装最新版本 pip3 install "git+[***]"
bashdocker run --rm -it -v $(pwd):/data -w /data onecommons/unfurl:stable unfurl ... # stable:对应 PyPI 发布版本;latest:对应仓库最新源码
| Shell | 配置说明 |
|---|---|
| Bash | 添加至 ~/.bashrc:eval "$(_UNFURL_COMPLETE=bash_source unfurl)" |
| Zsh | 添加至 ~/.zshrc:eval "$(_UNFURL_COMPLETE=zsh_source unfurl)" |
| Fish | 添加至 ~/.config/fish/completions/unfurl.fish:eval (env _UNFURL_COMPLETE=fish_source unfurl) |
bashgit clone --recurse-submodules [***]
bashtox -e docs
bashpython setup.py sdist bdist_wheel # 安装构建的包示例 pip install ./dist/unfurl-<版本号>-py2.py3-none-any.whl
pip install tox==3.28.0(使用 asdf 管理 Python 时需额外安装 tox-asdf)python-dev、libcrypt-dev、openssl-dev(根据 OS 调整)bash# 运行所有测试环境 tox # 运行单个测试(例如 tests/test_runtime.py) tox -- tests/test_runtime.py # 重新创建测试环境(依赖安装失败时) tox -r
--force 和 --instance 命令行选项显式限制任务,实现部分增量更新。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务