GithubHelp home page GithubHelp logo

sirinek / puppet-scl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yunghuffy/puppet-scl

0.0 2.0 0.0 51 KB

A Puppet module designed to manage scl and some small but necessary wrapper scripts

Ruby 83.30% Puppet 16.06% HTML 0.56% Shell 0.08%

puppet-scl's Introduction

scl

Table of Contents

  1. Description
  2. Setup - The basics of getting started with scl
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module

Description

A simple module designed to manage Software Collections on RedHat based OS.

What scl affects

This module will add repositories to the yum repos dir

  • /etc/yum.repos.d/
  • RPM gpg key

Beginning with scl

This module, in its most basic form will install and manage the repositories necessary to install Software Collections as pakcages. To do that:

include ::scl

Usage

Software Collection Packages

The most effective usage of the module might be to install packages that require the scl repositories. The scl class takes a list of packages to install along with the collections' repositories.

class { 'scl':
  packages => [ 'rh-ruby22', 'rh-ruby22-ruby-devel', 'rh-ruby22-rubygems', 'rh-ruby22-rubygems-devel' ],
  shebangs => [ 'rh-ruby22' ],
} ->

Shebang Files

The parameter shebangs refers to files created in /usr/local/bin/ called scl-shebang-[package name] that can be used for inclusion in scripts. For example put the following in the shebang line of a script written in ruby2.2

#!/usr/local/bin/scl-shebang-rh-ruby22

The script will properly source all necessary environment variables for the desired ruby environment without having to declare scl enable rh-ruby22 -- ruby my_script.rb each time my_script is run.

Ruby Gems

When gems are included be sure to describe the version of ruby to which the gems are being installed. Currently this module only supports rh-ruby22 and ruby193.

scl::gems { 'wildfly_scripts gems':
  scl_ruby_version => 'rh-ruby22',
  scl_gems         => {
    'daemons' => {},
  },
}

Python Packages

Planned features in the future.

Limitations

This module only works with RH-based operating systems, and has been tested and developed for use with CentOS.

Development

Development is welcome. Be sure to include spec tests for any new features added.

Spec Testing

Currently both spec and serverspec testing is supported in this module. Efforts have been made to streamline testing as much as possible. Spec testing should be as simple as changing directory to the module and

bundle install --path vendor/bundle
bundle exec rake spec

Serverspec Testing

Beaker has been leveraged for serverspec testing. Serverspec tests are limited, and fairly shallow, but tend to get the job done. Vagrant is the modus of choice for testing this module, and a CentOS box running Puppet Enterprise 4.4.1 has already been configured as the default test box. Running the tests should be as simple as changing to the directory and

bundle install --path vendor/bundle
bundle exec rake beaker

puppet-scl's People

Watchers

 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.