takeltau 0.43.14 → 0.43.15

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: 96a4925af8567894bdbcc0b0e983fce78e29ef2980d17bdfcc4fdbc3141313f3
4
- data.tar.gz: ace590b944abfbbdbe620d3cabd7a16d2593f47287702148c623ede6ca677e98
3
+ metadata.gz: bffbfd83d32f80c65710d44484f6efc3ca2cd1aedecfd045c48acc7d7662476f
4
+ data.tar.gz: 49032edfaa569d46693240c6776aad04ce234ff8ffdc63fc2609d2f97b556c4b
5
5
  SHA512:
6
- metadata.gz: f9a323d95e42e6679e51360d53b24636dd3243b538e46b06f38efe0b09cb4017525f07443db8dcd791eaaa1e9ae7df759a9c6fd4ee1327044e66542878eedd6b
7
- data.tar.gz: 61620c4054fcf13cf2c15583a5478c07a30a11cb9340ecf5363ae72578f4bfc8ca83cf58c471131e2e19d4e814e18711918ef8131c6b41d930a7921c64de83f4
6
+ metadata.gz: a3809662ed4e64854cf7324862816dd26c172da554e084d0d8504eff6a4a87d8bb177a082ce28ccb04c1e24350e13441a798dce667cf0472c4f73e1184190504
7
+ data.tar.gz: 73a636ac6b86704d68747ce8f278680df734289b5a429d38a37f4eb8ad8320df29866cbb0db13078f972e15f8d9264c8918962c9632e63bad92fe0efccf6240e
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  cmd_docker: 'docker'
3
- cmd_docker_check_daemon_docker_info: '%{docker} info'
3
+ cmd_docker_check_daemon_docker_version: '%{docker} --version'
4
4
  cmd_docker_container_check_existing_docker_ps: '%{docker} ps --filter name=^%{container}$ --quiet'
5
5
  cmd_docker_container_check_network_docker_network: '%{docker} network ls --quiet --filter name=^%{network}$'
6
6
  cmd_docker_container_check_orphaned_docker_exec: '%{docker} exec --interactive %{container} ps a'
@@ -94,3 +94,4 @@ cmd_ship_project_start_docker_stop: '%{ship_docker} stop %{ship_hostname}'
94
94
  cmd_ship_container_check_existing_docker_ps: '%{ship_docker} ps --filter name=^%{ship_name}$ --quiet'
95
95
  cmd_ship_container_docker: '%{ship_docker} exec --interactive %{tty} %{ship_hostname} %{command}'
96
96
  cmd_ship_container_login: 'bash'
97
+ cmd_docker_container_get_mounted_dir: '%{ship_docker} container inspect %{ship_hostname} --format "{{ (index .Mounts 0).Source }}"'
@@ -14,7 +14,7 @@ module DockerCheckDaemon
14
14
  log.debug 'Check if the docker daemon is running'
15
15
 
16
16
  cmd_docker_info = format(
17
- config.active['cmd_docker_check_daemon_docker_info'],
17
+ config.active['cmd_docker_check_daemon_docker_version'],
18
18
  docker: config.active[docker]
19
19
  )
20
20
  status = try cmd_docker_info
@@ -2,7 +2,7 @@
2
2
 
3
3
  # tau docker container list
4
4
  module DockerContainerList
5
- # Backend method for docker container prune.
5
+ # List docker containers.
6
6
  def docker_container_list
7
7
  log.debug 'List docker containers'
8
8
 
@@ -25,6 +25,12 @@ module Takeltau
25
25
  Takeltau::SelfConfig.new.active
26
26
  end
27
27
 
28
+ desc 'list', 'Alias for tau ship container list'
29
+ # ship list: {Takeltau::ShipContainer#list}
30
+ def list
31
+ Takeltau::ShipContainer.new.list
32
+ end
33
+
28
34
  desc 'login', 'Alias for tau ship container login'
29
35
  # ship login: {Takeltau::ShipContainer#login}
30
36
  def login
@@ -7,9 +7,11 @@ module Takeltau
7
7
  include SystemModule
8
8
  include ConfigModule
9
9
  include DockerCheckDaemon
10
+ include DockerContainerLib
10
11
  include ShipInfoLib
11
12
  include ShipContainerCheckExisting
12
13
  include ShipContainerLib
14
+ include ShipContainerList
13
15
  include ShipContainerLogin
14
16
  include ShipContainerPodman
15
17
  include ShipContainerUpdate
@@ -17,14 +19,26 @@ module Takeltau
17
19
  desc 'check [COMMAND]', 'Check takelship container'
18
20
  subcommand 'check', ShipContainerCheck
19
21
 
22
+ #
23
+ # ship container list
24
+ #
25
+ desc 'list', 'list command'
26
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
27
+ Run list command
28
+ LONGDESC
29
+ # Run list command.
30
+ def list
31
+ say ship_container_list
32
+ end
33
+
20
34
  #
21
35
  # ship container login
22
36
  #
23
- desc 'login', 'Run login command'
37
+ desc 'login', 'Log in to a takelship'
24
38
  long_desc <<-LONGDESC.gsub("\n", "\x5")
25
- Run login command
39
+ Log in to a takelship
26
40
  LONGDESC
27
- # Run login command.
41
+ # Log in to a takelship.
28
42
  def login
29
43
  ship_container_login
30
44
  end
@@ -39,6 +39,7 @@ module ShipContainerLib
39
39
  )
40
40
  run cmd_docker_run_command
41
41
  end
42
+
42
43
  # rubocop:enable Metrics/MethodLength
43
44
  # rubocop:enable Metrics/AbcSize
44
45
 
@@ -100,4 +101,36 @@ module ShipContainerLib
100
101
  end
101
102
  publish.join(' ')
102
103
  end
104
+
105
+ # Get all takelship containers.
106
+ # @return [Array] list of takelship containers
107
+ def _ship_container_lib_get_containers
108
+ ship_name = config.active['ship_name']
109
+ log.debug "Getting all #{ship_name} containers"
110
+
111
+ cmd_docker_get = format(
112
+ config.active['cmd_docker_container_get_containers'],
113
+ docker: config.active['cmd_docker'],
114
+ docker_repo: ship_name
115
+ )
116
+
117
+ # convert stdout lines to array and return array
118
+ (run cmd_docker_get).split(/\n+/)
119
+ end
120
+
121
+ # Get the mounted takelship directory
122
+ def _ship_container_lib_get_mounted_dir
123
+ ship_hostname = _ship_container_lib_ship_hostname
124
+ log.debug 'Getting mounted directory from ' \
125
+ "takelship container \"#{ship_hostname}\""
126
+
127
+ cmd_get_mounted_dir = format(
128
+ config.active['cmd_docker_container_get_mounted_dir'],
129
+ ship_docker: config.active['cmd_ship_docker'],
130
+ docker: config.active['cmd_ship_docker'],
131
+ ship_hostname: ship_hostname
132
+ )
133
+
134
+ run cmd_get_mounted_dir
135
+ end
103
136
  end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # tau ship container list
4
+ module ShipContainerList
5
+ # List takelship containers.
6
+ def ship_container_list
7
+ log.debug 'List takelship containers'
8
+
9
+ return false unless docker_check_daemon 'cmd_ship_docker'
10
+
11
+ _ship_container_list_get_inventory.to_yaml
12
+ end
13
+
14
+ private
15
+
16
+ # Get the current inventory
17
+ def _ship_container_list_get_inventory
18
+ ship_name = config.active['ship_name']
19
+ inventory = _ship_container_list_new_inventory ship_name
20
+ _ship_container_lib_get_containers.each do |container|
21
+ name = _docker_container_lib_get_container_name_by_id container
22
+ dir = _ship_container_lib_get_mounted_dir.strip
23
+ inventory[ship_name]['hosts'] << { name => dir }
24
+ end
25
+ inventory
26
+ end
27
+
28
+ # Create a new inventory
29
+ def _ship_container_list_new_inventory(ship_name)
30
+ {
31
+ ship_name => {
32
+ 'hosts' => []
33
+ }
34
+ }
35
+ end
36
+ end
data/lib/takeltau/version CHANGED
@@ -1 +1 @@
1
- 0.43.14
1
+ 0.43.15
data/lib/takeltau.rb CHANGED
@@ -88,6 +88,7 @@ require_relative 'takeltau/ship/container/lib'
88
88
  require_relative 'takeltau/ship/container/check/existing'
89
89
  require_relative 'takeltau/ship/container/check/cli'
90
90
  require_relative 'takeltau/ship/info/lib'
91
+ require_relative 'takeltau/ship/container/list'
91
92
  require_relative 'takeltau/ship/container/login'
92
93
  require_relative 'takeltau/ship/container/podman'
93
94
  require_relative 'takeltau/ship/container/update'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: takeltau
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.43.14
4
+ version: 0.43.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takelwerk
@@ -290,6 +290,7 @@ files:
290
290
  - lib/takeltau/ship/container/check/existing.rb
291
291
  - lib/takeltau/ship/container/cli.rb
292
292
  - lib/takeltau/ship/container/lib.rb
293
+ - lib/takeltau/ship/container/list.rb
293
294
  - lib/takeltau/ship/container/login.rb
294
295
  - lib/takeltau/ship/container/podman.rb
295
296
  - lib/takeltau/ship/container/update.rb