takelage 0.29.0 → 0.29.13
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 +1 -1
- data/lib/takelage/default.yml +4 -2
- data/lib/takelage/docker/container/command.rb +6 -2
- data/lib/takelage/docker/container/lib.rb +6 -11
- data/lib/takelage/docker/container/login.rb +26 -2
- data/lib/takelage/lib/system.rb +7 -0
- data/lib/takelage/mutagen/socket/cli.rb +4 -3
- data/lib/takelage/mutagen/socket/create.rb +2 -1
- data/lib/takelage/version +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72eec6b693bd95af8a8e16cfc0370eb7ee120dad14d0d1dd40bd57c2df01a589
|
4
|
+
data.tar.gz: 25020601afdd90fb2c22f5a3e7a99d29703c2fea860a85db8be9e4be7c8ea571
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '05995559b4ff1dc2c6691f49525c4323af0bd11f59b20105a80f5626671ffb6727be7a467676534913080a5485a8f3351544994f4c32ffce745c8ff8e76c3ca5'
|
7
|
+
data.tar.gz: b35d4ccbe94879a1749195098b77986a2e7836f8f36fd3418f433b916019fba9779582be2c81c8e60cb88fad0149422d891e55d447e877d1bcc851d4152c4b8d
|
data/README.md
CHANGED
@@ -108,7 +108,7 @@ tau [mutagen socket check](features/cucumber/features/mutagen/mutagen.socket.che
|
|
108
108
|
tau [mutagen socket create](features/cucumber/features/mutagen/mutagen.socket.create.feature) [NAME] [IN] [OUT] | Create a mutagen socket [NAME] from [IN] to [OUT] of the container
|
109
109
|
tau [mutagen socket list](features/cucumber/features/mutagen/mutagen.socket.list.feature) | List mutagen sockets
|
110
110
|
tau [mutagen socket tidy](features/cucumber/features/mutagen/mutagen.socket.tidy.feature) | Remove mutagen daemon files
|
111
|
-
tau [mutagen socket terminate](features/cucumber/features/mutagen/mutagen.socket.terminate.feature) | Terminate a mutagen
|
111
|
+
tau [mutagen socket terminate](features/cucumber/features/mutagen/mutagen.socket.terminate.feature) [SOCKET] | Terminate a mutagen [SOCKET]
|
112
112
|
tau [self config active](features/cucumber/features/self/self.config.active.feature) | Print active takelage configuration
|
113
113
|
tau [self config default](features/cucumber/features/self/self.config.default.feature) | Print takelage default configuration
|
114
114
|
tau [self config home](features/cucumber/features/self/self.config.home.feature) | Print takelage home config file configuration
|
data/lib/takelage/default.yml
CHANGED
@@ -62,7 +62,7 @@ cmd_info_status_ssh_keys: 'ssh-add -l'
|
|
62
62
|
cmd_info_status_ssh_socket: 'gpgconf --list-dirs agent-ssh-socket'
|
63
63
|
cmd_mutagen_check_daemon_host_connection: 'mutagen forward list --label-selector="%{hostlabel}"'
|
64
64
|
cmd_mutagen_check_daemon_version: 'mutagen version'
|
65
|
-
cmd_mutagen_forward_socket_create: 'mutagen forward create --name=%{socketname} --label=%{hostlabel} --label=%{takellabel} docker://%{username}@%{container}:unix:%{containersock} unix:%{hostsock}'
|
65
|
+
cmd_mutagen_forward_socket_create: 'mutagen forward create --name=%{socketname} --label=%{hostlabel} --label=%{takellabel} --label=%{takelsocklabel} docker://%{username}@%{container}:unix:%{containersock} unix:%{hostsock}'
|
66
66
|
cmd_mutagen_forward_socket_check: 'mutagen forward list %{socketname}'
|
67
67
|
cmd_mutagen_forward_socket_terminate: 'mutagen forward terminate %{socketname}'
|
68
68
|
cmd_mutagen_forward_socket_remove: 'rm -f ~/.mutagen/daemon/*'
|
@@ -79,7 +79,9 @@ docker_user: 'takelage'
|
|
79
79
|
git_main_branch: 'main'
|
80
80
|
info_project_main: 'project.yml'
|
81
81
|
info_project_private: 'private/project.yml'
|
82
|
+
login_wait_for_sockets: '0'
|
82
83
|
mutagen_socket_path_mutagen: '~/.mutagen/daemon/daemon.sock'
|
83
84
|
mutagen_socket_path_gpg: '~/.gnupg/S.gpg-agent'
|
84
85
|
mutagen_socket_path_ssh: '~/.gnupg/S.gpg-agent.ssh'
|
85
|
-
mutagen_socket_takelage_label: 'type=takelage
|
86
|
+
mutagen_socket_takelage_label: 'type=takelage'
|
87
|
+
mutagen_socket_takelage_socket_label: 'type=takelage-socket'
|
@@ -8,9 +8,13 @@ module DockerContainerCommand
|
|
8
8
|
|
9
9
|
return false unless docker_check_daemon
|
10
10
|
|
11
|
-
|
11
|
+
# no matrjoschka test here
|
12
12
|
|
13
|
-
|
13
|
+
unless docker_container_check_existing @hostname
|
14
|
+
return false unless _docker_container_lib_create_net_and_ctr @hostname
|
15
|
+
|
16
|
+
_docker_container_lib_start_sockets
|
17
|
+
end
|
14
18
|
|
15
19
|
_docker_container_command_run_command @hostname, command
|
16
20
|
end
|
@@ -25,17 +25,12 @@ module DockerContainerLib
|
|
25
25
|
|
26
26
|
# Create docker container and network.
|
27
27
|
def _docker_container_lib_create_net_and_ctr(name)
|
28
|
-
if
|
29
|
-
log.error 'You cannot log in to takelage from within takelage'
|
30
|
-
return false
|
31
|
-
end
|
28
|
+
return true if docker_container_check_existing name
|
32
29
|
|
33
30
|
unless docker_container_check_network name
|
34
31
|
_docker_container_lib_create_network name
|
35
32
|
end
|
36
33
|
|
37
|
-
return true if docker_container_check_existing name
|
38
|
-
|
39
34
|
_docker_container_lib_create_container name
|
40
35
|
end
|
41
36
|
|
@@ -121,12 +116,12 @@ module DockerContainerLib
|
|
121
116
|
def _docker_container_lib_check_matrjoschka
|
122
117
|
log.debug 'Checking if we are already inside a takelage container'
|
123
118
|
|
124
|
-
|
125
|
-
|
126
|
-
|
119
|
+
unless ENV.keys.include? 'TAKELAGE_PROJECT_BASE_DIR'
|
120
|
+
log.debug 'We are not inside a takelage container'
|
121
|
+
return false
|
122
|
+
end
|
127
123
|
|
128
|
-
|
129
|
-
sleep 1
|
124
|
+
log.debug 'We are inside a takelage container'
|
130
125
|
|
131
126
|
true
|
132
127
|
end
|
@@ -8,15 +8,30 @@ module DockerContainerLogin
|
|
8
8
|
|
9
9
|
return false unless docker_check_daemon
|
10
10
|
|
11
|
-
|
11
|
+
if _docker_container_lib_check_matrjoschka
|
12
|
+
log.error 'You cannot log in to takelage from within takelage'
|
13
|
+
return false
|
14
|
+
end
|
12
15
|
|
13
|
-
|
16
|
+
# rubocop:disable Style/IfUnlessModifier
|
17
|
+
unless docker_container_check_existing @hostname
|
18
|
+
_docker_container_login_create_container @hostname
|
19
|
+
end
|
20
|
+
# rubocop:enable Style/IfUnlessModifier
|
14
21
|
|
15
22
|
run_and_exit _docker_container_login_enter_container @hostname
|
16
23
|
end
|
17
24
|
|
18
25
|
private
|
19
26
|
|
27
|
+
# Create container, network and forward sockets
|
28
|
+
def _docker_container_login_create_container(container)
|
29
|
+
return false unless _docker_container_lib_create_net_and_ctr container
|
30
|
+
|
31
|
+
_docker_container_lib_start_sockets
|
32
|
+
_docker_container_wait_for_sockets
|
33
|
+
end
|
34
|
+
|
20
35
|
# Prepare enter existing container command.
|
21
36
|
def _docker_container_login_enter_container(container)
|
22
37
|
log.debug "Entering container \"#{container}\""
|
@@ -31,4 +46,13 @@ module DockerContainerLogin
|
|
31
46
|
username: @username
|
32
47
|
)
|
33
48
|
end
|
49
|
+
|
50
|
+
# Wait for the sockets to come up
|
51
|
+
def _docker_container_wait_for_sockets
|
52
|
+
wait_for_sockets = config.active['login_wait_for_sockets'].to_i
|
53
|
+
return if wait_for_sockets.zero?
|
54
|
+
|
55
|
+
log.debug "Waiting for #{wait_for_sockets} #{pluralize(wait_for_sockets, 'second', 'seconds')}"
|
56
|
+
sleep wait_for_sockets
|
57
|
+
end
|
34
58
|
end
|
data/lib/takelage/lib/system.rb
CHANGED
@@ -162,5 +162,12 @@ module SystemModule
|
|
162
162
|
end
|
163
163
|
true
|
164
164
|
end
|
165
|
+
|
166
|
+
# Pluralize a verb in relation to a number
|
167
|
+
def pluralize(number, singular, plural)
|
168
|
+
return singular if number == 1
|
169
|
+
|
170
|
+
plural
|
171
|
+
end
|
165
172
|
end
|
166
173
|
# rubocop:enable Metrics/ModuleLength
|
@@ -35,6 +35,7 @@ module Takelage
|
|
35
35
|
|
36
36
|
@hostlabel = "hostname=#{@hostname}"
|
37
37
|
@takellabel = config.active['mutagen_socket_takelage_label']
|
38
|
+
@takelsocklabel = config.active['mutagen_socket_takelage_socket_label']
|
38
39
|
end
|
39
40
|
|
40
41
|
#
|
@@ -79,11 +80,11 @@ module Takelage
|
|
79
80
|
#
|
80
81
|
# mutagen socket terminate
|
81
82
|
#
|
82
|
-
desc 'terminate', 'Terminate a mutagen
|
83
|
+
desc 'terminate [SOCKET]', 'Terminate a mutagen [SOCKET]'
|
83
84
|
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
84
|
-
Terminate a mutagen
|
85
|
+
Terminate a mutagen [SOCKET]
|
85
86
|
LONGDESC
|
86
|
-
# Terminate a mutagen
|
87
|
+
# Terminate a mutagen [SOCKET].
|
87
88
|
def terminate(socket)
|
88
89
|
exit mutagen_socket_terminate socket
|
89
90
|
end
|
data/lib/takelage/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.29.
|
1
|
+
0.29.13
|