takeltau 0.43.14 → 0.43.16
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/lib/takeltau/default.yml +2 -1
- data/lib/takeltau/docker/check/daemon.rb +1 -1
- data/lib/takeltau/docker/container/list.rb +1 -1
- data/lib/takeltau/ship/cli.rb +12 -0
- data/lib/takeltau/ship/container/cli.rb +17 -3
- data/lib/takeltau/ship/container/lib.rb +33 -0
- data/lib/takeltau/ship/container/list.rb +36 -0
- data/lib/takeltau/version +1 -1
- data/lib/takeltau.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa3550300f915f6a1a05dc9249f80d11638662bca1be39f73b3bff520c284f6e
|
4
|
+
data.tar.gz: 43e6b6e14a75cbdcf77e314c03203d419ae938c6b7b0cf0064050bdaf59efd42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa2a089bf563ad78fe96f858e14dd4e04757e0f59de0bf76ac76f32c4e1d7d379e078ef73054b25ca955869c12bceab04155ce6e63759ab32ff09685e655752b
|
7
|
+
data.tar.gz: 25ee8bc050a0a49d4e757d743bbafb45a4dffde9e1d2f827cd74e9b28a644eab7d21101fbbc137d05f98591a803446d44cc22b40948e3a66dbe600b003be37a6
|
data/lib/takeltau/default.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
2
|
cmd_docker: 'docker'
|
3
|
-
|
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['
|
17
|
+
config.active['cmd_docker_check_daemon_docker_version'],
|
18
18
|
docker: config.active[docker]
|
19
19
|
)
|
20
20
|
status = try cmd_docker_info
|
data/lib/takeltau/ship/cli.rb
CHANGED
@@ -25,6 +25,18 @@ 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
|
+
|
34
|
+
desc 'ls', 'Alias for tau ship container list'
|
35
|
+
# ship list: {Takeltau::ShipContainer#list}
|
36
|
+
def ls
|
37
|
+
Takeltau::ShipContainer.new.list
|
38
|
+
end
|
39
|
+
|
28
40
|
desc 'login', 'Alias for tau ship container login'
|
29
41
|
# ship login: {Takeltau::ShipContainer#login}
|
30
42
|
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', '
|
37
|
+
desc 'login', 'Log in to a takelship'
|
24
38
|
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
25
|
-
|
39
|
+
Log in to a takelship
|
26
40
|
LONGDESC
|
27
|
-
#
|
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.
|
1
|
+
0.43.16
|
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.
|
4
|
+
version: 0.43.16
|
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
|