takeltau 0.43.19 → 0.43.21

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: 1b433846c95247973be471defc8590126e5271d13069fa300f0abbd1f5c5e580
4
- data.tar.gz: a94d442031c78bddb68f2789732f5f98ddbbbcd7819b59053becc20a218d5ded
3
+ metadata.gz: 832353b2ae214df0ae1a9e9ecfe3ea6a7f1f7999dbddf3733f07603833942551
4
+ data.tar.gz: b3ecded0a2496dca08ad07c8ca0966400a3fdbf004b69030ee5473cda1992072
5
5
  SHA512:
6
- metadata.gz: 8e334b9e260c0cc13ac64dd0dc1caa0aff76bcb8d9d67ce4ca5143bacb6447ee9e17c5ae20718b6532ffb226c66397048a26cd08b0b0462f1a88bb5b49f4a243
7
- data.tar.gz: c7059141332e62277af38fabb1aa411f1e260470cea3bee256d4812e053a26d94e155c37ae5829bc176cc37576cf70a00c40704214bed5163205108509c792fd
6
+ metadata.gz: 8919bbdb435d07d30fd983876e2b64aa86917c4ca02a27a8dd0a7d74a7430e1afcfe1f4aece360e91bf380dc6d974954240125071cda021e6e83afe7cfed529a
7
+ data.tar.gz: b24bcc03bdd925973d9f6f77de6e0d02f50e25f1e9706e8e5b826737c212ae57609dad2e7768a48e4d18032f1b719da907821863e5867eacfb4a785543165358
@@ -64,6 +64,7 @@ cmd_ship_docker_check: 'docker --version'
64
64
  cmd_ship_project_start_docker_run_nonprivileged: '%{ship_docker} run --rm --interactive %{image} %{command}'
65
65
  cmd_ship_project_start_docker_run_privileged: '%{ship_docker} run --privileged --rm --detach --name %{ship_hostname} --hostname %{ship_hostname} %{ship_env} %{ports} --volume ./%{ship_data_dir}:/home/podman/takelship %{image} %{command}'
66
66
  cmd_ship_project_start_docker_stop: '%{ship_docker} stop %{ship_hostname}'
67
+ cmd_ship_project_follow_logs: 'pod --workdir /home/podman/takelship/compose/projects/%{project} podman-compose logs --follow'
67
68
  docker_container_check_matrjoschka: 'true'
68
69
  docker_debug: 'ansible/roles/takel_takelage/files/takelscripts'
69
70
  docker_entrypoint_extra: ''
@@ -38,6 +38,12 @@ module Takeltau
38
38
  Takeltau::ShipContainer.new.list
39
39
  end
40
40
 
41
+ desc 'logs [PROJECT]', 'Alias for tau ship project logs'
42
+ # ship logs: {Takeltau::ShipProject#logs}
43
+ def logs(project = 'default')
44
+ Takeltau::ShipProject.new.logs(project)
45
+ end
46
+
41
47
  desc 'ls', 'Alias for tau ship container list'
42
48
  # ship list: {Takeltau::ShipContainer#list}
43
49
  def ls
@@ -40,7 +40,7 @@ module ShipContainerLib
40
40
  # rubocop:enable Metrics/AbcSize
41
41
 
42
42
  # Run a docker command in a takelship container
43
- def _ship_container_lib_docker(command, tty = '--tty')
43
+ def _ship_container_lib_docker_exec(command, tty = '--tty')
44
44
  cmd_docker_run_command = format(
45
45
  config.active['cmd_ship_container_docker'],
46
46
  ship_docker: config.active['cmd_ship_docker'],
@@ -7,6 +7,6 @@ module ShipContainerLogin
7
7
  return false unless ship_container_check_existing
8
8
 
9
9
  command_after_login = config.active['cmd_ship_container_login']
10
- _ship_container_lib_docker command_after_login, '--tty'
10
+ _ship_container_lib_docker_exec command_after_login, '--tty'
11
11
  end
12
12
  end
@@ -6,6 +6,6 @@ module ShipContainerPodman
6
6
  def ship_container_podman(args)
7
7
  return false unless ship_container_check_existing
8
8
 
9
- _ship_container_lib_docker "pod podman #{args.join(' ')}"
9
+ _ship_container_lib_docker_exec "pod podman #{args.join(' ')}"
10
10
  end
11
11
  end
@@ -33,6 +33,14 @@ module ShipInfoLib
33
33
  _parse_yaml _ship_container_lib_docker_nonprivileged(command) || {}
34
34
  end
35
35
 
36
+ def _ship_info_lib_get_project(project, takelship)
37
+ return '' unless takelship.key? 'default_project'
38
+
39
+ project = config.active['ship_default_project'] if project == 'default'
40
+ project = takelship['default_project'] if project == 'default'
41
+ project
42
+ end
43
+
36
44
  def _ship_info_lib_valid_project?(takelship, project)
37
45
  valid_project = false
38
46
  takelship_projects = takelship['projects']
@@ -13,6 +13,7 @@ module Takeltau
13
13
  include ShipContainerStop
14
14
  include ShipInfoLib
15
15
  include ShipProjectList
16
+ include ShipProjectLogs
16
17
  include ShipProjectStart
17
18
 
18
19
  #
@@ -20,19 +21,31 @@ module Takeltau
20
21
  #
21
22
  desc 'list', 'List projects'
22
23
  long_desc <<-LONGDESC.gsub("\n", "\x5")
23
- List projects
24
+ List projects
24
25
  LONGDESC
25
26
  # List projects.
26
27
  def list
27
28
  ship_project_list
28
29
  end
29
30
 
31
+ #
32
+ # ship container logs
33
+ #
34
+ desc 'logs [PROJECT]', 'Follow logs of project [PROJECT]'
35
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
36
+ Follow logs of project [PROJECT]
37
+ LONGDESC
38
+ # logs projects.
39
+ def logs(project = 'default')
40
+ ship_project_logs project
41
+ end
42
+
30
43
  #
31
44
  # ship container start
32
45
  #
33
46
  desc 'start [PROJECT]', 'Start project [PROJECT] in a takelship container'
34
47
  long_desc <<-LONGDESC.gsub("\n", "\x5")
35
- Start project [PROJECT] in a takelship container
48
+ Start project [PROJECT] in a takelship container
36
49
  LONGDESC
37
50
  # Run command in docker container.
38
51
  def start(project = 'default')
@@ -44,7 +57,7 @@ module Takeltau
44
57
  #
45
58
  desc 'stop', 'Stop a takelship container'
46
59
  long_desc <<-LONGDESC.gsub("\n", "\x5")
47
- Stop a takelship container
60
+ Stop a takelship container
48
61
  LONGDESC
49
62
  # Stop a takelship container.
50
63
  def stop
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ # tau ship project logs
4
+ module ShipProjectLogs
5
+ # Start a takelship
6
+ def ship_project_logs(project)
7
+ return unless ship_container_check_existing
8
+
9
+ takelship = _ship_info_lib_get_takelshipinfo
10
+ project = _ship_info_lib_get_project(project, takelship)
11
+
12
+ return false unless _ship_info_lib_valid_project? takelship, project
13
+
14
+ log.debug "Following logs of takelship project \"#{project}\""
15
+ _ship_project_logs_follow_logs project
16
+ end
17
+
18
+ private
19
+
20
+ def _ship_project_logs_follow_logs(project)
21
+ cmd_follow_logs = format(
22
+ config.active['cmd_ship_project_follow_logs'],
23
+ project: project
24
+ )
25
+ _ship_container_lib_docker_exec cmd_follow_logs
26
+ end
27
+ end
@@ -9,11 +9,7 @@ module ShipProjectStart
9
9
  return false if ship_container_check_existing
10
10
 
11
11
  takelship = _ship_info_lib_get_takelshipinfo
12
-
13
- return false unless takelship.key? 'default_project'
14
-
15
- project = config.active['ship_default_project'] if project == 'default'
16
- project = takelship['default_project'] if project == 'default'
12
+ project = _ship_info_lib_get_project(project, takelship)
17
13
 
18
14
  return false unless _ship_info_lib_valid_project? takelship, project
19
15
 
data/lib/takeltau/version CHANGED
@@ -1 +1 @@
1
- 0.43.19
1
+ 0.43.21
data/lib/takeltau.rb CHANGED
@@ -97,6 +97,7 @@ require_relative 'takeltau/ship/container/update'
97
97
  require_relative 'takeltau/ship/container/cli'
98
98
  require_relative 'takeltau/ship/info/cli'
99
99
  require_relative 'takeltau/ship/project/list'
100
+ require_relative 'takeltau/ship/project/logs'
100
101
  require_relative 'takeltau/ship/project/start'
101
102
  require_relative 'takeltau/ship/project/cli'
102
103
  require_relative 'takeltau/ship/cli'
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.19
4
+ version: 0.43.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takelwerk
@@ -300,6 +300,7 @@ files:
300
300
  - lib/takeltau/ship/info/lib.rb
301
301
  - lib/takeltau/ship/project/cli.rb
302
302
  - lib/takeltau/ship/project/list.rb
303
+ - lib/takeltau/ship/project/logs.rb
303
304
  - lib/takeltau/ship/project/start.rb
304
305
  - lib/takeltau/version
305
306
  homepage: https://github.com/takelwerk/takelage-cli