capistrano-ops 0.2.14 → 1.0.0
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/README.md +121 -29
- data/lib/capistrano/ops/backup/helper.rb +56 -0
- data/lib/capistrano/ops/{capistrano/v3/tasks/backup → backup/tasks}/database/create.rake +1 -2
- data/lib/capistrano/ops/{capistrano/v3/tasks/backup → backup/tasks}/database/pull.rake +1 -2
- data/lib/capistrano/ops/{capistrano/v3/tasks/backup → backup/tasks}/storage/create.rake +1 -2
- data/lib/capistrano/ops/{capistrano/v3/tasks/backup → backup/tasks}/storage/pull.rake +1 -2
- data/lib/capistrano/ops/backup.rb +14 -4
- data/lib/capistrano/ops/capistrano.rb +8 -13
- data/lib/capistrano/ops/figaro_yml/helpers.rb +184 -0
- data/lib/capistrano/ops/figaro_yml/paths.rb +19 -0
- data/lib/capistrano/ops/figaro_yml/tasks/backup.rake +26 -0
- data/lib/capistrano/ops/figaro_yml/tasks/check.rake +12 -0
- data/lib/capistrano/ops/figaro_yml/tasks/check_config_present.rake +12 -0
- data/lib/capistrano/ops/figaro_yml/tasks/check_figaro_file_exists.rake +12 -0
- data/lib/capistrano/ops/figaro_yml/tasks/check_git_tracking.rake +12 -0
- data/lib/capistrano/ops/{capistrano/v3/tasks/figaro_yml → figaro_yml/tasks}/compare.rake +10 -19
- data/lib/capistrano/ops/figaro_yml/tasks/create_local.rake +27 -0
- data/lib/capistrano/ops/figaro_yml/tasks/figaro_yml_symlink.rake +10 -0
- data/lib/capistrano/ops/figaro_yml/tasks/get.rake +45 -0
- data/lib/capistrano/ops/figaro_yml/tasks/get_stage.rake +15 -0
- data/lib/capistrano/ops/figaro_yml/tasks/load.rake +10 -0
- data/lib/capistrano/ops/figaro_yml/tasks/rollback.rake +22 -0
- data/lib/capistrano/ops/figaro_yml/tasks/setup.rake +16 -0
- data/lib/capistrano/ops/{capistrano/v3/tasks/figaro_yml → figaro_yml/tasks}/sort_local.rake +2 -4
- data/lib/capistrano/ops/figaro_yml.rb +29 -0
- data/lib/capistrano/ops/helper.rb +14 -0
- data/lib/capistrano/ops/invoke/tasks/invoke.rake +25 -0
- data/lib/capistrano/ops/invoke.rb +3 -0
- data/lib/capistrano/ops/logrotate/helpers.rb +50 -0
- data/lib/capistrano/ops/logrotate/paths.rb +47 -0
- data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/check.rake +3 -5
- data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/disable.rake +2 -5
- data/lib/capistrano/ops/logrotate/tasks/enable.rake +28 -0
- data/lib/capistrano/ops/logrotate/tasks/load.rake +10 -0
- data/lib/capistrano/ops/logrotate.rb +19 -0
- data/lib/capistrano/ops/logs/helpers.rb +16 -0
- data/lib/capistrano/ops/logs/paths.rb +23 -0
- data/lib/capistrano/ops/logs/tasks/load.rake +9 -0
- data/lib/capistrano/ops/logs/tasks/rails.rake +18 -0
- data/lib/capistrano/ops/logs/tasks/sidekiq.rake +42 -0
- data/lib/capistrano/ops/logs.rb +18 -0
- data/lib/capistrano/ops/{backup → rails/lib/backup}/s3.rb +1 -1
- data/lib/capistrano/ops/rails/lib/backup.rb +6 -0
- data/lib/capistrano/ops/rails/lib/notification.rb +9 -0
- data/lib/capistrano/ops/rails/lib/railtie.rb +17 -0
- data/lib/capistrano/ops/{tasks → rails/lib/tasks}/pg/postgres_helper.rb +1 -1
- data/lib/capistrano/ops/version.rb +1 -1
- data/lib/capistrano/ops/{capistrano/v3/tasks/whenever.rake → whenever/tasks/show_crontab.rake} +1 -3
- data/lib/capistrano/ops/whenever.rb +17 -0
- data/lib/capistrano/ops/wkhtmltopdf/helpers.rb +50 -0
- data/lib/capistrano/ops/wkhtmltopdf/tasks/setup.rake +17 -0
- data/lib/capistrano/ops/wkhtmltopdf.rb +17 -1
- data/lib/capistrano/ops.rb +4 -3
- metadata +60 -36
- data/lib/capistrano/ops/capistrano/tasks/wkhtmltopdf.rake +0 -48
- data/lib/capistrano/ops/capistrano/v3/tasks/backup/backup_helper.rb +0 -50
- data/lib/capistrano/ops/capistrano/v3/tasks/figaro_yml/figaro_yaml_helper.rb +0 -74
- data/lib/capistrano/ops/capistrano/v3/tasks/figaro_yml/get.rake +0 -68
- data/lib/capistrano/ops/capistrano/v3/tasks/figaro_yml/get_stage.rake +0 -13
- data/lib/capistrano/ops/capistrano/v3/tasks/figaro_yml.rb +0 -3
- data/lib/capistrano/ops/capistrano/v3/tasks/invoke.rake +0 -23
- data/lib/capistrano/ops/capistrano/v3/tasks/logrotate/enable.rake +0 -24
- data/lib/capistrano/ops/capistrano/v3/tasks/logrotate/logrotate_helper.rb +0 -68
- data/lib/capistrano/ops/capistrano/v3/tasks/logs/rails.rake +0 -16
- data/lib/capistrano/ops/notification.rb +0 -9
- data/lib/capistrano/ops/railtie.rb +0 -15
- /data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/templates/logrotate.conf.erb +0 -0
- /data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/templates/schedule.rb.erb +0 -0
- /data/lib/capistrano/ops/{backup → rails/lib/backup}/api.rb +0 -0
- /data/lib/capistrano/ops/{backup → rails/lib/backup}/s3_helper.rb +0 -0
- /data/lib/capistrano/ops/{notification → rails/lib/notification}/api.rb +0 -0
- /data/lib/capistrano/ops/{notification → rails/lib/notification}/slack.rb +0 -0
- /data/lib/capistrano/ops/{notification → rails/lib/notification}/webhook.rb +0 -0
- /data/lib/capistrano/ops/{tasks → rails/lib/tasks}/pg/dump.rake +0 -0
- /data/lib/capistrano/ops/{tasks → rails/lib/tasks}/pg/remove_old_dumps.rake +0 -0
- /data/lib/capistrano/ops/{tasks → rails/lib/tasks}/storage/backup.rake +0 -0
- /data/lib/capistrano/ops/{tasks → rails/lib/tasks}/storage/remove_old_backups.rake +0 -0
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
namespace :invoke do
|
|
4
|
-
# Defalut to :app roles
|
|
5
|
-
rake_roles = fetch(:rake_roles, :app)
|
|
6
|
-
|
|
7
|
-
desc 'Execute a rake task on a remote server (cap invoke:rake TASK=db:migrate)'
|
|
8
|
-
task :rake do
|
|
9
|
-
if ENV['TASK']
|
|
10
|
-
on roles(rake_roles) do
|
|
11
|
-
within current_path do
|
|
12
|
-
with rails_env: fetch(:rails_env) do
|
|
13
|
-
execute :rake, ENV['TASK']
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
else
|
|
19
|
-
puts "\n\nFailed! You need to specify the 'TASK' parameter!",
|
|
20
|
-
'Usage: cap <stage> invoke:rake TASK=your:task'
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative 'logrotate_helper'
|
|
4
|
-
|
|
5
|
-
namespace :logrotate do
|
|
6
|
-
include LogrotateHelper
|
|
7
|
-
desc 'Enable logrotate for the application'
|
|
8
|
-
task :enable do
|
|
9
|
-
on roles(:app) do
|
|
10
|
-
within release_path do
|
|
11
|
-
set_config
|
|
12
|
-
if logrotate_enabled
|
|
13
|
-
puts "logrotate already enabled:\n========================="
|
|
14
|
-
puts capture "cat #{@config_file_path}"
|
|
15
|
-
else
|
|
16
|
-
make_basepath
|
|
17
|
-
upload! StringIO.new(@config_template), @config_file_path
|
|
18
|
-
upload! StringIO.new(@schedule_template), @schedule_file_path
|
|
19
|
-
whenever 'update' if logrotate_enabled
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module LogrotateHelper
|
|
4
|
-
# rubocop:disable Naming/MemoizedInstanceVariableName
|
|
5
|
-
def set_config
|
|
6
|
-
info ''
|
|
7
|
-
@shared_path ||= shared_path
|
|
8
|
-
@log_file_path ||= fetch(:log_file_path) || "#{@shared_path}/log"
|
|
9
|
-
@template_config_filename ||= fetch(:logrotate_template_config_file) || 'templates/logrotate.conf.erb'
|
|
10
|
-
@template_schedule_filename ||= fetch(:logrotate_template_schedule_file) || 'templates/schedule.rb.erb'
|
|
11
|
-
@basepath ||= fetch(:logrotate_basepath) || "#{shared_path}/logrotate"
|
|
12
|
-
@config_filename ||= File.basename(@template_config_filename, '.erb')
|
|
13
|
-
@schedule_filename ||= File.basename(@template_schedule_filename, '.erb')
|
|
14
|
-
@config_file_path ||= "#{@basepath}/#{@config_filename}"
|
|
15
|
-
@schedule_file_path ||= "#{@basepath}/#{@schedule_filename}"
|
|
16
|
-
@config_template ||= config_template
|
|
17
|
-
@schedule_template ||= schedule_template
|
|
18
|
-
end
|
|
19
|
-
# rubocop:enable Naming/MemoizedInstanceVariableName
|
|
20
|
-
|
|
21
|
-
def config
|
|
22
|
-
{
|
|
23
|
-
template_config_file: fetch(:logrotate_template_config_file) || 'templates/logrotate.conf.erb',
|
|
24
|
-
template_schedule_file: fetch(:logrotate_template_schedule_file) || 'templates/schedule.rb.erb'
|
|
25
|
-
}
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def make_basepath
|
|
29
|
-
puts capture "mkdir -pv #{@basepath}"
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def delete_files
|
|
33
|
-
puts capture "rm -rfv #{@basepath}"
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def config_template
|
|
37
|
-
return nil unless @template_config_filename && File.exist?(File.expand_path(@template_config_filename, __dir__))
|
|
38
|
-
|
|
39
|
-
ERB.new(File.read(File.expand_path(@template_config_filename, __dir__))).result(binding)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def schedule_template
|
|
43
|
-
return nil unless @template_schedule_filename && File.exist?(File.expand_path(@template_schedule_filename, __dir__))
|
|
44
|
-
|
|
45
|
-
ERB.new(File.read(File.expand_path(@template_schedule_filename, __dir__))).result(binding)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def logrotate_enabled
|
|
49
|
-
test("[ -f #{@config_file_path} ]") && test("[ -f #{@schedule_file_path} ]")
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def logrotate_disabled
|
|
53
|
-
!(test("[ -f #{@config_file_path} ]") && test("[ -f #{@schedule_file_path} ]"))
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def whenever(type)
|
|
57
|
-
case type
|
|
58
|
-
when 'clear'
|
|
59
|
-
puts capture :bundle, :exec, :whenever, '--clear-crontab',
|
|
60
|
-
"-f #{@schedule_file_path} #{fetch(:whenever_identifier)}_logrotate"
|
|
61
|
-
when 'update'
|
|
62
|
-
puts capture :bundle, :exec, :whenever, '--update-crontab', "-f #{@schedule_file_path}",
|
|
63
|
-
"-i #{fetch(:whenever_identifier)}_logrotate"
|
|
64
|
-
else
|
|
65
|
-
puts 'type not found'
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
namespace :logs do
|
|
4
|
-
# Default to :app role
|
|
5
|
-
rake_roles = fetch(:rake_roles, :app)
|
|
6
|
-
desc 'tail rails logs'
|
|
7
|
-
task :rails do
|
|
8
|
-
on roles(rake_roles) do
|
|
9
|
-
trap('SIGINT') do
|
|
10
|
-
puts "\nDisconnecting..."
|
|
11
|
-
exit
|
|
12
|
-
end
|
|
13
|
-
execute "tail -f #{shared_path}/log/#{fetch(:rails_env)}.log"
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'rails'
|
|
4
|
-
# require 'capistrano/ops'
|
|
5
|
-
module Capistrano
|
|
6
|
-
module Ops
|
|
7
|
-
class Railtie < ::Rails::Railtie
|
|
8
|
-
railtie_name :ops
|
|
9
|
-
rake_tasks do
|
|
10
|
-
path = File.expand_path(__dir__)
|
|
11
|
-
Dir.glob("#{path}/tasks/**/*.rake").each { |f| load f }
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
File without changes
|
/data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/templates/schedule.rb.erb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|