prun-ops 0.2.2 → 0.2.3

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.
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