Logo: Relish

  1. Sign in

Project: Cio 0.0.0

About Cio

Status: Alpha

All production code has a Alpha/Beta phase and Alpha is where we are at right now.
When we release version 0.1.0 we will switch to Beta and make our source available.

Follow us on Github to see the Rainbows and Unicorns first.

Scope

Bundling github.com/cookbooks for production deployments. Fast. Reliable. All qa-<sem.ver.no> tags, across repositories, are made available via www.cookbooks.io.

Cio is intended to be extended to production deployment of artifacts other than cookbooks,
e.g. ScriptRock templates. Cio is intended to be useful to
Chef-Solo users and other master-less/atomic environments.

Cio is not intended to be used for non-production deployments, e.g. your development environment.
For non-production use cases please consider one of the excellent complementary tools listed below.
Cio is not intended to manage your cookbooks in a Chef server environment.

Features

  • Single focus on deploying to production
  • Parallel downloads, default max 200 concurrent requests (feedback please)
  • Deploys code free of its (expanding) git history
  • Pin cookbooks by version+md5 (md5 optional)
  • Ciofile contains all dependencies, surprise dependencies are reported, not installed.
  • Fallbacks to alternate sites/hosts
  • Per cookbook site/host

Documentation

This Relish representation of the documentation, is the official documentation site for Cio.
Most of this documentation is written with an executable documentation tool (Cucumber).

The Cio features described here have all been run against Cio's codebase, serving
as specification, documentation and regression tests of the documented behavior.

The docs come in two flavors:

  • Feature/Example documentation: Contain example-based documentation. It's the place to look when you are first getting started with Cio, or if you want to see an example of how to use a feature.
  • API documentation: The rubydoc.info docs contain API documentation. The API docs contain detailed info about all of Cio's public API.

Help make this documentation better!

Please submit feedback (and patches!) on this documentation to:

Complementary tools

  • Librarian - A Framework for Bundlers (plus, a Bundler for your Chef Cookbooks) - Berkshelf Manage a Cookbook or an Application's Cookbook dependencies
  • knife-github-cookbooks A knife plugin facilitating installing, updating, and tracking Chef cookbooks found on Github.

Release Policy

Cio follows the principles of semantic versioning. The API documentation define Cio's public API.

  • Patch level releases contain only bug fixes.
  • Minor releases contain backward-compatible new features.
  • Major new releases contain backwards-incompatible changes to the public API.

Development setup

See CONTRIBUTING

Supported Ruby versions

This library aims to support and is tested against the following Ruby
implementations:

If something doesn't work on one of these interpreters, it should be considered
a bug.

This library may inadvertently work (or seem to work) on other Ruby
implementations, however issue reports will only be addressed for the versions listed
above.

If you would like this library to support another Ruby version, you may
volunteer to be a maintainer. Being a maintainer entails making sure all tests
run and pass on that implementation. When something breaks on your
implementation, you will be personally responsible for providing patches in a
timely fashion. If critical issues for a particular implementation exist at the
time of a major release, support for that Ruby version may be dropped.

Prior Art

For this project in particular:

  • Bundler
  • Berkshelf
  • Librarian
  • Solve

Acknowledgments

I've benefited from the entire Ruby ecosystem.
Libraries and start-ups alike (alpha order, and apologies for inadvertent omissions):

  • Aruba
  • Chef
  • Cucumber
  • FakeFS
  • Github
  • Relish
  • RR
  • Rspec
  • RubyGems
  • Solve
  • SimpleCov
  • Travis-CI
  • Vagrant
  • VCR

Last published almost 5 years ago by taqtiqa-mark.