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 +4 -4
- data/lib/capistrano/all.rake +10 -0
- data/lib/capistrano/config/mysql.rake +1 -1
- data/lib/capistrano/config/nginx.rake +7 -7
- data/lib/capistrano/config/postgres.rake +5 -1
- data/lib/capistrano/config/rails.rake +13 -7
- data/lib/capistrano/config/ruby.rake +2 -2
- data/lib/capistrano/config/ubuntu.rake +6 -6
- data/lib/capistrano/prun-ops.rb +4 -1
- data/lib/prun-ops/version.rb +1 -1
- data/lib/tasks/db.rake +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 809ef08c09c116fe51e890ae70c47dc6be91e204
|
4
|
+
data.tar.gz: 88caadad572e8e211629ba9da730653ac536cbab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a280e0e228810133807b65b124ef6616fb92376b9dc9ff4c2ee3d2e534a7e5f5aa8c88f041f7b4479f8bd143c06cc633c02fbdcbe937b53a9c701cefff732d73
|
7
|
+
data.tar.gz: 119bebe0d217a9f3ddccc077e62a364346bdb579511b9c584c0bb6d5c2d589e8588c3b6608a204ea654fd70a3a524e19b6a94975f3e598f2500af16ace748e29
|
data/lib/capistrano/all.rake
CHANGED
@@ -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
|
@@ -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(:
|
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
|
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
|
@@ -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
|
data/lib/capistrano/prun-ops.rb
CHANGED
@@ -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
|
-
|
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
|
data/lib/prun-ops/version.rb
CHANGED
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} < #{
|
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.
|
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-
|
11
|
+
date: 2018-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|