#yaml #serialization #parse #manipulate #strongly-typed #fashion #service

yanked docker_compose

Parse, manipulate and serialize docker-compose.yml in a strongly-typed fashion

Uses old Rust 2015

0.3.9 Sep 28, 2016
0.3.8 Sep 23, 2016
0.2.0 Aug 31, 2016
0.1.0 Aug 23, 2016

#11 in #fashion

CC0 license

145KB
3K SLoC

docker_compose-rs: Support for working with docker-compose.yml files

Latest version License Build Status

This is a work in progress! Most of services: is supported, but I'm still refining the APIs as higher-level tools get build around this.

API Documention

Goals

docker-compose.yml is a very useful format, but it's hard to parse and transform correctly. This library aims to offer:

  • High-level, type-safe APIs for anything you can find in a docker-compose.yml file.
  • Parsing of individual string fields into real objects.
  • Support for working with strings that might contain variable interpolations, and leaving them unparsed when necessary.
  • Canonical representations of fields which may have multiple formats.
  • Easy updates when docker-compose.yml gets extended.

Building

You can build this library using stable Rust version 1.11. But if you want to develop it, you will get much better error messages using a nightly build of 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

Sponsor

Faraday
logo

Part of the work on docker_compose-rs has been generously sponsored by Faraday for use in their conductor tool, which orchestrates docker-compose for large, multi-pod apps.

Dependencies

~6.5MB
~153K SLoC