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