dlss-capistrano 5.0.0 → 5.0.2
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 +2 -0
- data/dlss-capistrano.gemspec +1 -2
- data/lib/dlss/capistrano/tasks/control_master.rake +15 -6
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d2be7ee14246b985ddc27517e14b9a50d3657f5ab2d2cefc71e12ab56463478
|
4
|
+
data.tar.gz: cdf05f64d3afe15292784235fb420da1e9ac2f9ae30cc954c6f88671af966aac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44071af75e21fd81b4bb17a14def12eda881694716d107860a1ccc44d94e52cfc8af895d29c82645009b6fc9c3e50fc6a16b8936495c5662a627044eba2b1a4a
|
7
|
+
data.tar.gz: 0c49339f0cca3ad096e4d5b0fb1c3a887c76a949c8d532a58899760cd95998b3f152386d07c3d17fda5ef540f3abbbbf88b81b85d710665ae19f12bcfe30b7a1
|
data/README.md
CHANGED
@@ -6,6 +6,8 @@ This gem provides Capistrano deployment tasks used by Stanford Libraries' Digita
|
|
6
6
|
|
7
7
|
## Necessary setup
|
8
8
|
|
9
|
+
To use controlmaster, you need to opt-in by setting the environment variable `USE_CAPISTRANO_CONTROLMASTER=true` (in e.g. your `~/.zshenv` file or similar for your particular shell).
|
10
|
+
|
9
11
|
If you use values other than the defaults for `CONTROLMASTER_HOST` (`dlss-jump`) or `CONTROLMASTER_SOCKET` (`"~/.ssh/%r@%h:%p"`), you'll want to set these environment variables locally to the values you use (in e.g. your `~/.zshenv` file or similar for your particular shell). Otherwise, the gem will fail to connect to the appropriate host and/or won't be able to properly check the status of the control master process.
|
10
12
|
|
11
13
|
The control master host is the value of the `ProxyJump` directive in your SSH config, and the control master socket is the value of the `ControlPath` directive in your SSH config.
|
data/dlss-capistrano.gemspec
CHANGED
@@ -4,7 +4,7 @@ $:.unshift lib unless $:.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "dlss-capistrano"
|
7
|
-
s.version = '5.0.
|
7
|
+
s.version = '5.0.2'
|
8
8
|
|
9
9
|
s.platform = Gem::Platform::RUBY
|
10
10
|
s.authors = ["Chris Beer", 'Mike Giarlo']
|
@@ -21,7 +21,6 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_dependency "capistrano", "~> 3.0"
|
22
22
|
s.add_dependency "capistrano-bundle_audit", ">= 0.3.0"
|
23
23
|
s.add_dependency "capistrano-shared_configs"
|
24
|
-
s.add_dependency "net-ssh-krb"
|
25
24
|
# support for MacOS 14.4+ usage of ed25519 SSH keys
|
26
25
|
s.add_dependency "ed25519"
|
27
26
|
s.add_dependency "bcrypt_pbkdf"
|
@@ -2,8 +2,13 @@
|
|
2
2
|
|
3
3
|
require 'open3'
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
namespace :load do
|
6
|
+
task :defaults do
|
7
|
+
set :use_controlmaster, ENV.fetch('USE_CAPISTRANO_CONTROLMASTER', false) == 'true'
|
8
|
+
set :controlmaster_host, ENV.fetch('CONTROLMASTER_HOST', 'dlss-jump')
|
9
|
+
set :controlmaster_socket, ENV.fetch('CONTROLMASTER_SOCKET', "~/.ssh/%r@%h:%p")
|
10
|
+
end
|
11
|
+
end
|
7
12
|
|
8
13
|
# Integrate hook into Capistrano
|
9
14
|
namespace :deploy do
|
@@ -15,12 +20,14 @@ end
|
|
15
20
|
namespace :controlmaster do
|
16
21
|
desc 'set up an SSH controlmaster process if missing'
|
17
22
|
task :setup do
|
23
|
+
next unless fetch(:use_controlmaster)
|
24
|
+
|
18
25
|
if fetch(:log_level) == :debug
|
19
|
-
puts "checking if controlmaster process exists (#{
|
26
|
+
puts "checking if controlmaster process exists (#{fetch(:controlmaster_socket)}) for #{fetch(:controlmaster_host)}"
|
20
27
|
end
|
21
28
|
|
22
29
|
status, output = Open3.popen2e(
|
23
|
-
"ssh -O check -S #{CONTROLMASTER_SOCKET} #{
|
30
|
+
"ssh -O check -S #{CONTROLMASTER_SOCKET} #{fetch(:controlmaster_host)}"
|
24
31
|
) { |_, outerr, wait_thr| next wait_thr.value, outerr.read }
|
25
32
|
|
26
33
|
if status.success?
|
@@ -34,12 +41,14 @@ namespace :controlmaster do
|
|
34
41
|
|
35
42
|
# NOTE: no `desc` here to avoid publishing this task in the `cap -T` list
|
36
43
|
task :start do
|
44
|
+
next unless fetch(:use_controlmaster)
|
45
|
+
|
37
46
|
if fetch(:log_level) == :debug
|
38
|
-
puts "creating new controlmaster process for #{
|
47
|
+
puts "creating new controlmaster process for #{fetch(:controlmaster_host)} at #{fetch(:controlmaster_socket)}"
|
39
48
|
end
|
40
49
|
|
41
50
|
status, output = Open3.popen2e(
|
42
|
-
"ssh -f -N -S #{
|
51
|
+
"ssh -f -N -S #{fetch(:controlmaster_socket)} #{fetch(:controlmaster_host)}"
|
43
52
|
) { |_, outerr, wait_thr| next wait_thr.value, outerr.read }
|
44
53
|
|
45
54
|
if status.success?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dlss-capistrano
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-06-
|
12
|
+
date: 2024-06-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|
@@ -53,20 +53,6 @@ dependencies:
|
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: net-ssh-krb
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '0'
|
63
|
-
type: :runtime
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - ">="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
56
|
- !ruby/object:Gem::Dependency
|
71
57
|
name: ed25519
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
130
|
- !ruby/object:Gem::Version
|
145
131
|
version: 1.3.6
|
146
132
|
requirements: []
|
147
|
-
rubygems_version: 3.5.
|
133
|
+
rubygems_version: 3.5.9
|
148
134
|
signing_key:
|
149
135
|
specification_version: 4
|
150
136
|
summary: Capistrano recipes for use in SUL/DLSS projects
|