Skip to content
This repository was archived by the owner on Aug 16, 2024. It is now read-only.

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Jon Seaberg committed Apr 21, 2010
0 parents commit ffc24ec
Show file tree
Hide file tree
Showing 54 changed files with 1,999 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.DS_Store
.rake_test_cache
.idea
nbproject
3 changes: 3 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Copyright (c) 2009 RightScale, Inc.

All rights reserved - Do Not Redistribute
1 change: 1 addition & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
35 changes: 35 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#
# 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'

# Make sure you have loaded constants first
require File.join(File.dirname(__FILE__), 'config', 'rake')

# And choosen a VCS
if File.directory?(File.join(TOPDIR, ".svn"))
$vcs = :svn
elsif File.directory?(File.join(TOPDIR, ".git"))
$vcs = :git
end

load 'chef/tasks/chef_repo.rake'
60 changes: 60 additions & 0 deletions config/rake.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
###
# Company and SSL Details
###

# The company name - used for SSL certificates, and in srvious other places
COMPANY_NAME = "RightScale, Inc."

# The Country Name to use for SSL Certificates
SSL_COUNTRY_NAME = "US"

# The State Name to use for SSL Certificates
SSL_STATE_NAME = "CA"

# The Locality Name for SSL - typically, the city
SSL_LOCALITY_NAME = "Santa Barbara"

# What department?
SSL_ORGANIZATIONAL_UNIT_NAME = "Support"

# The SSL contact email address
SSL_EMAIL_ADDRESS = "support@rightscale.com"

# License for new Cookbooks
# Can be :apachev2 or :none
NEW_COOKBOOK_LICENSE = :none

##########################
# Chef Repository Layout #
##########################

# Where to install upstream cookbooks for serving
COOKBOOK_PATH = "/srv/chef/cookbooks"

# Where to install site-local modifications to upstream cookbooks
SITE_COOKBOOK_PATH = "/srv/chef/site-cookbooks"

# Where to install roles
ROLE_PATH = "/srv/chef/roles"

# Chef Config Path
CHEF_CONFIG_PATH = "/etc/chef"

# The location of the Chef Server Config file (on the server)
CHEF_SERVER_CONFIG = File.join(CHEF_CONFIG_PATH, "server.rb")

# The location of the Chef Client Config file (on the client)
CHEF_CLIENT_CONFIG = File.join(CHEF_CONFIG_PATH, "client.rb")

###
# 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"))

# Where to store the mtime cache for the recipe/template syntax check
TEST_CACHE = File.expand_path(File.join(TOPDIR, ".rake_test_cache"))
15 changes: 15 additions & 0 deletions cookbooks/blog_engine/README.rdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
= DESCRIPTION:

Loads the Blog Engine data into the local SQL Serveer database and installs the Blog Enging application as the
default web application for IIS.

= REQUIREMENTS:

* db_sqlserver, web_iis, win_admin, and sys_monitoring cookbooks

= USAGE:

Designed to be run within a RightScale ServerTemplate.

Boot Scripts
* default - Loads the database and installs the Blog Engine application as the default IIS site
115 changes: 115 additions & 0 deletions cookbooks/blog_engine/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
{
"version": "0.0.1",
"conflicting": {

},
"recipes": {
"blog_engine::default": "Loads the database and installs the Blog Engine application as the default IIS site",
"blog_engine": ""
},
"providing": {
"blog_engine": [

]
},
"long_description": "= DESCRIPTION:\n\nLoads the Blog Engine data into the local SQL Serveer database and installs the Blog Enging application as the\ndefault web application for IIS.\n\n= REQUIREMENTS:\n\n* db_sqlserver cookbook and web_iis cookbook.\n\n= USAGE:\n\nDesigned to be run within a RightScale ServerTemplate.",
"description": "Install and configure the Blog Engine application",
"name": "blog_engine",
"attributes": {
"db_sqlserver\/server_name": {
"default": "localhost\\SQLEXPRESS",
"type": "string",
"multiple_values": false,
"description": "The network name of the SQL Server instance used by recipes.",
"display_name": "SQL Server instance network name",
"required": false,
"recipes": [

]
},
"web_iis\/deploy\/web_app_src_zips": {
"default": "d:\\datastore\\aspdotnet\\webapps",
"type": "string",
"multiple_values": false,
"description": "The path to the directory containing one or more web application source .zip file(s).",
"display_name": "Web App Source Zips Directory",
"required": false,
"recipes": [
"web_iis::do_simple_app_deploy"
]
},
"db_sqlserver\/backup\/backup_file_name_pattern": {
"default": "{0}_{1}.bak",
"type": "string",
"multiple_values": false,
"description": "Format string with Powershell-style string format arguments for creating backup files. The 0 argument represents the database name and the 1 argument represents a generated time stamp.",
"display_name": "Backup file name format",
"required": false,
"recipes": [

]
},
"db_sqlserver\/database_name": {
"default": "BlogEngine",
"type": "string",
"multiple_values": false,
"description": "The name of a database running on this SQL Server instance",
"display_name": "Database Name",
"required": false,
"recipes": [
"db_sqlserver::do_drop_database"
]
},
"db_sqlserver\/backup\/database_backup_dir": {
"default": "c:\\datastore\\sqlserver\\databases",
"type": "string",
"multiple_values": false,
"description": "The local drive path or UNC path to the directory which will contain new SQL Server database backup (.bak) files. Note that network drives are not supported by SQL Server.",
"display_name": "SQL Server backup .bak directory",
"required": false,
"recipes": [
"db_sqlserver::do_backup",
"db_sqlserver::do_backup_demo"
]
},
"win_admin\/admin_password": {
"type": "string",
"multiple_values": false,
"description": "New administrator password",
"display_name": "New administrator password",
"required": false,
"recipes": [

]
}
},
"replacing": {

},
"dependencies": {
"web_iis": [

],
"win_admin": [

],
"sys_monitoring": [

],
"db_sqlserver": [

]
},
"maintainer": "RightScale, Inc.",
"recommendations": {

},
"platforms": {

},
"maintainer_email": "support@rightscale.com",
"suggestions": {

},
"license": "Copyright (c) 2009 RightScale, Inc.\n\nAll rights reserved - Do Not Redistribute\n"
}
46 changes: 46 additions & 0 deletions cookbooks/blog_engine/metadata.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
maintainer "RightScale, Inc."
maintainer_email "support@rightscale.com"
license IO.read(File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'LICENSE')))
description "Install and configure the Blog Engine application"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
version "0.0.1"

depends 'win_admin'
depends 'sys_monitoring'
depends 'db_sqlserver'
depends 'web_iis'

recipe 'blog_engine::default', 'Loads the database and installs the Blog Engine application as the default IIS site'

attribute 'win_admin/admin_password',
:display_name => 'New administrator password',
:description => 'New administrator password'

attribute "db_sqlserver/server_name",
:display_name => "SQL Server instance network name",
:description => "The network name of the SQL Server instance used by recipes.",
:default => "localhost\\SQLEXPRESS"

attribute "db_sqlserver/database_name",
:display_name => "Database Name",
:description => "The name of a database running on this SQL Server instance",
:default => "BlogEngine",
:recipes => ["db_sqlserver::do_drop_database"]

attribute "db_sqlserver/backup/database_backup_dir",
:display_name => "SQL Server backup .bak directory",
:description => "The local drive path or UNC path to the directory which will contain new SQL Server database backup (.bak) files. Note that network drives are not supported by SQL Server.",
:default => "c:\\datastore\\sqlserver\\databases",
:recipes => ["db_sqlserver::do_backup", "db_sqlserver::do_backup_demo"]

attribute "db_sqlserver/backup/backup_file_name_pattern",
:display_name => "Backup file name format",
:description => "Format string with Powershell-style string format arguments for creating backup files. The 0 argument represents the database name and the 1 argument represents a generated time stamp.",
:default => "{0}_{1}.bak"

attribute "web_iis/deploy/web_app_src_zips",
:display_name => "Web App Source Zips Directory",
:description => "The path to the directory containing one or more web application source .zip file(s).",
:default => "d:\\datastore\\aspdotnet\\webapps",
:recipes => ["web_iis::do_simple_app_deploy"]

16 changes: 16 additions & 0 deletions cookbooks/blog_engine/recipes/default.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#
# Cookbook Name:: web_iis
# Recipe:: default
#
# Copyright 2010, RightScale, Inc.
#
# All rights reserved - Do Not Redistribute
#
unless @node[:boot_run]
include_recipe 'win_admin::change_admin_password'
include_recipe 'sys_monitoring::default'
include_recipe 'db_sqlserver::do_load_demo'
include_recipe 'web_iis::do_demo_deploy'
@node[:boot_run] = true
end

29 changes: 29 additions & 0 deletions cookbooks/db_sqlserver/README.rdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
= DESCRIPTION:

Configures a SQL Server database.

= REQUIREMENTS:

* Currently only works with EBS Volumes attached to server which are used as backup/restore directories.

= ATTRIBUTES:

See metadata.rb

= USAGE:

Designed to be run within a RightScale ServerTemplate with the following run order:

Boot Scripts
* do_load_demo - Loads the demo database from a cookbook-relative directory.

Operational Scripts
* default - Not yet implemented
* do_backup_demo - Backs up the demo database to a local machine directory.
* do_drop_demo - Drops the demo database.
* do_restore_demo - Restores the demo database from a local machine directory.
* do_restore_master - Restore all databases from a backup directory.
* do_drop_database - Drop the specified database.

Decommission Scripts
* do_backup - Backs up all non-system SQL Server databases to a backup directory.
Loading

0 comments on commit ffc24ec

Please sign in to comment.