Coder Social home page Coder Social logo

chef-cvs_wrapper's Introduction

cvs_wrapper cookbook

Requirements

During the development of this cookbook, the main tool used is chefdk, which code is available here. There are some additional gems that are documented in the project Gemfile. This also allows development in older environments (in general I take my code with me in a USB stick) like MacOSX 10.7, where chefdk is not supported, but the gem version of the tools can be used.

To allow seemless integration of gems, I am using the following approach:

  • use direnv and a .envrc file to ensure the chefdk ruby environment is used when switching to the project folder.

    use_chefdk() {
      eval "$(chef shell-init zsh)"
    }
    use chefdk
    

    Just use your preferred shell instead of zsh.

  • use the first folder from gem env gempath (which should be a user folder) as destination for the bundle install

  • bundle install --path $(gem env gempath | cut -f1 -d\: | sed -e 's/\/ruby\/2.1.0//g')

  • as a note, the vendor/bundle could also be used, but my goal is integrating with the chefdk installation (via bundler).

This adds some gem duplication right now, but I hope everything is ok (work in progress).

Usage

This cookbook allows to different setups. In static mode ( node[:cvs_wrapper][:style] = "static") it will determine the connectivity to the different CVS repositories and configure the SSH tunnels accordingly.

In automatic mode (node[:cvs_wrapper][:style] = "auto") it will perform the connectivity check at runtime. This requires sudo access for the user so that it can modify the /etc/hosts file during runtime.

node[:cvs_wrapper][:sudo] controls that (the default is true). Otherwise, the changing of the /etc/hosts file is out of scope.

Ideally the cookbook should allow for other solutions, but that is covering my use cases.

Attributes

Recipes

Author

Author:: Tnarik Innael ([email protected])

chef-cvs_wrapper's People

Contributors

tnarik avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.