Common set of packages and configurations for all BCS Systems
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
attributes
recipes
test/integration
.gitignore
.kitchen.yml
.rubocop.yml
Berksfile
CHANGELOG.md
Gemfile
LICENSE
README.md
Rakefile
chefignore
metadata.rb

README.md

bcs_common_system cookbook

Provides a common set of packages and configurations for all BCS systems.

Basic Recipe

  • apt - update the system to get latest list of packages
  • bcs_locale - setting the system to UK
  • bcs_network - configuring hostname and network settings
  • chef-client - run the chef recipe regularly
  • git package - dealing with code repositories
  • nano - basic editor
  • ntp - maintaining accurate time on a server
  • timezone_lwrp - installing latest tzdata

Server Recipe

  • apt::unattended-upgrades - Keeps system with latest security patches and general updates
  • bcs_ruby - brightbox ruby allows the system an up to date Ruby without complications of RVM or RBenv
  • bcs_user - sets up user and ssh access
  • ntp - synchronizing with time servers
  • openssh - configuring ssh

Requirements

Requirement Tested Version
Chef 12.5+
Ruby 2.3.0+
Ubuntu 14.04+

Usage

Most commonly included into other cookbooks and add a dependency in the metadata.

include_recipe 'bcs_common_system'

metadata.rb

depends 'common-system'

Include in a runlist

    chef.run_list = [ "recipe[bcs_common_system::default]" ]

Attributes

Attribute Description
default['bcs_ruby']['version'] = '2.1.1' Ruby version to install
default['tz'] = 'GMT' Setting the timezone

Recipes

default

Configure a node with a the base system. Standard Ruby, locality, packages and Timezone.

Verification

Verification by either ssh to vagrant or running commands against vagrant guest.

vagrant ssh or  vagrant ssh -c 'command'
  • Nano seems to be installed anyway, I have left it is an example of using dpkg verify.
Verify Command Before After
Locality locale Lang= LANG=en_GB.UTF-8
nano dpkg -s nano Package: nano Package: nano
ntp service ntp status unrecognized service NTP server is running
Ruby ruby -v ruby 1.8.7 ruby 2.1.1p76
Timezone date ... UTC 2014 ... GMT 2014
Timezone more /etc/timezone UTC Etc/GMT

Limitations

When timezones are updated certain systems should be told about updating for example logging, NGINX. If required then refer to thechef command notifies

Author

Author:: RichardWigley(richard.wigley@github.com)