prun-ops 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc79dac5f97e383808a321dfe84ed59d10f3b7a4
4
- data.tar.gz: 34bf29b241d28858c0ae88f904519f58feb88ec1
3
+ metadata.gz: 809ef08c09c116fe51e890ae70c47dc6be91e204
4
+ data.tar.gz: 88caadad572e8e211629ba9da730653ac536cbab
5
5
  SHA512:
6
- metadata.gz: 27bdfa5c88947eb98103bdab5000dfff4022af31a275108e46de3782010d3b135af0786a7d1628c2c98dc8e97199329c35c4a00cf67b642cde1cbf28f1d4ac40
7
- data.tar.gz: 2545573b1aa30bc3362127defa0044abbf2cbf35b59f74b98560f18d06c9104fd408caac6d7e66e96f040ff7a36a2695810656b0b5111a32e8cad238ddc65bc0
6
+ metadata.gz: a280e0e228810133807b65b124ef6616fb92376b9dc9ff4c2ee3d2e534a7e5f5aa8c88f041f7b4479f8bd143c06cc633c02fbdcbe937b53a9c701cefff732d73
7
+ data.tar.gz: 119bebe0d217a9f3ddccc077e62a364346bdb579511b9c584c0bb6d5c2d589e8588c3b6608a204ea654fd70a3a524e19b6a94975f3e598f2500af16ace748e29
@@ -39,6 +39,16 @@ namespace :deploy do
39
39
  end
40
40
  end
41
41
  end
42
+ desc 'Create drop'
43
+ task :db_drop do
44
+ on roles(:db) do
45
+ within release_path do
46
+ with rails_env: fetch(:stage) do
47
+ execute :rake, 'db:drop'
48
+ end
49
+ end
50
+ end
51
+ end
42
52
  desc 'Setup database'
43
53
  task :db_reset do
44
54
  on roles(:db) do
@@ -46,4 +46,4 @@ def not_if(command)
46
46
  rescue Exception
47
47
  yield
48
48
  end
49
- end
49
+ end
@@ -1,8 +1,8 @@
1
1
  namespace :nginx do
2
2
  task :install do
3
- on roles :web do
3
+ on roles :web, :api do
4
4
  execute 'sudo apt-get install -y nginx'
5
- execute 'sed -i "s/# server_names_hash_bucket_size 64/server_names_hash_bucket_size 64/" /etc/nginx/nginx.conf'
5
+ execute 'sudo sed -i "s/# server_names_hash_bucket_size 64/server_names_hash_bucket_size 64/" /etc/nginx/nginx.conf'
6
6
  template 'vhost.conf', '/etc/nginx/conf.d/vhost.conf'
7
7
 
8
8
  invoke 'nginx:restart'
@@ -10,13 +10,13 @@ namespace :nginx do
10
10
  end
11
11
 
12
12
  task :cert do
13
- on roles(:web) do |host|
13
+ on roles(:web, :api) do |host|
14
14
  run_locally do
15
15
  run_in host, <<-EOBLOCK
16
- cd /usr/local/sbin
16
+ sudo cd /usr/local/sbin
17
17
  sudo wget https://dl.eff.org/certbot-auto
18
18
  sudo chmod a+x /usr/local/sbin/certbot-auto
19
- mkdir /var/www/#{fetch :application}/current/public/.well-known
19
+ sudo mkdir /var/www/#{fetch :application}/current/public/.well-known
20
20
  sudo certbot-auto certonly -a webroot --webroot-path=/var/www/#{fetch :application}/current/public -d #{host.hostname}
21
21
  sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
22
22
  EOBLOCK
@@ -25,7 +25,7 @@ namespace :nginx do
25
25
  end
26
26
 
27
27
  task :ssl do
28
- on roles(:web) do |host|
28
+ on roles(:web, :api) do |host|
29
29
  template 'vhost_ssl.conf', '/etc/nginx/conf.d/vhost.conf'
30
30
  invoke 'nginx:restart'
31
31
  end
@@ -34,7 +34,7 @@ namespace :nginx do
34
34
  %w(start stop restart status).each do |action|
35
35
  desc "Nginx"
36
36
  task :"#{action}" do
37
- on roles(:app) do
37
+ on roles(:web, :api) do
38
38
  execute "sudo service nginx #{action}"
39
39
  end
40
40
  end
@@ -5,13 +5,14 @@ namespace :postgres do
5
5
  version = config[stage]["version"]
6
6
  username = config[stage]["username"]
7
7
  password = config[stage]["password"]
8
+ database = config[stage]["database"]
8
9
 
9
10
  on roles :all do
10
11
  execute <<-EOBLOCK
11
12
  sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main"
12
13
  wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
13
14
  sudo apt-get update
14
- export LANGUAGE=en_US.UTF-8
15
+ sudo export LANGUAGE=en_US.UTF-8
15
16
  sudo apt-get -y install postgresql-client-#{version} libpq-dev
16
17
  EOBLOCK
17
18
  end
@@ -33,6 +34,9 @@ namespace :postgres do
33
34
  execute <<-EOBLOCK
34
35
  sudo -u postgres psql -c "ALTER USER #{username} WITH PASSWORD '#{password}';"
35
36
  EOBLOCK
37
+ execute <<-EOBLOCK
38
+ sudo -u postgres psql -c "create database #{database};"
39
+ EOBLOCK
36
40
 
37
41
  invoke 'postgres:restart'
38
42
  end
@@ -2,14 +2,20 @@ namespace :rails do
2
2
  task :prepare do
3
3
  on roles :all do
4
4
  execute <<-EOBLOCK
5
- echo gem: --no-ri --no-rdoc > /root/.gemrc
6
- gem install bundler
7
- gem install rack -v 1.6.0
8
- gem install thin -v 1.6.3
9
- thin install
10
- /usr/sbin/update-rc.d -f thin defaults
5
+ echo gem: --no-ri --no-rdoc | sudo tee -a /etc/gemrc
6
+ sudo gem install bundler
7
+ sudo gem install rack -v 1.6.0
8
+ sudo gem install thin -v 1.6.3
9
+ sudo thin install
10
+ sudo /usr/sbin/update-rc.d -f thin defaults
11
11
  EOBLOCK
12
- execute 'apt-get install -y imagemagick libmagickwand-dev'
12
+ execute 'sudo apt-get install -y imagemagick libmagickwand-dev'
13
+
14
+ execute <<-EOBLOCK
15
+ sudo mkdir -p /var/www/#{fetch :application}
16
+ sudo chown #{host.user}:#{host.user} /var/www/#{fetch :application}
17
+ EOBLOCK
18
+
13
19
  end
14
20
  end
15
21
  end
@@ -4,9 +4,9 @@ namespace :ruby do
4
4
  on roles :all do
5
5
  execute <<-EOBLOCK
6
6
  sudo apt-add-repository -y ppa:brightbox/ruby-ng
7
- apt-get update
7
+ sudo apt-get update
8
8
  sudo apt-get install -y ruby#{ruby_version} ruby#{ruby_version}-dev
9
9
  EOBLOCK
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -1,14 +1,14 @@
1
1
  namespace :ubuntu do
2
2
  task :install do
3
3
  on roles :all do
4
- execute 'apt-get -y update'
4
+ execute 'sudo apt-get -y update'
5
5
  # Pre-requirements
6
6
  execute <<-EOBLOCK
7
- apt-get install -y git build-essential libsqlite3-dev libssl-dev gawk g++ vim
8
- apt-get install -y libreadline6-dev libyaml-dev sqlite3 autoconf libgdbm-dev
9
- apt-get install -y libcurl3 libcurl3-gnutls libcurl4-openssl-dev
10
- apt-get install -y libncurses5-dev automake libtool bison pkg-config libffi-dev
11
- apt-get install -y software-properties-common
7
+ sudo apt-get install -y git build-essential libsqlite3-dev libssl-dev gawk g++ vim
8
+ sudo apt-get install -y libreadline6-dev libyaml-dev sqlite3 autoconf libgdbm-dev
9
+ sudo apt-get install -y libcurl3 libcurl3-gnutls libcurl4-openssl-dev
10
+ sudo apt-get install -y libncurses5-dev automake libtool bison pkg-config libffi-dev
11
+ sudo apt-get install -y software-properties-common
12
12
  EOBLOCK
13
13
  end
14
14
  end
@@ -6,5 +6,8 @@ def template(template_name, target_path)
6
6
  file = File.read("#{File.dirname(__FILE__)}/config/templates/#{template_name}.erb")
7
7
  template = ERB.new file, nil, "%"
8
8
  rendered = template.result(binding)
9
- upload! StringIO.new(rendered), target_path
9
+ tmp_file = "/tmp/#{SecureRandom.hex}.#{template_name}"
10
+ upload! StringIO.new(rendered), tmp_file
11
+ execute "sudo cp #{tmp_file} #{target_path}"
12
+ execute "rm #{tmp_file}"
10
13
  end
@@ -1,3 +1,3 @@
1
1
  module PrunOps
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
data/lib/tasks/db.rake CHANGED
@@ -15,7 +15,8 @@ namespace :db do
15
15
 
16
16
  desc "Restore the database from tmp/db.sql file if no one is passed"
17
17
  task restore: [:drop, :create, :get_db_config] do
18
- sh "export PGPASSWORD=#{@password} && psql -d #{@database} -U #{@username} -h #{@host} < #{filename}"
18
+ sh "export PGPASSWORD=#{@password} && psql -d #{@database} -U #{@username} -h #{@host} < #{filenamrake
19
+ e}"
19
20
  end
20
21
  end
21
22
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prun-ops
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Lebrijo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-12 00:00:00.000000000 Z
11
+ date: 2018-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler