capistrano-ops 0.2.13 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +7 -0
  3. data/README.md +121 -29
  4. data/capistrano-ops.gemspec +2 -0
  5. data/lib/capistrano/ops/backup/helper.rb +56 -0
  6. data/lib/capistrano/ops/{capistrano/v3/tasks/backup → backup/tasks}/database/create.rake +1 -2
  7. data/lib/capistrano/ops/{capistrano/v3/tasks/backup → backup/tasks}/database/pull.rake +1 -2
  8. data/lib/capistrano/ops/{capistrano/v3/tasks/backup → backup/tasks}/storage/create.rake +1 -2
  9. data/lib/capistrano/ops/{capistrano/v3/tasks/backup → backup/tasks}/storage/pull.rake +1 -2
  10. data/lib/capistrano/ops/backup.rb +14 -4
  11. data/lib/capistrano/ops/capistrano.rb +7 -10
  12. data/lib/capistrano/ops/figaro_yml/helpers.rb +184 -0
  13. data/lib/capistrano/ops/figaro_yml/paths.rb +19 -0
  14. data/lib/capistrano/ops/figaro_yml/tasks/backup.rake +26 -0
  15. data/lib/capistrano/ops/figaro_yml/tasks/check.rake +12 -0
  16. data/lib/capistrano/ops/figaro_yml/tasks/check_config_present.rake +12 -0
  17. data/lib/capistrano/ops/figaro_yml/tasks/check_figaro_file_exists.rake +12 -0
  18. data/lib/capistrano/ops/figaro_yml/tasks/check_git_tracking.rake +12 -0
  19. data/lib/capistrano/ops/figaro_yml/tasks/compare.rake +53 -0
  20. data/lib/capistrano/ops/figaro_yml/tasks/create_local.rake +27 -0
  21. data/lib/capistrano/ops/figaro_yml/tasks/figaro_yml_symlink.rake +10 -0
  22. data/lib/capistrano/ops/figaro_yml/tasks/get.rake +45 -0
  23. data/lib/capistrano/ops/figaro_yml/tasks/get_stage.rake +15 -0
  24. data/lib/capistrano/ops/figaro_yml/tasks/load.rake +10 -0
  25. data/lib/capistrano/ops/figaro_yml/tasks/rollback.rake +22 -0
  26. data/lib/capistrano/ops/figaro_yml/tasks/setup.rake +16 -0
  27. data/lib/capistrano/ops/figaro_yml/tasks/sort_local.rake +18 -0
  28. data/lib/capistrano/ops/figaro_yml.rb +29 -0
  29. data/lib/capistrano/ops/helper.rb +14 -0
  30. data/lib/capistrano/ops/invoke/tasks/invoke.rake +25 -0
  31. data/lib/capistrano/ops/invoke.rb +3 -0
  32. data/lib/capistrano/ops/logrotate/helpers.rb +50 -0
  33. data/lib/capistrano/ops/logrotate/paths.rb +47 -0
  34. data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/check.rake +3 -5
  35. data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/disable.rake +2 -5
  36. data/lib/capistrano/ops/logrotate/tasks/enable.rake +28 -0
  37. data/lib/capistrano/ops/logrotate/tasks/load.rake +10 -0
  38. data/lib/capistrano/ops/logrotate.rb +19 -0
  39. data/lib/capistrano/ops/logs/helpers.rb +16 -0
  40. data/lib/capistrano/ops/logs/paths.rb +23 -0
  41. data/lib/capistrano/ops/logs/tasks/load.rake +9 -0
  42. data/lib/capistrano/ops/logs/tasks/rails.rake +18 -0
  43. data/lib/capistrano/ops/logs/tasks/sidekiq.rake +42 -0
  44. data/lib/capistrano/ops/logs.rb +18 -0
  45. data/lib/capistrano/ops/{backup → rails/lib/backup}/s3.rb +1 -1
  46. data/lib/capistrano/ops/rails/lib/backup.rb +6 -0
  47. data/lib/capistrano/ops/rails/lib/notification.rb +9 -0
  48. data/lib/capistrano/ops/rails/lib/railtie.rb +17 -0
  49. data/lib/capistrano/ops/{tasks → rails/lib/tasks}/pg/postgres_helper.rb +1 -1
  50. data/lib/capistrano/ops/version.rb +1 -1
  51. data/lib/capistrano/ops/{capistrano/v3/tasks/whenever.rake → whenever/tasks/show_crontab.rake} +1 -3
  52. data/lib/capistrano/ops/whenever.rb +17 -0
  53. data/lib/capistrano/ops/wkhtmltopdf/helpers.rb +50 -0
  54. data/lib/capistrano/ops/wkhtmltopdf/tasks/setup.rake +17 -0
  55. data/lib/capistrano/ops/wkhtmltopdf.rb +17 -1
  56. data/lib/capistrano/ops.rb +4 -3
  57. metadata +88 -31
  58. data/lib/capistrano/ops/capistrano/tasks/wkhtmltopdf.rake +0 -48
  59. data/lib/capistrano/ops/capistrano/v3/tasks/backup/backup_helper.rb +0 -50
  60. data/lib/capistrano/ops/capistrano/v3/tasks/figaro_yml.rake +0 -139
  61. data/lib/capistrano/ops/capistrano/v3/tasks/invoke.rake +0 -23
  62. data/lib/capistrano/ops/capistrano/v3/tasks/logrotate/enable.rake +0 -24
  63. data/lib/capistrano/ops/capistrano/v3/tasks/logrotate/logrotate_helper.rb +0 -68
  64. data/lib/capistrano/ops/capistrano/v3/tasks/logs/rails.rake +0 -16
  65. data/lib/capistrano/ops/notification.rb +0 -9
  66. data/lib/capistrano/ops/railtie.rb +0 -15
  67. /data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/templates/logrotate.conf.erb +0 -0
  68. /data/lib/capistrano/ops/{capistrano/v3/tasks/logrotate → logrotate/tasks}/templates/schedule.rb.erb +0 -0
  69. /data/lib/capistrano/ops/{backup → rails/lib/backup}/api.rb +0 -0
  70. /data/lib/capistrano/ops/{backup → rails/lib/backup}/s3_helper.rb +0 -0
  71. /data/lib/capistrano/ops/{notification → rails/lib/notification}/api.rb +0 -0
  72. /data/lib/capistrano/ops/{notification → rails/lib/notification}/slack.rb +0 -0
  73. /data/lib/capistrano/ops/{notification → rails/lib/notification}/webhook.rb +0 -0
  74. /data/lib/capistrano/ops/{tasks → rails/lib/tasks}/pg/dump.rake +0 -0
  75. /data/lib/capistrano/ops/{tasks → rails/lib/tasks}/pg/remove_old_dumps.rake +0 -0
  76. /data/lib/capistrano/ops/{tasks → rails/lib/tasks}/storage/backup.rake +0 -0
  77. /data/lib/capistrano/ops/{tasks → rails/lib/tasks}/storage/remove_old_backups.rake +0 -0
@@ -0,0 +1,47 @@
1
+ require 'pathname'
2
+
3
+ module Capistrano
4
+ module Ops
5
+ module Logrotate
6
+ module Paths
7
+ # local paths
8
+ def logrotate_config_file_template
9
+ Pathname.new fetch(:logrotate_config_file_template)
10
+ end
11
+
12
+ def logrotate_schedule_file_template
13
+ Pathname.new fetch(:logrotate_schedule_file_template)
14
+ end
15
+
16
+ # remote paths
17
+ def logrotate_basepath
18
+ shared_path.join fetch(:logrotate_basepath)
19
+ end
20
+
21
+ def logrotate_config_path
22
+ shared_path.join fetch(:logrotate_config_path)
23
+ end
24
+
25
+ def logrotate_config_file_path
26
+ logrotate_basepath.join logrotate_config_filename
27
+ end
28
+
29
+ def logrotate_schedule_file_path
30
+ logrotate_basepath.join logrotate_schedule_filename
31
+ end
32
+
33
+ def log_file_path
34
+ shared_path.join fetch(:log_file_path)
35
+ end
36
+
37
+ def logrotate_schedule_filename
38
+ File.basename(logrotate_schedule_file_template, '.erb')
39
+ end
40
+
41
+ def logrotate_config_filename
42
+ File.basename(logrotate_config_file_template, '.erb')
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,18 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'logrotate_helper'
4
-
5
3
  namespace :logrotate do
6
- include LogrotateHelper
4
+ include Capistrano::Ops::Logrotate::Helpers
5
+ include Capistrano::Ops::Logrotate::Paths
7
6
 
8
7
  desc 'show logrotate state and config'
9
8
  task :check do
10
9
  on roles(:app) do
11
10
  within release_path do
12
- set_config
13
11
  if logrotate_enabled
14
12
  puts "logrotate running with config\n========================="
15
- puts capture "cat #{@config_file_path}"
13
+ puts capture "cat #{logrotate_config_file_path}"
16
14
  else
17
15
  puts 'logrotate disabled'
18
16
  end
@@ -1,15 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'logrotate_helper'
4
-
5
3
  namespace :logrotate do
6
- include LogrotateHelper
7
-
4
+ include Capistrano::Ops::Logrotate::Paths
5
+ include Capistrano::Ops::Logrotate::Helpers
8
6
  desc 'disable logrotate'
9
7
  task :disable do
10
8
  on roles(:app) do
11
9
  within release_path do
12
- set_config
13
10
  if logrotate_disabled
14
11
  puts 'logrotate already disabled'
15
12
  else
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :logrotate do
4
+ include Capistrano::Ops::Logrotate::Helpers
5
+ include Capistrano::Ops::Logrotate::Paths
6
+
7
+ desc 'Enable logrotate for the application'
8
+ task :enable do
9
+ on roles(:app) do
10
+ within release_path do
11
+ @log_file_path = log_file_path
12
+ @shared_path = shared_path
13
+
14
+ if logrotate_enabled
15
+ puts "logrotate already enabled:\n========================="
16
+ puts capture "cat #{logrotate_config_file_path}"
17
+ else
18
+ puts config_template
19
+ puts schedule_template
20
+ make_basepath
21
+ upload! StringIO.new(config_template), logrotate_config_file_path
22
+ upload! StringIO.new(schedule_template), logrotate_schedule_file_path
23
+ whenever 'update' if logrotate_enabled
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :load do
4
+ task :defaults do
5
+ set :logrotate_config_file_template, File.expand_path('templates/logrotate.conf.erb', __dir__)
6
+ set :logrotate_schedule_file_template, File.expand_path('templates/schedule.rb.erb', __dir__)
7
+ set :logrotate_basepath, 'logrotate'
8
+ set :log_file_path, 'log'
9
+ end
10
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'capistrano/ops/helper'
4
+ require 'capistrano/ops/logrotate/helpers'
5
+ require 'capistrano/ops/logrotate/paths'
6
+
7
+ module TaskLoader
8
+ extend Capistrano::Ops::Helper
9
+
10
+ def self.load_tasks_if_gem_present(gem_name, task_path, warning_message)
11
+ if gem_in_gemfile?(gem_name)
12
+ Dir.glob("#{File.expand_path(__dir__)}/#{task_path}/**/*.rake").each { |f| load f }
13
+ else
14
+ puts warning_message
15
+ end
16
+ end
17
+ end
18
+
19
+ TaskLoader.load_tasks_if_gem_present('whenever', 'logrotate/tasks', 'WARNING: Gemfile does not include whenever gem which is required for logrotate tasks')
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Capistrano
4
+ module Ops
5
+ module Logs
6
+ module Helpers
7
+ def trap_interrupt
8
+ trap('INT') do
9
+ print "\rDisconnecting... Done.\n"
10
+ exit 0
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'pathname'
4
+
5
+ module Capistrano
6
+ module Ops
7
+ module Logs
8
+ module Paths
9
+ def rails_log_file_path
10
+ shared_path.join fetch(:rails_log_file_name) || "log/#{fetch(:rails_env)}.log"
11
+ end
12
+
13
+ def sidekiq_log_file_path
14
+ shared_path.join fetch(:sidekiq_log_file_name) || 'log/sidekiq.log'
15
+ end
16
+
17
+ def sidekiq_error_log_file_path
18
+ shared_path.join fetch(:sidekiq_error_log_file_name) || 'log/sidekiq.error.log'
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :load do
4
+ task :defaults do
5
+ set :rails_log_file_name, nil
6
+ set :sidekiq_log_file_name, nil
7
+ set :sidekiq_error_log_file_name, nil
8
+ end
9
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :logs do
4
+ include Capistrano::Ops::Logs::Paths
5
+ include Capistrano::Ops::Logs::Helpers
6
+
7
+ desc 'Tail Rails logs'
8
+ task :rails do
9
+ on roles(fetch(:rake_roles, :app)) do
10
+ trap_interrupt
11
+
12
+ execute "tail -f #{rails_log_file_path}" do |_channel, stream, data|
13
+ puts data
14
+ break if stream == :err
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :logs do
4
+ include Capistrano::Ops::Logs::Paths
5
+ include Capistrano::Ops::Logs::Helpers
6
+
7
+ desc 'Tail Rails info logs'
8
+ task 'sidekiq:info' do
9
+ on roles(fetch(:rake_roles, :app)) do
10
+ trap_interrupt
11
+
12
+ execute "tail -f #{sidekiq_log_file_path}" do |_channel, stream, data|
13
+ puts data
14
+ break if stream == :err
15
+ end
16
+ end
17
+ end
18
+
19
+ desc 'Tail Sidekiq error logs'
20
+ task 'sidekiq:errors' do
21
+ on roles(fetch(:rake_roles, :app)) do
22
+ trap_interrupt
23
+
24
+ execute "tail -f #{sidekiq_error_log_file_path}" do |_channel, stream, data|
25
+ puts data
26
+ break if stream == :err
27
+ end
28
+ end
29
+ end
30
+
31
+ desc 'Tail all Sidekiq logs'
32
+ task :sidekiq do
33
+ on roles(fetch(:rake_roles, :app)) do
34
+ trap_interrupt
35
+
36
+ execute "tail -f #{sidekiq_log_file_path} & tail -f #{sidekiq_error_log_file_path}" do |_channel, stream, data|
37
+ puts data
38
+ break if stream == :err
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'capistrano/ops/helper'
4
+ require 'capistrano/ops/logs/paths'
5
+ require 'capistrano/ops/logs/helpers'
6
+
7
+ module TaskLoader
8
+ extend Capistrano::Ops::Helper
9
+ def self.load_tasks_if_gem_present(gem_name, task_path, warning_message)
10
+ if gem_in_gemfile?(gem_name)
11
+ Dir.glob("#{File.expand_path(__dir__)}/#{task_path}/**/*.rake").each { |f| load f }
12
+ else
13
+ puts warning_message
14
+ end
15
+ end
16
+ end
17
+
18
+ TaskLoader.load_tasks_if_gem_present('rails', 'logs/tasks', 'WARNING: Gemfile does not include rails gem which is required for logs tasks')
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Backup
4
4
  require 'aws-sdk-s3'
5
- require 'capistrano/ops/backup/s3_helper'
5
+ require 'capistrano/ops/rails/lib/backup/s3_helper'
6
6
  class S3
7
7
  include Backup::S3Helper
8
8
  attr_accessor :endpoint, :region, :access_key_id, :secret_access_key, :s3_resource
@@ -0,0 +1,6 @@
1
+ require 'capistrano/ops/rails/lib/backup/api'
2
+ require 'capistrano/ops/rails/lib/backup/s3'
3
+
4
+ module Backup
5
+ class Error < StandardError; end
6
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'capistrano/ops/rails/lib/notification/api'
4
+ require 'capistrano/ops/rails/lib/notification/slack'
5
+ require 'capistrano/ops/rails/lib/notification/webhook'
6
+
7
+ module Notification
8
+ class Error < StandardError; end
9
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails'
4
+ # require 'capistrano/ops'
5
+ module Capistrano
6
+ module Ops
7
+ module Libs
8
+ class Railtie < ::Rails::Railtie
9
+ railtie_name :ops
10
+ rake_tasks do
11
+ path = File.expand_path(__dir__)
12
+ Dir.glob("#{path}/tasks/**/*.rake").each { |f| load f }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -54,7 +54,7 @@ module PostgresHelper
54
54
  commandlist = []
55
55
  commandlist << "export PGPASSWORD='#{@password}'"
56
56
  commandlist << "cd #{@backup_path}"
57
- commandlist << "pg_dump -Fc #{options.join('')} > #{@filename}"
57
+ commandlist << "pg_dump --no-acl --no-owner #{options.join('')} > #{@filename}"
58
58
  commandlist.join(' && ')
59
59
  end
60
60
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Capistrano
4
4
  module Ops
5
- VERSION = '0.2.13'
5
+ VERSION = '1.0.0'
6
6
  end
7
7
  end
@@ -1,11 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  namespace :whenever do
4
- # Default to :app role
5
- rake_roles = fetch(:rake_roles, :app)
6
4
  desc 'show crontab'
7
5
  task :show_crontab do
8
- on roles(rake_roles) do
6
+ on roles(fetch(:rake_roles, :app)) do
9
7
  puts capture 'crontab -l'
10
8
  end
11
9
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'capistrano/ops/helper'
4
+
5
+ module TaskLoader
6
+ extend Capistrano::Ops::Helper
7
+
8
+ def self.load_tasks_if_gem_present(gem_name, task_path, warning_message)
9
+ if gem_in_gemfile?(gem_name)
10
+ Dir.glob("#{File.expand_path(__dir__)}/#{task_path}/**/*.rake").each { |f| load f }
11
+ else
12
+ puts warning_message
13
+ end
14
+ end
15
+ end
16
+
17
+ TaskLoader.load_tasks_if_gem_present('whenever', 'whenever/tasks', 'WARNING: Gemfile does not include whenever gem which is required for logrotate tasks')
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Capistrano
4
+ module Ops
5
+ module Helper
6
+ def binary_path
7
+ gem_path = capture(:bundle, 'show', 'wkhtmltopdf-binary').strip
8
+ "#{gem_path}/bin"
9
+ end
10
+
11
+ def gem_version
12
+ capture(:cat, 'config/initializers/wicked_pdf.rb').scan(/wkhtmltopdf_ubuntu_(\d+\.\d+)_amd64/).flatten.first
13
+ end
14
+
15
+ def binary_path_and_version
16
+ [binary_path, gem_version]
17
+ end
18
+
19
+ def file_existing?(file)
20
+ test("[ -f #{file} ]")
21
+ end
22
+
23
+ def right_permissions?(file)
24
+ test("[ $(stat -c '%a' #{file}) = '777' ]")
25
+ end
26
+
27
+ def check_file_and_permissions(binary_path, version)
28
+ binary_file = "#{binary_path}/wkhtmltopdf_ubuntu_#{version}_amd64"
29
+
30
+ if file_existing?(binary_file)
31
+ info('wkhtmltopdf binary already extracted')
32
+
33
+ if right_permissions?(binary_file)
34
+ info('wkhtmltopdf binary has already the right permissions')
35
+ else
36
+ info('adding right permissions to wkhtmltopdf binary')
37
+ execute("chmod 777 #{binary_file}")
38
+ end
39
+ else
40
+ info('extracting wkhtmltopdf binary')
41
+ # extract the binary but keep the gzip file
42
+ execute("cd #{binary_path} && gzip -dk wkhtmltopdf_ubuntu_#{version}_amd64.gz")
43
+ # add execute permission to the binary
44
+ execute("chmod 777 #{binary_file}")
45
+ end
46
+ info('wkhtmltopdf setup finished')
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :wkhtmltopdf do
4
+ include Capistrano::Ops::Wkhtmltopdf::Helpers
5
+ after 'deploy:symlink:release', 'wkhtmltopdf:setup'
6
+
7
+ desc 'unzip wkhtmltopdf if necessary'
8
+ task :setup do
9
+ on roles(:app) do
10
+ within release_path do
11
+ binary_path, version = binary_path_and_version
12
+ info("setup wkhtmltopdf version #{version}")
13
+ check_file_and_permissions(binary_path, version)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- load File.expand_path('capistrano/tasks/wkhtmltopdf.rake', __dir__)
3
+ require 'capistrano/ops/helper'
4
+ require 'capistrano/ops/wkhtmltopdf/helpers'
5
+
6
+ module TaskLoader
7
+ extend Capistrano::Ops::Helper
8
+
9
+ def self.load_tasks_if_gem_present(gem_name, task_path, warning_message)
10
+ if gem_in_gemfile?(gem_name)
11
+ Dir.glob("#{File.expand_path(__dir__)}/#{task_path}/**/*.rake").each { |f| load f }
12
+ else
13
+ puts warning_message
14
+ end
15
+ end
16
+ end
17
+
18
+ TaskLoader.load_tasks_if_gem_present('wicked-pdf', 'wkhtmltopdf/tasks',
19
+ 'WARNING: Gemfile does not include wkhtmltopdf-binary gem which is required for wkhtmltopdf tasks')
@@ -2,10 +2,11 @@
2
2
 
3
3
  module Capistrano
4
4
  module Ops
5
- require 'capistrano/ops/backup'
6
- require 'capistrano/ops/notification'
7
- require 'capistrano/ops/railtie' if defined?(Rails)
5
+ require 'capistrano/ops/rails/lib/backup'
6
+ require 'capistrano/ops/rails/lib/notification'
7
+ require 'capistrano/ops/rails/lib/railtie' if defined?(Rails)
8
8
  require 'capistrano/ops/capistrano' if defined?(Capistrano::VERSION)
9
+
9
10
  def self.path
10
11
  Dir.pwd
11
12
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-ops
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.13
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Crusius
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-12 00:00:00.000000000 Z
11
+ date: 2024-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -94,6 +94,34 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '10.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.56.2
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.56.2
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop-performance
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.19.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.19.0
97
125
  description: A collection of devops tasks for rails applications
98
126
  email:
99
127
  - florian@zauberware.com
@@ -116,39 +144,68 @@ files:
116
144
  - capistrano-ops.gemspec
117
145
  - lib/capistrano/ops.rb
118
146
  - lib/capistrano/ops/backup.rb
119
- - lib/capistrano/ops/backup/api.rb
120
- - lib/capistrano/ops/backup/s3.rb
121
- - lib/capistrano/ops/backup/s3_helper.rb
147
+ - lib/capistrano/ops/backup/helper.rb
148
+ - lib/capistrano/ops/backup/tasks/database/create.rake
149
+ - lib/capistrano/ops/backup/tasks/database/pull.rake
150
+ - lib/capistrano/ops/backup/tasks/storage/create.rake
151
+ - lib/capistrano/ops/backup/tasks/storage/pull.rake
122
152
  - lib/capistrano/ops/capistrano.rb
123
- - lib/capistrano/ops/capistrano/tasks/wkhtmltopdf.rake
124
153
  - lib/capistrano/ops/capistrano/v3/tasks/backup.rake
125
- - lib/capistrano/ops/capistrano/v3/tasks/backup/backup_helper.rb
126
- - lib/capistrano/ops/capistrano/v3/tasks/backup/database/create.rake
127
- - lib/capistrano/ops/capistrano/v3/tasks/backup/database/pull.rake
128
- - lib/capistrano/ops/capistrano/v3/tasks/backup/storage/create.rake
129
- - lib/capistrano/ops/capistrano/v3/tasks/backup/storage/pull.rake
130
- - lib/capistrano/ops/capistrano/v3/tasks/figaro_yml.rake
131
- - lib/capistrano/ops/capistrano/v3/tasks/invoke.rake
132
- - lib/capistrano/ops/capistrano/v3/tasks/logrotate/check.rake
133
- - lib/capistrano/ops/capistrano/v3/tasks/logrotate/disable.rake
134
- - lib/capistrano/ops/capistrano/v3/tasks/logrotate/enable.rake
135
- - lib/capistrano/ops/capistrano/v3/tasks/logrotate/logrotate_helper.rb
136
- - lib/capistrano/ops/capistrano/v3/tasks/logrotate/templates/logrotate.conf.erb
137
- - lib/capistrano/ops/capistrano/v3/tasks/logrotate/templates/schedule.rb.erb
138
- - lib/capistrano/ops/capistrano/v3/tasks/logs/rails.rake
139
- - lib/capistrano/ops/capistrano/v3/tasks/whenever.rake
140
- - lib/capistrano/ops/notification.rb
141
- - lib/capistrano/ops/notification/api.rb
142
- - lib/capistrano/ops/notification/slack.rb
143
- - lib/capistrano/ops/notification/webhook.rb
144
- - lib/capistrano/ops/railtie.rb
145
- - lib/capistrano/ops/tasks/pg/dump.rake
146
- - lib/capistrano/ops/tasks/pg/postgres_helper.rb
147
- - lib/capistrano/ops/tasks/pg/remove_old_dumps.rake
148
- - lib/capistrano/ops/tasks/storage/backup.rake
149
- - lib/capistrano/ops/tasks/storage/remove_old_backups.rake
154
+ - lib/capistrano/ops/figaro_yml.rb
155
+ - lib/capistrano/ops/figaro_yml/helpers.rb
156
+ - lib/capistrano/ops/figaro_yml/paths.rb
157
+ - lib/capistrano/ops/figaro_yml/tasks/backup.rake
158
+ - lib/capistrano/ops/figaro_yml/tasks/check.rake
159
+ - lib/capistrano/ops/figaro_yml/tasks/check_config_present.rake
160
+ - lib/capistrano/ops/figaro_yml/tasks/check_figaro_file_exists.rake
161
+ - lib/capistrano/ops/figaro_yml/tasks/check_git_tracking.rake
162
+ - lib/capistrano/ops/figaro_yml/tasks/compare.rake
163
+ - lib/capistrano/ops/figaro_yml/tasks/create_local.rake
164
+ - lib/capistrano/ops/figaro_yml/tasks/figaro_yml_symlink.rake
165
+ - lib/capistrano/ops/figaro_yml/tasks/get.rake
166
+ - lib/capistrano/ops/figaro_yml/tasks/get_stage.rake
167
+ - lib/capistrano/ops/figaro_yml/tasks/load.rake
168
+ - lib/capistrano/ops/figaro_yml/tasks/rollback.rake
169
+ - lib/capistrano/ops/figaro_yml/tasks/setup.rake
170
+ - lib/capistrano/ops/figaro_yml/tasks/sort_local.rake
171
+ - lib/capistrano/ops/helper.rb
172
+ - lib/capistrano/ops/invoke.rb
173
+ - lib/capistrano/ops/invoke/tasks/invoke.rake
174
+ - lib/capistrano/ops/logrotate.rb
175
+ - lib/capistrano/ops/logrotate/helpers.rb
176
+ - lib/capistrano/ops/logrotate/paths.rb
177
+ - lib/capistrano/ops/logrotate/tasks/check.rake
178
+ - lib/capistrano/ops/logrotate/tasks/disable.rake
179
+ - lib/capistrano/ops/logrotate/tasks/enable.rake
180
+ - lib/capistrano/ops/logrotate/tasks/load.rake
181
+ - lib/capistrano/ops/logrotate/tasks/templates/logrotate.conf.erb
182
+ - lib/capistrano/ops/logrotate/tasks/templates/schedule.rb.erb
183
+ - lib/capistrano/ops/logs.rb
184
+ - lib/capistrano/ops/logs/helpers.rb
185
+ - lib/capistrano/ops/logs/paths.rb
186
+ - lib/capistrano/ops/logs/tasks/load.rake
187
+ - lib/capistrano/ops/logs/tasks/rails.rake
188
+ - lib/capistrano/ops/logs/tasks/sidekiq.rake
189
+ - lib/capistrano/ops/rails/lib/backup.rb
190
+ - lib/capistrano/ops/rails/lib/backup/api.rb
191
+ - lib/capistrano/ops/rails/lib/backup/s3.rb
192
+ - lib/capistrano/ops/rails/lib/backup/s3_helper.rb
193
+ - lib/capistrano/ops/rails/lib/notification.rb
194
+ - lib/capistrano/ops/rails/lib/notification/api.rb
195
+ - lib/capistrano/ops/rails/lib/notification/slack.rb
196
+ - lib/capistrano/ops/rails/lib/notification/webhook.rb
197
+ - lib/capistrano/ops/rails/lib/railtie.rb
198
+ - lib/capistrano/ops/rails/lib/tasks/pg/dump.rake
199
+ - lib/capistrano/ops/rails/lib/tasks/pg/postgres_helper.rb
200
+ - lib/capistrano/ops/rails/lib/tasks/pg/remove_old_dumps.rake
201
+ - lib/capistrano/ops/rails/lib/tasks/storage/backup.rake
202
+ - lib/capistrano/ops/rails/lib/tasks/storage/remove_old_backups.rake
150
203
  - lib/capistrano/ops/version.rb
204
+ - lib/capistrano/ops/whenever.rb
205
+ - lib/capistrano/ops/whenever/tasks/show_crontab.rake
151
206
  - lib/capistrano/ops/wkhtmltopdf.rb
207
+ - lib/capistrano/ops/wkhtmltopdf/helpers.rb
208
+ - lib/capistrano/ops/wkhtmltopdf/tasks/setup.rake
152
209
  homepage: https://github.com/zauberware/capistrano-ops
153
210
  licenses:
154
211
  - MIT