All Projects → chef-boneyard → omnibus

chef-boneyard / omnibus

Licence: Apache-2.0 license
Prepares a machine to be an Omnibus builder. ┬──┬◡ノ(° -°ノ)

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to omnibus

Runit
Development repository for the Chef Runit Cookbook
Stars: ✭ 101 (+260.71%)
Mutual labels:  chef, cookbook
Cassandra Chef Cookbook
Chef cookbook for Apache Cassandra, DataStax Enterprise (DSE) and DataStax agent
Stars: ✭ 162 (+478.57%)
Mutual labels:  chef, cookbook
Ark
Development repository for Chef Cookbook ark
Stars: ✭ 103 (+267.86%)
Mutual labels:  chef, cookbook
Cookstyle
A linting tool that helps you to write better Chef Infra cookbooks by detecting and automatically correcting style, syntax, and logic mistakes in your code.
Stars: ✭ 95 (+239.29%)
Mutual labels:  chef, cookbook
delivery-truck
DEPRECATED: Delivery build cb for pipelines
Stars: ✭ 36 (+28.57%)
Mutual labels:  chef, cookbook
Yum
Development repository for yum cookbook
Stars: ✭ 96 (+242.86%)
Mutual labels:  chef, cookbook
Build Essential
Development repository for build-essential Chef Cookbook
Stars: ✭ 118 (+321.43%)
Mutual labels:  chef, cookbook
Bluepill
Development repository for bluepill Chef Cookbook
Stars: ✭ 35 (+25%)
Mutual labels:  chef, cookbook
Windows
Development repository for Chef Cookbook windows
Stars: ✭ 251 (+796.43%)
Mutual labels:  chef, cookbook
Chef Client
Development repository for Chef Client cookbook
Stars: ✭ 183 (+553.57%)
Mutual labels:  chef, cookbook
Ssh known hosts
Development repository for Chef Cookbook ssh_known_hosts
Stars: ✭ 73 (+160.71%)
Mutual labels:  chef, cookbook
Arcgis Cookbook
Chef cookbooks for ArcGIS
Stars: ✭ 227 (+710.71%)
Mutual labels:  chef, cookbook
Chef Vault
chef-vault cookbook
Stars: ✭ 63 (+125%)
Mutual labels:  chef, cookbook
Iptables
Development repository for Chef Cookbook iptables
Stars: ✭ 96 (+242.86%)
Mutual labels:  chef, cookbook
Lvm
Development repository for lvm Chef cookbook
Stars: ✭ 51 (+82.14%)
Mutual labels:  chef, cookbook
Sudo
Development repository for sudo cookbook
Stars: ✭ 113 (+303.57%)
Mutual labels:  chef, cookbook
sudo
Development repository for sudo cookbook
Stars: ✭ 119 (+325%)
Mutual labels:  chef, cookbook
Activemq
Development repository for activemq Chef Cookbook
Stars: ✭ 19 (-32.14%)
Mutual labels:  chef, cookbook
Chef Server
Cookbook to install standalone Chef Server
Stars: ✭ 173 (+517.86%)
Mutual labels:  chef, cookbook
ohai
Development repository for Chef Cookbook ohai
Stars: ✭ 49 (+75%)
Mutual labels:  chef, cookbook

omnibus Cookbook

Cookbook Build Status

Prepares a machine to be an Omnibus builder.

This project is managed by the CHEF Release Engineering team. For more information on the Release Engineering team's contribution, triage, and release process, please consult the CHEF Release Engineering OSS Management Guide.

Announcement

Starting with omnibus cookbook version 5.0.0:

This cookbook requires Chef Infra Client 14 or later

Starting with omnibus cookbook version 4.0.0:

  • Chef 11 is no longer supported, since 12.5.1 is required to use chef-ingredient. If needed, you can pin to omnibus version 3.2.x to preserve the old functionality.
  • Instead of compiling everything from source in this cookbook, the omnibus-toolchain package will be installed. This package contains patch, bash, make, git, ruby, rubygems, and bundler (built from omnibus-software definitions).

Requirements

This cookbook requires Chef 14+

For a full list of supported platforms and external cookbook requirements, please see the metadata.rb file at the root of the cookbook.

Recipes

The default recipe is the main entrypoint for the cookbook and does the following:

  • Ensures all required Omnibus-related directories are created and owned by the build user.
  • Ensures a sane build tool-chain is installed and configured
  • Ensures the necessary tools to run an Omnibus project (ruby, git, etc) are installed (using the omnibus-toolchain package)
  • Includes a platform-specific recipe to apply additional tweaks as appropriate.

All other recipes should be treated as "private" and are not meant to be used individually. They only exist to support the default recipe.

Attributes

Attribute Default Description
build_user omnibus The user to execute Omnibus builds as
base_dir Windows: C:/omnibus-ruby *nix: /var/cache/omnibus The "base" directory where Omnibus will store its data.

Resources

omnibus_build

This resource is used to execute a build of an Omnibus project.

Attributes

Attribute Default Description
project_name The name of the Omnibus project to build
project_dir The directory to install Omnibus
install_dir /opt/<PROJECT> The installation of the project being built
base_dir Windows: C:/omnibus-ruby *nix: /var/cache/omnibus The base directory for Omnibus
log_level :internal Log level used during the build. Valid values include: :internal, :debug, :info, :warn, :error, :fatal
config_file <PROJECT_DIR>/omnibus.rb Omnibus configuration file used for the build.
config_overrides {} Overrides for one or more Omnibus config options
expire_cache false Indicates the Omnibus cache (including git cache) should be wiped before building.
build_user node['omnibus']['build_user'] The user to execute the Omnibus build as.
environment {} Environment variables to set in the underlying build process.
live_stream false Indicates output of build process should be logged to Chef event stream.

Example Usage

omnibus_build 'harmony' do
  project\_dir 'https://github.com/chef/omnibus-harmony.git'
  log_level :internal
  config_override(
    append_timestamp: true
  )
end

Usage

Include the omnibus::default recipe in your node's run list and override the cookbook's default attributes as desired. At the very least you will want to override node['omnibus']['install_dir'] to match the installation directory of your Omnibus project.

Using Test Kitchen with Docker

The following assumes you are on a macOS workstation and have installed and started Kitematic.

  1. Set environment variables to point kitchen-docker at your local Kitematic instance:

Bash

export DOCKER_HOST=tcp://192.168.99.100:2376
export DOCKER_CERT_PATH=$HOME/.docker/machine/certs
export DOCKER_TLS_VERIFY=1

Fish

set -gx DOCKER_HOST "tcp://192.168.99.100:2376"
set -gx DOCKER_CERT_PATH "$HOME/.docker/machine/certs"
set -gx DOCKER_TLS_VERIFY 1
  1. Run Test Kitchen with the provided .kitchen.docker.yml:
KITCHEN_LOCAL_YAML=.kitchen.docker.yml kitchen verify languages-ruby-ubuntu-1204

License & Authors

Copyright:: 2012-2017, Chef Software, Inc. (<[email protected]>)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].