breeze 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +6 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +4 -0
- data/Rakefile +2 -0
- data/bin/breeze +17 -0
- data/breeze.gemspec +28 -0
- data/lib/breeze.rb +6 -0
- data/lib/breeze/fog_extensions.rb +2 -0
- data/lib/breeze/fog_extensions/aws.rb +65 -0
- data/lib/breeze/initializer.rb +40 -0
- data/lib/breeze/tasks.rb +10 -0
- data/lib/breeze/tasks/app.rb +145 -0
- data/lib/breeze/tasks/configuration.rb +63 -0
- data/lib/breeze/tasks/db.rb +31 -0
- data/lib/breeze/tasks/dns.rb +67 -0
- data/lib/breeze/tasks/list.rb +74 -0
- data/lib/breeze/tasks/server.rb +72 -0
- data/lib/breeze/tasks/server/address.rb +27 -0
- data/lib/breeze/tasks/server/image.rb +27 -0
- data/lib/breeze/tasks/server/tag.rb +16 -0
- data/lib/breeze/veur.rb +86 -0
- data/lib/templates/Thorfile +122 -0
- data/lib/templates/maintenance.html +23 -0
- data/lib/templates/profiles/minimal/scripts/install_conf.sh +4 -0
- data/lib/templates/profiles/minimal/scripts/install_cust.sh +7 -0
- data/lib/templates/profiles/rails_and_image_magick/configs/database.yml +18 -0
- data/lib/templates/profiles/rails_and_image_magick/configs/memcached.conf +51 -0
- data/lib/templates/profiles/rails_and_image_magick/configs/nginx/logrotate +26 -0
- data/lib/templates/profiles/rails_and_image_magick/configs/nginx/monit +9 -0
- data/lib/templates/profiles/rails_and_image_magick/configs/nginx/nginx.conf +99 -0
- data/lib/templates/profiles/rails_and_image_magick/scripts/install_conf.sh +33 -0
- data/lib/templates/profiles/rails_and_image_magick/scripts/install_cust.sh +24 -0
- data/lib/templates/shared/configs/crontab +10 -0
- data/lib/templates/shared/configs/monitrc +248 -0
- data/lib/templates/shared/scripts/credentials.sh +5 -0
- data/lib/templates/shared/scripts/deploy.sh +43 -0
- data/lib/templates/shared/scripts/install.sh +38 -0
- data/lib/templates/user_data.sh +4 -0
- metadata +133 -0
@@ -0,0 +1,5 @@
|
|
1
|
+
# This file is sourced by deploy.sh. You may want to put your github access token here
|
2
|
+
# or whatever credentials are required in order to deploy your application automatically
|
3
|
+
# on boot. This file is by default saved with the mode 0600. It may be a good idea to
|
4
|
+
# leave it out of your revision control system.
|
5
|
+
GITHUB_TOKEN=your-github-access-token
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# This example script downloads a tarball from github and deploys it to /srv.
|
3
|
+
# You can pass in user_data to invoke this script with different command line
|
4
|
+
# arguments when new server instances are launched.
|
5
|
+
set -e -x
|
6
|
+
shopt -s expand_aliases
|
7
|
+
|
8
|
+
HOME=/home/ubuntu
|
9
|
+
# exec 1>$HOME/deploy.log 2>&1
|
10
|
+
exec > >(tee $HOME/deploy.log) 2>&1
|
11
|
+
|
12
|
+
source $HOME/credentials.sh
|
13
|
+
|
14
|
+
# command line arguments with default values
|
15
|
+
PUBLIC_SERVER_NAME=$1
|
16
|
+
DB_SERVER=$2
|
17
|
+
BRANCH=${3:-master} # can also be the name of a tag
|
18
|
+
APP_NAME=${4:-YOUR-APP}
|
19
|
+
BASE_URL=${5:-"https://github.com/YOUR-LOGIN/YOUR-APP/tarball/$BRANCH"}
|
20
|
+
# NOTICE: user_data is readable by anyone who can log in but
|
21
|
+
# credentials.sh is readable only by user ubuntu (and sudoers)
|
22
|
+
QUERY_STRING=${6:-"?login=YOUR-GITHUB-LOGIN&token=$GITHUB_TOKEN"}
|
23
|
+
|
24
|
+
DOWNLOAD_URL="$BASE_URL$QUERY_STRING"
|
25
|
+
DEPLOY_PATH=/srv/$APP_NAME
|
26
|
+
|
27
|
+
# don't do anything if the app has already been deployed
|
28
|
+
if [ -d $DEPLOY_PATH ]; then exit; fi
|
29
|
+
|
30
|
+
# add a user (rails) to run your application
|
31
|
+
sudo adduser --system --group rails
|
32
|
+
# add user ubuntu to the rails group so that ubuntu can read database.yml
|
33
|
+
sudo usermod --groups rails ubuntu
|
34
|
+
|
35
|
+
wget -q --no-check-certificate --directory-prefix=$HOME --output-document=tarball.tar.gz $DOWNLOAD_URL
|
36
|
+
tar --directory $HOME -xzf tarball.tar.gz
|
37
|
+
|
38
|
+
sudo mv $HOME/*$APP_NAME* $DEPLOY_PATH
|
39
|
+
sudo chown -R rails $DEPLOY_PATH
|
40
|
+
cd $DEPLOY_PATH
|
41
|
+
sudo bundle install --without=test development
|
42
|
+
sudo PUBLIC_SERVER_NAME=$PUBLIC_SERVER_NAME DB_SERVER=$DB_SERVER thor configuration:deploy_to_localhost
|
43
|
+
sudo /etc/init.d/monit start
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# Modify install_conf.sh and install_cust.sh first.
|
3
|
+
set -e -x
|
4
|
+
shopt -s expand_aliases
|
5
|
+
|
6
|
+
# set up $HOME and output redirection
|
7
|
+
HOME=/home/ubuntu
|
8
|
+
exec > >(tee $HOME/install.log) 2>&1
|
9
|
+
|
10
|
+
# use all available disk space
|
11
|
+
sudo resize2fs /dev/sda1
|
12
|
+
|
13
|
+
SCRIPT_DIR=`dirname $0`
|
14
|
+
source $SCRIPT_DIR/install_conf.sh
|
15
|
+
|
16
|
+
alias package_manager='sudo DEBIAN_FRONTEND=noninteractive apt-get -q'
|
17
|
+
|
18
|
+
# upgrade and install system packages
|
19
|
+
package_manager update
|
20
|
+
package_manager -y upgrade
|
21
|
+
package_manager -y install $PACKAGES
|
22
|
+
|
23
|
+
# define an alias and a function to install source packages
|
24
|
+
alias download='wget -q --directory-prefix=$HOME'
|
25
|
+
function extract_and_install {
|
26
|
+
local package=$1
|
27
|
+
local options=$2
|
28
|
+
cd $HOME
|
29
|
+
tar -xzf $package.tar.gz
|
30
|
+
cd $package
|
31
|
+
./configure --prefix=/usr $options && make && sudo make install
|
32
|
+
cd ..
|
33
|
+
rm -rf $package*
|
34
|
+
}
|
35
|
+
|
36
|
+
source $SCRIPT_DIR/install_cust.sh
|
37
|
+
|
38
|
+
: "=========== SUCCESSFULLY REACHED THE END OF install.sh ==========="
|
metadata
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: breeze
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
version: 0.0.1
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Markus Bengts
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2011-03-20 00:00:00 +01:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: thor
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
31
|
+
type: :runtime
|
32
|
+
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: fog
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
- 7
|
44
|
+
version: "0.7"
|
45
|
+
type: :runtime
|
46
|
+
version_requirements: *id002
|
47
|
+
description: |
|
48
|
+
Breeze makes it easy to automate server installation and configuration. It provides
|
49
|
+
example scripts and configuration files that you can modify and keep in your revision
|
50
|
+
control system. Thor tasks are provided to create server images, launch server instances etc.
|
51
|
+
|
52
|
+
email:
|
53
|
+
- markus.bengts@gmail.com
|
54
|
+
executables:
|
55
|
+
- breeze
|
56
|
+
extensions: []
|
57
|
+
|
58
|
+
extra_rdoc_files: []
|
59
|
+
|
60
|
+
files:
|
61
|
+
- .gitignore
|
62
|
+
- Gemfile
|
63
|
+
- LICENSE
|
64
|
+
- README.md
|
65
|
+
- Rakefile
|
66
|
+
- bin/breeze
|
67
|
+
- breeze.gemspec
|
68
|
+
- lib/breeze.rb
|
69
|
+
- lib/breeze/fog_extensions.rb
|
70
|
+
- lib/breeze/fog_extensions/aws.rb
|
71
|
+
- lib/breeze/initializer.rb
|
72
|
+
- lib/breeze/tasks.rb
|
73
|
+
- lib/breeze/tasks/app.rb
|
74
|
+
- lib/breeze/tasks/configuration.rb
|
75
|
+
- lib/breeze/tasks/db.rb
|
76
|
+
- lib/breeze/tasks/dns.rb
|
77
|
+
- lib/breeze/tasks/list.rb
|
78
|
+
- lib/breeze/tasks/server.rb
|
79
|
+
- lib/breeze/tasks/server/address.rb
|
80
|
+
- lib/breeze/tasks/server/image.rb
|
81
|
+
- lib/breeze/tasks/server/tag.rb
|
82
|
+
- lib/breeze/veur.rb
|
83
|
+
- lib/templates/Thorfile
|
84
|
+
- lib/templates/maintenance.html
|
85
|
+
- lib/templates/profiles/minimal/scripts/install_conf.sh
|
86
|
+
- lib/templates/profiles/minimal/scripts/install_cust.sh
|
87
|
+
- lib/templates/profiles/rails_and_image_magick/configs/database.yml
|
88
|
+
- lib/templates/profiles/rails_and_image_magick/configs/memcached.conf
|
89
|
+
- lib/templates/profiles/rails_and_image_magick/configs/nginx/logrotate
|
90
|
+
- lib/templates/profiles/rails_and_image_magick/configs/nginx/monit
|
91
|
+
- lib/templates/profiles/rails_and_image_magick/configs/nginx/nginx.conf
|
92
|
+
- lib/templates/profiles/rails_and_image_magick/scripts/install_conf.sh
|
93
|
+
- lib/templates/profiles/rails_and_image_magick/scripts/install_cust.sh
|
94
|
+
- lib/templates/shared/configs/crontab
|
95
|
+
- lib/templates/shared/configs/monitrc
|
96
|
+
- lib/templates/shared/scripts/credentials.sh
|
97
|
+
- lib/templates/shared/scripts/deploy.sh
|
98
|
+
- lib/templates/shared/scripts/install.sh
|
99
|
+
- lib/templates/user_data.sh
|
100
|
+
has_rdoc: true
|
101
|
+
homepage: https://github.com/markus/breeze
|
102
|
+
licenses: []
|
103
|
+
|
104
|
+
post_install_message:
|
105
|
+
rdoc_options: []
|
106
|
+
|
107
|
+
require_paths:
|
108
|
+
- lib
|
109
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
version: "0"
|
117
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
segments:
|
123
|
+
- 0
|
124
|
+
version: "0"
|
125
|
+
requirements: []
|
126
|
+
|
127
|
+
rubyforge_project: breeze
|
128
|
+
rubygems_version: 1.3.7
|
129
|
+
signing_key:
|
130
|
+
specification_version: 3
|
131
|
+
summary: Thor tasks to manage AWS cloud computing resorces and deployments
|
132
|
+
test_files: []
|
133
|
+
|