#docker-compose #yaml #yaml-parser #serialization #strongly-typed #manipulate #string

compose_yml

以强类型方式解析、操作和序列化 docker-compose.yml

20 个版本

0.0.59 2020年9月13日
0.0.58 2020年7月5日
0.0.57 2020年4月8日
0.0.55 2019年1月12日
0.0.48 2016年11月13日

#985 in 开发工具


用于 2 工具包

CC0-1.0 AND Apache-2.0

170KB
3.5K SLoC

compose_yml: 支持处理 docker-compose.yml 文件

Latest version License Build Status Build status Documentation Gitter

这是一个正在进行中的项目! 大多数 services: 已支持,但随着围绕该库构建更高级的工具,我仍在完善 API。

目标

docker-compose.yml 是一个非常有用的格式,但解析和转换正确很难。这个库旨在提供

  • 面向高级、类型安全的 API,用于处理 docker-compose.yml 文件中的任何内容。
  • 将单个字符串字段解析为实际对象。
  • 支持处理可能包含变量插值和必要时未解析的字符串。
  • 具有多种格式的字段的规范表示。
  • docker-compose.yml 扩展时,易于更新。

构建

您可以使用稳定的 Rust 版本 1.11 来构建此库。但如果您想开发它,您将使用 Rust 的夜间构建获得更好的错误消息。

# Install Rust stable and nightly using rustup.
curl -sSf https://static.rust-lang.org/rustup.sh | sh
rustup toolchain install nightly

# Build unit tests using nightly Rust.
rustup run nightly cargo test --no-default-features --features unstable

许可证

此库根据 LICENSE.txt 中描述的公共领域,除了 src/v2/validate/config_schema_v2.*.json 文件,这些文件归 Docker, Inc. 所有,并根据 Apache 许可证第 2.0 版分发。

赞助商

《compose_yml》项目的一部分得到了Faraday公司的慷慨赞助,用于其cage工具,该工具旨在超越docker-compose,并支持大型多Pod应用。

依赖项

~12MB
~305K SLoC