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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4ad578971e04ab78238e26f456f1071a39dcd57ca40d08cb63f78623dbba13f
4
- data.tar.gz: 5bc6aaf8d1d7b37ab684da509c766d040d12d37a88cc301ee24405110f4b0631
3
+ metadata.gz: 72eec6b693bd95af8a8e16cfc0370eb7ee120dad14d0d1dd40bd57c2df01a589
4
+ data.tar.gz: 25020601afdd90fb2c22f5a3e7a99d29703c2fea860a85db8be9e4be7c8ea571
5
5
  SHA512:
6
- metadata.gz: 38d06e826c104089e3a134a7e6ce9660893f1cd2f8f103cdf2771d84ad4a82e2eda8e6dd7578da0452a98a4e808b0e55393798ac363c89d4960d34ebb83390e3
7
- data.tar.gz: 5a98640e8c71d0be3a730de18d75e86f890e812498e53a1a7e0bb73d90536f36add90d80abc89ea06cdbfb99b208ead667aecc91f4e524b2245b68356c92f7e3
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 socket
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
@@ -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-socket'
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
- return false unless _docker_container_lib_create_net_and_ctr @hostname
11
+ # no matrjoschka test here
12
12
 
13
- _docker_container_lib_start_sockets
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 _docker_container_lib_check_matrjoschka
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
- return false unless ENV.keys.include? 'TAKELAGE_PROJECT_BASE_DIR'
125
-
126
- log.debug 'We are already inside a takelage container'
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
- # wait or the github workflow will fail
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
- return false unless _docker_container_lib_create_net_and_ctr @hostname
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
- _docker_container_lib_start_sockets
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
@@ -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 socket'
83
+ desc 'terminate [SOCKET]', 'Terminate a mutagen [SOCKET]'
83
84
  long_desc <<-LONGDESC.gsub("\n", "\x5")
84
- Terminate a mutagen socket
85
+ Terminate a mutagen [SOCKET]
85
86
  LONGDESC
86
- # Terminate a mutagen socket.
87
+ # Terminate a mutagen [SOCKET].
87
88
  def terminate(socket)
88
89
  exit mutagen_socket_terminate socket
89
90
  end
@@ -39,7 +39,8 @@ module MutagenSocketCreate
39
39
  username: @username,
40
40
  container: @hostname,
41
41
  hostlabel: @hostlabel,
42
- takellabel: @takellabel
42
+ takellabel: @takellabel,
43
+ takelsocklabel: @takelsocklabel
43
44
  )
44
45
  run cmd_create_socket
45
46
  end
data/lib/takelage/version CHANGED
@@ -1 +1 @@
1
- 0.29.0
1
+ 0.29.13
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: takelage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.0
4
+ version: 0.29.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geospin