capistrano-ops 1.0.10 → 1.1.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/.github/dependabot.yml +18 -0
- data/.github/workflows/ci.yml +44 -0
- data/.github/workflows/release.yml +25 -0
- data/.gitignore +1 -0
- data/.rspec +3 -0
- data/.rubocop.yml +79 -19
- data/.rubocop_todo.yml +55 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +347 -0
- data/README.md +14 -5
- data/Rakefile +22 -1
- data/bin/console +1 -1
- data/capistrano-ops.gemspec +13 -10
- data/lib/capistrano/ops/backup/helper.rb +4 -4
- data/lib/capistrano/ops/backup/tasks/database/create.rake +1 -0
- data/lib/capistrano/ops/backup/tasks/database/pull.rake +1 -0
- data/lib/capistrano/ops/backup/tasks/storage/create.rake +1 -0
- data/lib/capistrano/ops/backup/tasks/storage/pull.rake +1 -0
- data/lib/capistrano/ops/figaro_yml/helpers.rb +3 -6
- data/lib/capistrano/ops/figaro_yml/tasks/check.rake +1 -0
- data/lib/capistrano/ops/figaro_yml/tasks/check_config_present.rake +1 -0
- data/lib/capistrano/ops/figaro_yml/tasks/check_figaro_file_exists.rake +1 -0
- data/lib/capistrano/ops/figaro_yml/tasks/check_git_tracking.rake +1 -0
- data/lib/capistrano/ops/figaro_yml/tasks/create_local.rake +1 -0
- data/lib/capistrano/ops/figaro_yml/tasks/figaro_yml_symlink.rake +1 -0
- data/lib/capistrano/ops/figaro_yml/tasks/get.rake +4 -3
- data/lib/capistrano/ops/figaro_yml/tasks/get_stage.rake +1 -0
- data/lib/capistrano/ops/figaro_yml/tasks/sort_local.rake +1 -0
- data/lib/capistrano/ops/figaro_yml.rb +2 -1
- data/lib/capistrano/ops/invoke/tasks/invoke.rake +1 -1
- data/lib/capistrano/ops/logrotate/paths.rb +2 -0
- data/lib/capistrano/ops/logrotate/tasks/disable.rake +1 -0
- data/lib/capistrano/ops/logrotate.rb +2 -1
- data/lib/capistrano/ops/rails/lib/backup/api.rb +1 -1
- data/lib/capistrano/ops/rails/lib/backup/s3.rb +9 -8
- data/lib/capistrano/ops/rails/lib/backup.rb +2 -0
- data/lib/capistrano/ops/rails/lib/notification/api.rb +1 -1
- data/lib/capistrano/ops/rails/lib/notification/slack.rb +4 -4
- data/lib/capistrano/ops/rails/lib/notification/webhook.rb +4 -4
- data/lib/capistrano/ops/rails/lib/tasks/pg/dump.rake +3 -3
- data/lib/capistrano/ops/rails/lib/tasks/pg/postgres_helper.rb +3 -3
- data/lib/capistrano/ops/rails/lib/tasks/pg/remove_old_dumps.rake +1 -1
- data/lib/capistrano/ops/rails/lib/tasks/storage/backup.rake +1 -1
- data/lib/capistrano/ops/rails/lib/tasks/storage/remove_old_backups.rake +2 -2
- data/lib/capistrano/ops/rails/lib/tasks/storage/storage_helper.rb +5 -5
- data/lib/capistrano/ops/version.rb +1 -1
- data/lib/capistrano/ops/whenever.rb +2 -1
- data/lib/capistrano/ops/wkhtmltopdf/tasks/setup.rake +1 -0
- data/scripts/bump_version.rb +172 -0
- data/spec/capistrano/ops/version_spec.rb +9 -0
- data/spec/spec_helper.rb +20 -0
- metadata +92 -30
- data/.travis.yml +0 -13
- data/lib/capistrano/ops/capistrano/v3/tasks/backup.rake +0 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 708599bef12f8e7ce1b96a36fb09c1bc9acc4d50d871f2d1d5a3790240455096
|
|
4
|
+
data.tar.gz: 8c13bfc221324e6303f474453185f868d9984dba83da63de7715b747d9113594
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3bd6ada29edf5e6a3c077c35a83908d1b40e235b0f33497a33b309e7902ea4fe16910a078e41b5bd5feb58246d4903e31b31d32567d88341ec5847c89a435aa9
|
|
7
|
+
data.tar.gz: 2d987eaaab73c8c5a6f595226371c8979d816656e3014fa744b1725bb27dff4e82cdd66d79e92dcc89fd2963dc03f5c3e6f5ede7a85c0fc33f639c7ff9e0dcfa
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: bundler
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: weekly
|
|
7
|
+
open-pull-requests-limit: 5
|
|
8
|
+
labels:
|
|
9
|
+
- dependencies
|
|
10
|
+
- ruby
|
|
11
|
+
|
|
12
|
+
- package-ecosystem: github-actions
|
|
13
|
+
directory: "/"
|
|
14
|
+
schedule:
|
|
15
|
+
interval: weekly
|
|
16
|
+
labels:
|
|
17
|
+
- dependencies
|
|
18
|
+
- ci
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
lint:
|
|
10
|
+
name: RuboCop
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: ruby/setup-ruby@v1
|
|
15
|
+
with:
|
|
16
|
+
ruby-version-file: .ruby-version
|
|
17
|
+
bundler-cache: true
|
|
18
|
+
- run: bundle exec rubocop --parallel
|
|
19
|
+
|
|
20
|
+
audit:
|
|
21
|
+
name: bundler-audit
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v4
|
|
25
|
+
- uses: ruby/setup-ruby@v1
|
|
26
|
+
with:
|
|
27
|
+
ruby-version-file: .ruby-version
|
|
28
|
+
bundler-cache: true
|
|
29
|
+
- run: bundle exec bundle-audit check --update
|
|
30
|
+
|
|
31
|
+
test:
|
|
32
|
+
name: RSpec (Ruby ${{ matrix.ruby }})
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
strategy:
|
|
35
|
+
fail-fast: false
|
|
36
|
+
matrix:
|
|
37
|
+
ruby: ['3.2', '3.3', '3.4']
|
|
38
|
+
steps:
|
|
39
|
+
- uses: actions/checkout@v4
|
|
40
|
+
- uses: ruby/setup-ruby@v1
|
|
41
|
+
with:
|
|
42
|
+
ruby-version: ${{ matrix.ruby }}
|
|
43
|
+
bundler-cache: true
|
|
44
|
+
- run: bundle exec rspec
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: write
|
|
9
|
+
id-token: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
publish:
|
|
13
|
+
name: Push gem to RubyGems.org
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Set up Ruby
|
|
20
|
+
uses: ruby/setup-ruby@v1
|
|
21
|
+
with:
|
|
22
|
+
ruby-version-file: .ruby-version
|
|
23
|
+
bundler-cache: true
|
|
24
|
+
|
|
25
|
+
- uses: rubygems/release-gem@v1
|
data/.gitignore
CHANGED
data/.rspec
ADDED
data/.rubocop.yml
CHANGED
|
@@ -1,28 +1,88 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
|
2
|
+
|
|
3
|
+
# RuboCop configuration for capistrano-ops gem
|
|
4
|
+
|
|
4
5
|
AllCops:
|
|
5
|
-
NewCops:
|
|
6
|
-
TargetRubyVersion: 2
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
NewCops: enable
|
|
7
|
+
TargetRubyVersion: 3.2
|
|
8
|
+
SuggestExtensions: false
|
|
9
|
+
Exclude:
|
|
10
|
+
- 'vendor/**/*'
|
|
11
|
+
- 'tmp/**/*'
|
|
12
|
+
- 'bin/**/*'
|
|
13
|
+
- 'lib/capistrano/ops/local/**/*'
|
|
14
|
+
|
|
15
|
+
# Metrics
|
|
16
|
+
|
|
13
17
|
Metrics/BlockLength:
|
|
14
18
|
Max: 50
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
Exclude:
|
|
20
|
+
- 'spec/**/*'
|
|
21
|
+
- '*.gemspec'
|
|
22
|
+
|
|
23
|
+
Metrics/ClassLength:
|
|
24
|
+
Max: 150
|
|
25
|
+
|
|
26
|
+
Metrics/MethodLength:
|
|
27
|
+
Max: 40
|
|
28
|
+
Exclude:
|
|
29
|
+
- 'spec/**/*'
|
|
30
|
+
|
|
17
31
|
Metrics/AbcSize:
|
|
18
|
-
Max:
|
|
32
|
+
Max: 65
|
|
33
|
+
Exclude:
|
|
34
|
+
- 'spec/**/*'
|
|
35
|
+
|
|
19
36
|
Metrics/CyclomaticComplexity:
|
|
20
|
-
Max:
|
|
37
|
+
Max: 10
|
|
38
|
+
|
|
21
39
|
Metrics/PerceivedComplexity:
|
|
22
|
-
Max:
|
|
40
|
+
Max: 10
|
|
41
|
+
|
|
42
|
+
# Style
|
|
43
|
+
|
|
23
44
|
Style/Documentation:
|
|
24
45
|
Enabled: false
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
46
|
+
|
|
47
|
+
Style/StringLiterals:
|
|
48
|
+
EnforcedStyle: single_quotes
|
|
49
|
+
|
|
50
|
+
Style/StringLiteralsInInterpolation:
|
|
51
|
+
EnforcedStyle: single_quotes
|
|
52
|
+
|
|
53
|
+
Style/FrozenStringLiteralComment:
|
|
54
|
+
Enabled: true
|
|
55
|
+
EnforcedStyle: always
|
|
56
|
+
|
|
57
|
+
Style/TrailingCommaInArrayLiteral:
|
|
58
|
+
EnforcedStyleForMultiline: no_comma
|
|
59
|
+
|
|
60
|
+
Style/TrailingCommaInHashLiteral:
|
|
61
|
+
EnforcedStyleForMultiline: no_comma
|
|
62
|
+
|
|
63
|
+
Style/TrailingCommaInArguments:
|
|
64
|
+
EnforcedStyleForMultiline: no_comma
|
|
65
|
+
|
|
66
|
+
# Layout
|
|
67
|
+
|
|
68
|
+
Layout/LineLength:
|
|
69
|
+
Max: 150
|
|
70
|
+
AllowedPatterns:
|
|
71
|
+
- '\s+# '
|
|
72
|
+
|
|
73
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
|
74
|
+
Enabled: true
|
|
75
|
+
|
|
76
|
+
Layout/SpaceAroundMethodCallOperator:
|
|
77
|
+
Enabled: true
|
|
78
|
+
|
|
79
|
+
# Lint
|
|
80
|
+
|
|
81
|
+
Gemspec/DevelopmentDependencies:
|
|
28
82
|
Enabled: false
|
|
83
|
+
|
|
84
|
+
Lint/RaiseException:
|
|
85
|
+
Enabled: true
|
|
86
|
+
|
|
87
|
+
Lint/StructNewOverride:
|
|
88
|
+
Enabled: true
|
data/.rubocop_todo.yml
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# This configuration was generated by
|
|
2
|
+
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-auto-gen-timestamp`
|
|
3
|
+
# using RuboCop version 1.91.0.
|
|
4
|
+
# The point is for the user to remove these configuration records
|
|
5
|
+
# one by one as the offenses are removed from the code base.
|
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
|
8
|
+
|
|
9
|
+
# Offense count: 3
|
|
10
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
11
|
+
# Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
|
|
12
|
+
# URISchemes: http, https
|
|
13
|
+
Layout/LineLength:
|
|
14
|
+
Exclude:
|
|
15
|
+
- 'lib/capistrano/ops/rails/lib/tasks/pg/dump.rake'
|
|
16
|
+
- 'lib/capistrano/ops/rails/lib/tasks/storage/storage_helper.rb'
|
|
17
|
+
|
|
18
|
+
# Offense count: 1
|
|
19
|
+
# Configuration parameters: CountComments, Max, CountAsOne.
|
|
20
|
+
Metrics/ClassLength:
|
|
21
|
+
Exclude:
|
|
22
|
+
- 'lib/capistrano/ops/rails/lib/backup/s3.rb'
|
|
23
|
+
|
|
24
|
+
# Offense count: 1
|
|
25
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
|
|
26
|
+
Metrics/CyclomaticComplexity:
|
|
27
|
+
Exclude:
|
|
28
|
+
- 'lib/capistrano/ops/rails/lib/backup/s3.rb'
|
|
29
|
+
|
|
30
|
+
# Offense count: 1
|
|
31
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
|
|
32
|
+
Metrics/PerceivedComplexity:
|
|
33
|
+
Exclude:
|
|
34
|
+
- 'lib/capistrano/ops/rails/lib/backup/s3.rb'
|
|
35
|
+
|
|
36
|
+
# Offense count: 2
|
|
37
|
+
# Configuration parameters: Mode, AllowedMethods, AllowedPatterns, AllowBangMethods, WaywardPredicates.
|
|
38
|
+
# AllowedMethods: call
|
|
39
|
+
# WaywardPredicates: infinite?, nonzero?
|
|
40
|
+
Naming/PredicateMethod:
|
|
41
|
+
Exclude:
|
|
42
|
+
- 'lib/capistrano/ops/figaro_yml/helpers.rb'
|
|
43
|
+
- 'lib/capistrano/ops/logrotate/helpers.rb'
|
|
44
|
+
|
|
45
|
+
# Offense count: 1
|
|
46
|
+
Style/MultilineBlockChain:
|
|
47
|
+
Exclude:
|
|
48
|
+
- 'lib/capistrano/ops/figaro_yml/helpers.rb'
|
|
49
|
+
|
|
50
|
+
# Offense count: 1
|
|
51
|
+
# Configuration parameters: AllowedMethods.
|
|
52
|
+
# AllowedMethods: respond_to_missing?
|
|
53
|
+
Style/OptionalBooleanParameter:
|
|
54
|
+
Exclude:
|
|
55
|
+
- 'lib/capistrano/ops/rails/lib/tasks/storage/storage_helper.rb'
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3.4.10
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [1.1.0] - 2026-09-18
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add CI workflow (`.github/workflows/ci.yml`) with a Ruby matrix (3.2, 3.3, 3.4) running RSpec, plus separate RuboCop and bundler-audit jobs
|
|
15
|
+
- Add Dependabot config for weekly `bundler` and `github-actions` updates
|
|
16
|
+
- Add `bundler-audit` dev-dependency and Rake task
|
|
17
|
+
- Add minimal spec harness (`spec/spec_helper.rb`, `.rspec`, version smoke spec)
|
|
18
|
+
- Add `.rubocop_todo.yml` baseline for new cops that would require API-shape changes (metrics, predicate naming, keyword args)
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Widen `required_ruby_version` to `>= 3.2` (previously `>= 3.1.4, < 3.4.0` — blocked Ruby 3.4/3.5)
|
|
23
|
+
- Add version bounds for `rails` (`>= 7.2, < 9`), `faraday` (`>= 2.0, < 3.0`) and `nokogiri` (`>= 1.15`)
|
|
24
|
+
- Bump `.ruby-version` to `3.4.10`; release workflow now reads it via `ruby-version-file`
|
|
25
|
+
- Bump `.rubocop.yml` `TargetRubyVersion` to `3.2` and enable `Gemspec/RequireMFA`
|
|
26
|
+
- Bump dev-dependencies: `bundler >= 2.4, < 5`, `rubocop ~> 1.80`, `rubocop-rake ~> 0.7`, `rubocop-rspec ~> 3.0`
|
|
27
|
+
- `rake` default now runs `spec` + `rubocop`
|
|
28
|
+
|
|
29
|
+
### Removed
|
|
30
|
+
|
|
31
|
+
- Remove obsolete `.travis.yml` (Travis CI is end-of-life)
|
|
32
|
+
- Remove stray `release.gem` build artifact from repo root
|
|
33
|
+
- Remove dead `lib/capistrano/ops/capistrano/v3/tasks/backup.rake`: never wired into `TaskLoader`, required a non-existent `backup_helper` file, and its deprecated tasks (`backup:create` / `backup:pull`) had been superseded by `backup:database:*`
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- Fix `NameError` in `Notification::Webhook#backup_notification` when notification level was `error` on a successful backup (`_notification_level` param was referenced without the underscore)
|
|
38
|
+
- Fix `bin/console`: required non-existent `capistrano/rake`; now requires `capistrano/ops`
|
|
39
|
+
- Correct copy-paste header in `.rubocop.yml` (was labeled for `ms-graph-mailer`)
|
|
40
|
+
|
|
41
|
+
### Docs
|
|
42
|
+
|
|
43
|
+
- Clarify optional runtime dependencies (`whenever`, `figaro`, `wicked_pdf`) in README; state Ruby and Rails floors explicitly
|
|
44
|
+
|
|
45
|
+
## [1.0.11] - 2025-12-22
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
- Add GitHub Actions workflow for automated gem releases to RubyGems.org
|
|
50
|
+
- Add comprehensive CHANGELOG.md with complete version history
|
|
51
|
+
- Add version bump script (bump_version.rb) for automated version management
|
|
52
|
+
- Add RuboCop configuration for code style enforcement
|
|
53
|
+
|
|
54
|
+
### Changed
|
|
55
|
+
|
|
56
|
+
- Update aws-sdk-s3 dependency to ~> 1.208
|
|
57
|
+
- Update Ruby version requirements to >= 3.1.4, < 3.4.0
|
|
58
|
+
|
|
59
|
+
## [v1.0.10] - 2025-03-04
|
|
60
|
+
|
|
61
|
+
### Changed
|
|
62
|
+
|
|
63
|
+
- Update required Ruby version to < 3.4.0
|
|
64
|
+
|
|
65
|
+
## [v1.0.9] - 2024-12-20
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
|
|
69
|
+
- Fix missing variables in S3 multipart upload
|
|
70
|
+
- Update chunk size calculation for S3 uploads
|
|
71
|
+
|
|
72
|
+
## [v1.0.8] - 2024-12-16
|
|
73
|
+
|
|
74
|
+
### Fixed
|
|
75
|
+
|
|
76
|
+
- Add retry logic to S3 uploads for improved reliability
|
|
77
|
+
|
|
78
|
+
## [v1.0.7] - 2024-12-05
|
|
79
|
+
|
|
80
|
+
### Fixed
|
|
81
|
+
|
|
82
|
+
- Minor version bump with typo fixes
|
|
83
|
+
|
|
84
|
+
## [v1.0.6] - 2024-12-04
|
|
85
|
+
|
|
86
|
+
### Fixed
|
|
87
|
+
|
|
88
|
+
- Fix inheritable_copy error
|
|
89
|
+
|
|
90
|
+
## [v1.0.5] - 2024-12-04
|
|
91
|
+
|
|
92
|
+
### Fixed
|
|
93
|
+
|
|
94
|
+
- Update S3 upload to allow streaming directly into tar.gz file
|
|
95
|
+
|
|
96
|
+
## [v1.0.4] - 2024-08-14
|
|
97
|
+
|
|
98
|
+
### Fixed
|
|
99
|
+
|
|
100
|
+
- Update configs helper to retain other stages locally when working with figaro_yml
|
|
101
|
+
|
|
102
|
+
## [v1.0.3] - 2024-07-15
|
|
103
|
+
|
|
104
|
+
### Added
|
|
105
|
+
|
|
106
|
+
- Enhance gem presence check with regex for better Gemfile validation
|
|
107
|
+
|
|
108
|
+
## [v1.0.2] - 2024-07-15
|
|
109
|
+
|
|
110
|
+
### Fixed
|
|
111
|
+
|
|
112
|
+
- Fix wkhtmltopdf broken functionality
|
|
113
|
+
|
|
114
|
+
## [v1.0.1] - 2024-07-15
|
|
115
|
+
|
|
116
|
+
### Fixed
|
|
117
|
+
|
|
118
|
+
- Fix wkhtmltopdf broken functionality (additional fixes)
|
|
119
|
+
|
|
120
|
+
## [v1.0.0] - 2024-07-11
|
|
121
|
+
|
|
122
|
+
### Changed
|
|
123
|
+
|
|
124
|
+
- Major version release - Prepare for v1 release
|
|
125
|
+
- Stable API and feature set
|
|
126
|
+
|
|
127
|
+
## [v0.2.14] - 2024-06-29
|
|
128
|
+
|
|
129
|
+
### Changed
|
|
130
|
+
|
|
131
|
+
- Cleanup figaro_yml tasks
|
|
132
|
+
|
|
133
|
+
## [v0.2.13] - 2024-06-12
|
|
134
|
+
|
|
135
|
+
### Added
|
|
136
|
+
|
|
137
|
+
- Add wkhtmltopdf support
|
|
138
|
+
- Add loader file for wkhtmltopdf Capistrano task
|
|
139
|
+
- Add wkhtmltopdf setup and permission checks for deployment tasks
|
|
140
|
+
|
|
141
|
+
## [v0.2.12] - 2024-06-10
|
|
142
|
+
|
|
143
|
+
### Added
|
|
144
|
+
|
|
145
|
+
- Implement comprehensive logrotate functionality
|
|
146
|
+
|
|
147
|
+
## [v0.2.11] - 2024-04-16
|
|
148
|
+
|
|
149
|
+
### Fixed
|
|
150
|
+
|
|
151
|
+
- Fix logical issue with KEEP_LOCAL_STORAGE_BACKUPS environment variable
|
|
152
|
+
|
|
153
|
+
## [v0.2.10] - 2024-04-15
|
|
154
|
+
|
|
155
|
+
### Added
|
|
156
|
+
|
|
157
|
+
- Add ENV option to remove local storage backups if external backups enabled
|
|
158
|
+
- Update README with new configuration options
|
|
159
|
+
|
|
160
|
+
## [v0.2.9] - 2024-01-15
|
|
161
|
+
|
|
162
|
+
### Added
|
|
163
|
+
|
|
164
|
+
- Add backup thinning functionality to manage backup retention
|
|
165
|
+
|
|
166
|
+
## [v0.2.8] - 2023-09-07
|
|
167
|
+
|
|
168
|
+
### Changed
|
|
169
|
+
|
|
170
|
+
- Update required Ruby version
|
|
171
|
+
|
|
172
|
+
## [v0.2.7] - 2023-08-31
|
|
173
|
+
|
|
174
|
+
### Fixed
|
|
175
|
+
|
|
176
|
+
- Fix missing download functionality in backup
|
|
177
|
+
|
|
178
|
+
## [v0.2.6] - 2023-08-25
|
|
179
|
+
|
|
180
|
+
### Fixed
|
|
181
|
+
|
|
182
|
+
- Fix configuration error
|
|
183
|
+
|
|
184
|
+
## [v0.2.5] - 2023-08-14
|
|
185
|
+
|
|
186
|
+
### Changed
|
|
187
|
+
|
|
188
|
+
- Optimize backups functionality
|
|
189
|
+
|
|
190
|
+
## [v0.2.4] - 2023-08-13
|
|
191
|
+
|
|
192
|
+
### Changed
|
|
193
|
+
|
|
194
|
+
- Update README documentation
|
|
195
|
+
- Add Faraday for HTTP requests
|
|
196
|
+
- Add/split Capistrano backup tasks
|
|
197
|
+
- Add deprecation warnings
|
|
198
|
+
|
|
199
|
+
### Added
|
|
200
|
+
|
|
201
|
+
- Add .rubocop.yml for code style enforcement
|
|
202
|
+
|
|
203
|
+
## [v0.2.3] - 2023-07-24
|
|
204
|
+
|
|
205
|
+
### Added
|
|
206
|
+
|
|
207
|
+
- Add external backup provider support
|
|
208
|
+
- Add S3 object storage provider
|
|
209
|
+
- Update notification service
|
|
210
|
+
|
|
211
|
+
### Changed
|
|
212
|
+
|
|
213
|
+
- Major refactoring of backup system
|
|
214
|
+
|
|
215
|
+
### Known Issues
|
|
216
|
+
|
|
217
|
+
- Webhook notification service temporarily broken
|
|
218
|
+
|
|
219
|
+
## [v0.2.2] - 2023-07-08
|
|
220
|
+
|
|
221
|
+
### Changed
|
|
222
|
+
|
|
223
|
+
- Let bundler choose versions for better dependency management
|
|
224
|
+
- Only notify if update fails
|
|
225
|
+
|
|
226
|
+
### Fixed
|
|
227
|
+
|
|
228
|
+
- Resolve dependency conflicts for Rails 7 compatibility
|
|
229
|
+
|
|
230
|
+
## [v0.1.5] - 2023-03-15
|
|
231
|
+
|
|
232
|
+
### Fixed
|
|
233
|
+
|
|
234
|
+
- Set dependencies by ruby_version
|
|
235
|
+
|
|
236
|
+
## [v0.1.4] - 2023-03-13
|
|
237
|
+
|
|
238
|
+
### Changed
|
|
239
|
+
|
|
240
|
+
- Optimize database dumps
|
|
241
|
+
|
|
242
|
+
## [v0.1.3] - 2023-03-08
|
|
243
|
+
|
|
244
|
+
### Fixed
|
|
245
|
+
|
|
246
|
+
- Fix bad class declaration in Railtie
|
|
247
|
+
|
|
248
|
+
## [v0.1.2] - 2023-03-06
|
|
249
|
+
|
|
250
|
+
### Added
|
|
251
|
+
|
|
252
|
+
- Add functionality to get application.yml from server
|
|
253
|
+
|
|
254
|
+
### Changed
|
|
255
|
+
|
|
256
|
+
- Update README documentation
|
|
257
|
+
|
|
258
|
+
## [v0.1.1] - 2023-03-06
|
|
259
|
+
|
|
260
|
+
### Added
|
|
261
|
+
|
|
262
|
+
- Add get application yaml functionality
|
|
263
|
+
|
|
264
|
+
## [v0.1.0] - 2023-03-06
|
|
265
|
+
|
|
266
|
+
### Changed
|
|
267
|
+
|
|
268
|
+
- Rename gem to capistrano-ops
|
|
269
|
+
- Major version bump for initial stable release
|
|
270
|
+
|
|
271
|
+
## [v0.0.7] - 2022-12-14
|
|
272
|
+
|
|
273
|
+
### Added
|
|
274
|
+
|
|
275
|
+
- Add task to run rake task on server
|
|
276
|
+
|
|
277
|
+
### Changed
|
|
278
|
+
|
|
279
|
+
- Update readme and refactor backup.rake
|
|
280
|
+
|
|
281
|
+
## [v0.0.6] - 2022-12-08
|
|
282
|
+
|
|
283
|
+
### Fixed
|
|
284
|
+
|
|
285
|
+
- Fix figaro_yml compare functionality
|
|
286
|
+
|
|
287
|
+
## [v0.0.5] - 2022-12-07
|
|
288
|
+
|
|
289
|
+
### Fixed
|
|
290
|
+
|
|
291
|
+
- Fix issue with stdin handling
|
|
292
|
+
|
|
293
|
+
## [v0.0.4] - 2022-12-07
|
|
294
|
+
|
|
295
|
+
### Fixed
|
|
296
|
+
|
|
297
|
+
- Fix issue with stdin handling (additional fixes)
|
|
298
|
+
|
|
299
|
+
## [v0.0.3] - 2022-12-07
|
|
300
|
+
|
|
301
|
+
### Fixed
|
|
302
|
+
|
|
303
|
+
- Fix PGPASSWORD export
|
|
304
|
+
|
|
305
|
+
## Initial Release - 2022-12-07
|
|
306
|
+
|
|
307
|
+
### Added
|
|
308
|
+
|
|
309
|
+
- Initial commit with core functionality
|
|
310
|
+
- Database backup capabilities
|
|
311
|
+
- Figaro YAML management
|
|
312
|
+
- Basic Capistrano integration
|
|
313
|
+
|
|
314
|
+
[Unreleased]: https://github.com/zauberware/capistrano-ops/compare/v1.1.0...HEAD
|
|
315
|
+
[1.1.0]: https://github.com/zauberware/capistrano-ops/releases/tag/v1.1.0
|
|
316
|
+
[1.0.11]: https://github.com/zauberware/capistrano-ops/releases/tag/v1.0.11
|
|
317
|
+
[v1.0.10]: https://github.com/zauberware/capistrano-ops/compare/v1.0.9...v1.0.10
|
|
318
|
+
[v1.0.9]: https://github.com/zauberware/capistrano-ops/compare/v1.0.8...v1.0.9
|
|
319
|
+
[v1.0.8]: https://github.com/zauberware/capistrano-ops/compare/v1.0.7...v1.0.8
|
|
320
|
+
[v1.0.7]: https://github.com/zauberware/capistrano-ops/compare/v1.0.6...v1.0.7
|
|
321
|
+
[v1.0.6]: https://github.com/zauberware/capistrano-ops/compare/v1.0.5...v1.0.6
|
|
322
|
+
[v1.0.5]: https://github.com/zauberware/capistrano-ops/compare/v1.0.4...v1.0.5
|
|
323
|
+
[v1.0.4]: https://github.com/zauberware/capistrano-ops/compare/v1.0.3...v1.0.4
|
|
324
|
+
[v1.0.3]: https://github.com/zauberware/capistrano-ops/compare/v1.0.2...v1.0.3
|
|
325
|
+
[v1.0.2]: https://github.com/zauberware/capistrano-ops/compare/v1.0.1...v1.0.2
|
|
326
|
+
[v1.0.1]: https://github.com/zauberware/capistrano-ops/compare/v1.0.0...v1.0.1
|
|
327
|
+
[v1.0.0]: https://github.com/zauberware/capistrano-ops/compare/v0.2.14...v1.0.0
|
|
328
|
+
[v0.2.14]: https://github.com/zauberware/capistrano-ops/compare/v0.2.13...v0.2.14
|
|
329
|
+
[v0.2.13]: https://github.com/zauberware/capistrano-ops/compare/v0.2.12...v0.2.13
|
|
330
|
+
[v0.2.12]: https://github.com/zauberware/capistrano-ops/compare/v0.2.11...v0.2.12
|
|
331
|
+
[v0.2.11]: https://github.com/zauberware/capistrano-ops/compare/v0.2.10...v0.2.11
|
|
332
|
+
[v0.2.10]: https://github.com/zauberware/capistrano-ops/compare/v0.2.9...v0.2.10
|
|
333
|
+
[v0.2.9]: https://github.com/zauberware/capistrano-ops/compare/v0.2.8...v0.2.9
|
|
334
|
+
[v0.2.8]: https://github.com/zauberware/capistrano-ops/compare/v0.2.7...v0.2.8
|
|
335
|
+
[v0.2.7]: https://github.com/zauberware/capistrano-ops/compare/v0.2.6...v0.2.7
|
|
336
|
+
[v0.2.6]: https://github.com/zauberware/capistrano-ops/compare/v0.2.5...v0.2.6
|
|
337
|
+
[v0.2.5]: https://github.com/zauberware/capistrano-ops/compare/v0.2.4...v0.2.5
|
|
338
|
+
[v0.2.4]: https://github.com/zauberware/capistrano-ops/compare/v0.2.3...v0.2.4
|
|
339
|
+
[v0.2.3]: https://github.com/zauberware/capistrano-ops/compare/v0.2.2...v0.2.3
|
|
340
|
+
[v0.2.2]: https://github.com/zauberware/capistrano-ops/compare/v0.1.5...v0.2.2
|
|
341
|
+
[v0.1.5]: https://github.com/zauberware/capistrano-ops/compare/v0.1.4...v0.1.5
|
|
342
|
+
[v0.1.4]: https://github.com/zauberware/capistrano-ops/compare/v0.1.3...v0.1.4
|
|
343
|
+
[v0.1.3]: https://github.com/zauberware/capistrano-ops/compare/v0.1.2...v0.1.3
|
|
344
|
+
[v0.1.2]: https://github.com/zauberware/capistrano-ops/compare/v0.1.1...v0.1.2
|
|
345
|
+
[v0.1.1]: https://github.com/zauberware/capistrano-ops/compare/v0.1.0...v0.1.1
|
|
346
|
+
[v0.1.0]: https://github.com/zauberware/capistrano-ops/compare/v0.0.7...v0.1.0
|
|
347
|
+
[v0.0.7]: https://github.com/zauberware/capistrano-ops/releases/tag/v0.0.7
|
data/README.md
CHANGED
|
@@ -78,14 +78,23 @@ The capistrano-ops gem is a valuable library, tailor-made for Rails DevOps profe
|
|
|
78
78
|
|
|
79
79
|
## Requirements
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
Runtime requirements pulled in by the gem itself:
|
|
82
|
+
|
|
83
|
+
- Ruby `>= 3.2`
|
|
84
|
+
- Rails `>= 7.2, < 9`
|
|
85
|
+
- `capistrano ~> 3.0` (in your app)
|
|
86
|
+
|
|
87
|
+
Optional runtime dependencies — the corresponding task groups are only
|
|
88
|
+
loaded when the gem is present in your `Gemfile`:
|
|
85
89
|
|
|
86
|
-
|
|
90
|
+
```ruby
|
|
91
|
+
gem 'whenever' # enables whenever:show_crontab
|
|
92
|
+
gem 'figaro' # enables figaro_yml:* tasks
|
|
93
|
+
gem 'wicked_pdf' # enables wkhtmltopdf:setup (with wkhtmltopdf-binary)
|
|
87
94
|
```
|
|
88
95
|
|
|
96
|
+
> hint: if you use other aws-sdk gems, it's possible that you have to update them too
|
|
97
|
+
|
|
89
98
|
[↑](#)
|
|
90
99
|
|
|
91
100
|
## Installation
|
data/Rakefile
CHANGED
|
@@ -2,7 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
require 'bundler/gem_tasks'
|
|
4
4
|
require 'rspec/core/rake_task'
|
|
5
|
+
require 'rubocop/rake_task'
|
|
6
|
+
require 'bundler/audit/task'
|
|
5
7
|
|
|
6
8
|
RSpec::Core::RakeTask.new(:spec)
|
|
9
|
+
RuboCop::RakeTask.new
|
|
10
|
+
Bundler::Audit::Task.new
|
|
7
11
|
|
|
8
|
-
task default:
|
|
12
|
+
task default: %i[spec rubocop]
|
|
13
|
+
|
|
14
|
+
namespace :version do
|
|
15
|
+
desc 'Bump patch version (0.1.0 -> 0.1.1)'
|
|
16
|
+
task :patch do
|
|
17
|
+
ruby 'scripts/bump_version.rb patch'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
desc 'Bump minor version (0.1.0 -> 0.2.0)'
|
|
21
|
+
task :minor do
|
|
22
|
+
ruby 'scripts/bump_version.rb minor'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
desc 'Bump major version (0.1.0 -> 1.0.0)'
|
|
26
|
+
task :major do
|
|
27
|
+
ruby 'scripts/bump_version.rb major'
|
|
28
|
+
end
|
|
29
|
+
end
|
data/bin/console
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
require 'bundler/setup'
|
|
5
|
-
require 'capistrano/
|
|
5
|
+
require 'capistrano/ops'
|
|
6
6
|
|
|
7
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
|
8
8
|
# with your gem easier. You can also use a different console, if you like.
|