Created
December 17, 2013 08:47
-
-
Save clauswitt/8001933 to your computer and use it in GitHub Desktop.
Various files for our chef server setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Configure the Rakefile's tasks. | |
### | |
# Company and SSL Details | |
# Used with the ssl_cert task. | |
### | |
# The company name - used for SSL certificates, and in srvious other places | |
COMPANY_NAME = "Example Com" | |
# The Country Name to use for SSL Certificates | |
SSL_COUNTRY_NAME = "US" | |
# The State Name to use for SSL Certificates | |
SSL_STATE_NAME = "Several" | |
# The Locality Name for SSL - typically, the city | |
SSL_LOCALITY_NAME = "Locality" | |
# What department? | |
SSL_ORGANIZATIONAL_UNIT_NAME = "Operations" | |
# The SSL contact email address | |
SSL_EMAIL_ADDRESS = "ops@example.com" | |
# License for new Cookbooks | |
# Can be :apachev2 or :none | |
NEW_COOKBOOK_LICENSE = :apachev2 | |
### | |
# Useful Extras (which you probably don't need to change) | |
### | |
# The top of the repository checkout | |
TOPDIR = File.expand_path(File.join(File.dirname(__FILE__), "..")) | |
# Where to store certificates generated with ssl_cert | |
CADIR = File.expand_path(File.join(TOPDIR, "certificates")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rake databag:upload_all | |
rake roles | |
rake upload_cookbooks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
current_dir = File.dirname(__FILE__) | |
log_level :info | |
log_location STDOUT | |
node_name 'jenkins' | |
client_key "#{current_dir}/client.pem" | |
validation_client_name 'chef-validator' | |
validation_key "#{current_dir}/validation.pem" | |
chef_server_url 'http://serverurl:4000' | |
cache_type 'BasicFile' | |
cache_options( :path => '#{current_dir}/.chef/checksums' ) | |
cookbook_path ["~/workspace/Chef-deploy/cookbooks"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Rakefile for Chef Server Repository | |
# | |
# Author:: Adam Jacob (<adam@opscode.com>) | |
# Copyright:: Copyright (c) 2008 Opscode, Inc. | |
# License:: Apache License, Version 2.0 | |
# | |
# 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. | |
# | |
require 'rubygems' | |
require 'chef' | |
require 'json' | |
# Load constants from rake config file. | |
require File.join(File.dirname(__FILE__), 'config', 'rake') | |
# Detect the version control system and assign to $vcs. Used by the update | |
# task in chef_repo.rake (below). The install task calls update, so this | |
# is run whenever the repo is installed. | |
# | |
# Comment out these lines to skip the update. | |
if File.directory?(File.join(TOPDIR, ".svn")) | |
$vcs = :svn | |
elsif File.directory?(File.join(TOPDIR, ".git")) | |
$vcs = :git | |
end | |
# Load common, useful tasks from Chef. | |
# rake -T to see the tasks this loads. | |
load 'chef/tasks/chef_repo.rake' | |
desc "Bundle a single cookbook for distribution" | |
task :bundle_cookbook => [ :metadata ] | |
task :bundle_cookbook, :cookbook do |t, args| | |
tarball_name = "#{args.cookbook}.tar.gz" | |
temp_dir = File.join(Dir.tmpdir, "chef-upload-cookbooks") | |
temp_cookbook_dir = File.join(temp_dir, args.cookbook) | |
tarball_dir = File.join(TOPDIR, "pkgs") | |
FileUtils.mkdir_p(tarball_dir) | |
FileUtils.mkdir(temp_dir) | |
FileUtils.mkdir(temp_cookbook_dir) | |
child_folders = [ "cookbooks/#{args.cookbook}", "site-cookbooks/#{args.cookbook}" ] | |
child_folders.each do |folder| | |
file_path = File.join(TOPDIR, folder, ".") | |
FileUtils.cp_r(file_path, temp_cookbook_dir) if File.directory?(file_path) | |
end | |
system("tar", "-C", temp_dir, "-cvzf", File.join(tarball_dir, tarball_name), "./#{args.cookbook}") | |
FileUtils.rm_rf temp_dir | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment