takelage 0.14.5 → 0.17.1

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: efef3f7c259afc5739386addf7cc6dd0c81fd9c87924dea67db84e6b9f8eb27d
4
- data.tar.gz: ed51faa6153d22eacc379bb951afe48cf5730acec70efbb2981e1182b235b39f
3
+ metadata.gz: cc2254d636048ddf28ea83ce7862973ec8c04fb47dd445d7e98543d11c0b0d9f
4
+ data.tar.gz: 4d5d1d664d8984321e3c7c9199a22e390ac2674b931f86d2a054c95da003ecee
5
5
  SHA512:
6
- metadata.gz: bb475d9cb8915cdd23cc5cff5130855f82fae30108e4cf2383eaae3595070261a5304bdca02e759c6c401f339518962942450853e5e2e800e5f108f1f6891057
7
- data.tar.gz: 6dc3c756110ce72b726e62a32590575ed56120dbe904be4f90cd3652184816481bf02956db5b75ebe500c320ce413e54eaa22d02c469ec7250b8b4dcd3d4cffe
6
+ metadata.gz: fd2a2b107c85b35b49f4fe3e8b3b53dc93d4209e20ffda644fbab530a60374d5d43634b2032f07dbfecf1e89eabe05b92a5e7b5af1f09c5a93e7ea3d09d32181
7
+ data.tar.gz: 6adda557b7f192298dd2512de7bf470dcb5ac4dbf8ae37cbf9e7a8c0ed1af20d5452b90ce1a0ae1cb0ad6f54d70230b114e16721e9fb8e8ba2f2c31d88978c60
data/README.md CHANGED
@@ -64,8 +64,8 @@ tau [docker container check orphaned](features/takelage/docker/docker.container.
64
64
  tau [docker container command](features/takelage/docker/docker.container.command.feature) [CMD] | Run [CMD] in a docker container
65
65
  tau [docker container daemon](features/takelage/docker/docker.container.daemon.feature) | Run docker container in daemon mode
66
66
  tau [docker container login](features/takelage/docker/docker.container.login.feature) | Log in to latest local docker container
67
- tau [docker container nuke](features/takelage/docker/docker.container.nuke.feature) | Remove all docker containers
68
- tau [docker container purge](features/takelage/docker/docker.container.purge.feature) | Remove orphaned docker containers
67
+ tau [docker container clean](features/takelage/docker/docker.container.clean.feature) | Remove all docker containers
68
+ tau [docker container prune](features/takelage/docker/docker.container.prune.feature) | Remove orphaned docker containers
69
69
  tau [docker image check outdated](features/takelage/docker/docker.image.check.outdated.feature) | Check if a docker image is outdated
70
70
  tau [docker image tag check local](features/takelage/docker/docker.image.tag.check.local.feature) [TAG] | Check if local docker image [TAG] exists
71
71
  tau [docker image tag check remote](features/takelage/docker/docker.image.tag.check.remote.feature) [TAG] | Check if remote docker image [TAG] exists
@@ -94,11 +94,11 @@ tau config | Alias for tau [self config active](features/takelage/self/self.conf
94
94
  tau copy [DIR] [SCOPE] | Alias for tau [bit clipboard copy](features/takelage/bit/bit.clipboard.copy.feature)
95
95
  tau list | Alias for tau [self list](features/takelage/self/self.list.feature)
96
96
  tau login | Alias for tau [docker container login](features/takelage/docker/docker.container.login.feature)
97
- tau nuke | Alias for tau [docker container nuke](features/takelage/docker/docker.container.nuke.feature)
97
+ tau clean | Alias for tau [docker container clean](features/takelage/docker/docker.container.clean.feature)
98
98
  tau paste [COMPONENT] [DIR] | Alias for tau [bit clipboard paste](features/takelage/bit/bit.clipboard.paste.feature)
99
99
  tau project | Alias for tau [info project active](features/takelage/info/info.project.active.feature)
100
100
  tau pull | Alias for tau [bit clipboard pull](features/takelage/bit/bit.clipboard.pull.feature)
101
- tau purge | Alias for tau [docker container purge](features/takelage/docker/docker.container.purge.feature)
101
+ tau prune | Alias for tau [docker container prune](features/takelage/docker/docker.container.prune.feature)
102
102
  tau push | Alias for tau [bit clipboard push](features/takelage/bit/bit.clipboard.push.feature)
103
103
  tau update | Alias for tau [docker image update](features/takelage/docker/docker.image.update.feature)
104
104
  tau version | Alias for tau [self version](features/takelage/self/self.version.feature)
@@ -70,8 +70,8 @@ require_relative 'takelage/docker/container/lib'
70
70
  require_relative 'takelage/docker/container/command'
71
71
  require_relative 'takelage/docker/container/daemon'
72
72
  require_relative 'takelage/docker/container/login'
73
- require_relative 'takelage/docker/container/nuke'
74
- require_relative 'takelage/docker/container/purge'
73
+ require_relative 'takelage/docker/container/clean'
74
+ require_relative 'takelage/docker/container/prune'
75
75
  require_relative 'takelage/docker/container/cli'
76
76
  require_relative 'takelage/docker/cli'
77
77
  require_relative 'takelage/info/project/cli'
@@ -175,10 +175,10 @@ module Takelage
175
175
  Takelage::Self.new.list
176
176
  end
177
177
 
178
- desc 'nuke', 'Alias for tau docker container nuke'
179
- # takelage nuke: {takelage::DockerContainer#nuke}
180
- def nuke
181
- Takelage::DockerContainer.new.nuke
178
+ desc 'clean', 'Alias for tau docker container clean'
179
+ # takelage clean: {takelage::DockerContainer#clean}
180
+ def clean
181
+ Takelage::DockerContainer.new.clean
182
182
  end
183
183
 
184
184
  desc 'paste [COMPONENT] [DIR]', 'Alias for tau bit clipboard paste'
@@ -193,10 +193,10 @@ module Takelage
193
193
  Takelage::BitClipboard.new.pull
194
194
  end
195
195
 
196
- desc 'purge', 'Alias for tau docker container purge'
197
- # takelage purge: {takelage::DockerContainer#purge}
198
- def purge
199
- Takelage::DockerContainer.new.purge
196
+ desc 'prune', 'Alias for tau docker container prune'
197
+ # takelage prune: {takelage::DockerContainer#prune}
198
+ def prune
199
+ Takelage::DockerContainer.new.prune
200
200
  end
201
201
 
202
202
  desc 'push', 'Alias for tau bit clipboard push'
@@ -106,25 +106,6 @@ module BitClipboardLib
106
106
  false
107
107
  end
108
108
 
109
- # Genereate .gitignore if bitignore is present
110
- def _bit_clipboard_lib_handle_bitignore
111
- log.debug 'Handling bitgnore files'
112
-
113
- # find all bitgnore files
114
- Dir.glob('./**/bitignore').each do |file|
115
- # get directory of bitignore file
116
- dir = File.dirname file
117
-
118
- # build gitignore filepath
119
- gitignore_file = "#{dir}/.gitignore"
120
-
121
- unless File.exist? gitignore_file
122
- log.debug "Creating \".gitignore\" in \"#{dir}\""
123
- File.open(gitignore_file, 'w') { |gitignore| gitignore.write('*') }
124
- end
125
- end
126
- end
127
-
128
109
  # Generate bit component ID.
129
110
  def _bit_clipboard_lib_id(name)
130
111
  id = ''
@@ -11,7 +11,6 @@ module BitClipboardPaste
11
11
  return false unless _bit_clipboard_paste_cid_exists? cid
12
12
 
13
13
  _bit_clipboard_paste_import_cid cid, dir
14
- _bit_clipboard_lib_handle_bitignore
15
14
  _bit_clipbpard_lib_remove_bit_artifacts
16
15
  _bit_clipboard_lib_sync_workspace
17
16
 
@@ -10,7 +10,6 @@ module BitClipboardPull
10
10
 
11
11
  _bit_clipboard_pull_import_all
12
12
  _bit_clipboard_pull_checkout_all
13
- _bit_clipboard_lib_handle_bitignore
14
13
  _bit_clipbpard_lib_remove_bit_artifacts
15
14
  _bit_clipboard_lib_sync_workspace
16
15
 
@@ -28,7 +28,7 @@ cmd_docker_check_running_docker_info: 'docker info'
28
28
  cmd_docker_container_check_existing_docker_ps: 'docker ps --filter name=^%{container}$ --quiet'
29
29
  cmd_docker_container_check_network_docker_network: 'docker network ls --quiet --filter name=^%{network}$'
30
30
  cmd_docker_container_check_orphaned_docker_exec: 'docker exec --interactive %{container} ps a'
31
- cmd_docker_container_create: 'docker run --detach --env TAKELAGE_PROJECT_BASE_DIR=%{workdir} --env TZ=%{timezone} --hostname %{container} --name %{container} --network %{container} --privileged --rm --shm-size %{shmsize} --tty --volume %{dockersock}:/var/run/docker.sock --volume %{homedir}:/hostdir --volume %{workdir}:/project %{volume_dev} --workdir /project %{addhost} %{dockerrun_options} %{image} %{entrypoint} --gid %{gid} --home %{homedir} --uid %{uid} --username %{username} --gpg_agent_port %{gpg_agent_port} --gpg_ssh_agent_port %{gpg_ssh_agent_port} --extra=%{extra} %{entrypoint_options}'
31
+ cmd_docker_container_create: 'docker run --detach --env TAKELAGE_PROJECT_BASE_DIR=%{workdir} --env TZ=%{timezone} --hostname %{container} --name %{container} --network %{container} --privileged --rm --shm-size %{shmsize} --tty --volume %{dockersock}:/var/run/docker.sock --volume %{homedir}:/hostdir --volume %{workdir}:/project %{volume_dev} --workdir /project %{addhost} %{docker_run_options} %{image} %{entrypoint} --gid %{gid} --home %{homedir} --uid %{uid} --username %{username} --gpg_agent_port %{gpg_agent_port} --gpg_ssh_agent_port %{gpg_ssh_agent_port} --extra=%{extra} %{entrypoint_options}'
32
32
  cmd_docker_container_create_network: 'docker network create %{network}'
33
33
  cmd_docker_container_enter_container: 'docker exec --interactive --tty %{container} %{loginpoint} --username %{username}'
34
34
  cmd_docker_container_get_container_name: 'docker ps --filter id=%{container} --format "{{.Names}}"'
@@ -1,33 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # takelage docker container nuke
4
- module DockerContainerNuke
5
- # Backend method for docker container nuke.
6
- def docker_container_nuke
3
+ # takelage docker container clean
4
+ module DockerContainerClean
5
+ # Backend method for docker container clean.
6
+ def docker_container_clean
7
7
  log.debug 'Removing all docker containers'
8
8
 
9
9
  return false unless docker_check_running
10
10
 
11
- return false if _docker_container_nuke_harakiri?
11
+ return false if _docker_container_clean_harakiri?
12
12
 
13
- networks = _docker_container_nuke_kill_existing_containers
13
+ networks = _docker_container_clean_kill_existing_containers
14
14
  _docker_container_lib_remove_networks networks
15
15
  end
16
16
 
17
17
  private
18
18
 
19
- # Check if we are running tau nuke inside a takelage container
20
- def _docker_container_nuke_harakiri?
19
+ # Check if we are running tau clean inside a takelage container
20
+ def _docker_container_clean_harakiri?
21
21
  hostname = ENV['HOSTNAME'] || ''
22
22
  return false unless hostname.start_with? "#{@docker_repo}_"
23
23
 
24
- log.error "Please run \"tau nuke\" outside of #{@docker_repo} containers"
25
- log.info "Run \"tau purge\" to remove orphaned #{@docker_repo} containers"
24
+ log.error "Please run \"tau clean\" outside of #{@docker_repo} containers"
25
+ log.info "Run \"tau prune\" to remove orphaned #{@docker_repo} containers"
26
26
  true
27
27
  end
28
28
 
29
29
  # Kill all docker containers and return list of networks
30
- def _docker_container_nuke_kill_existing_containers
30
+ def _docker_container_clean_kill_existing_containers
31
31
  networks = []
32
32
  _docker_container_lib_get_containers.each do |container|
33
33
  name = _docker_container_lib_get_container_name_by_id container
@@ -14,8 +14,8 @@ module Takelage
14
14
  include DockerContainerCommand
15
15
  include DockerContainerDaemon
16
16
  include DockerContainerLogin
17
- include DockerContainerNuke
18
- include DockerContainerPurge
17
+ include DockerContainerClean
18
+ include DockerContainerPrune
19
19
  include DockerImageTagLatestLocal
20
20
  include DockerImageTagListLocal
21
21
  include DockerImageTagCheckLocal
@@ -46,6 +46,18 @@ module Takelage
46
46
  desc 'check [COMMAND]', 'Check docker container'
47
47
  subcommand 'check', DockerContainerCheck
48
48
 
49
+ #
50
+ # docker container clean
51
+ #
52
+ desc 'clean', 'Remove all docker containers'
53
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
54
+ Remove all docker containers
55
+ LONGDESC
56
+ # Remove all docker containers.
57
+ def clean
58
+ docker_container_clean
59
+ end
60
+
49
61
  #
50
62
  # docker container command
51
63
  #
@@ -73,7 +85,7 @@ module Takelage
73
85
  #
74
86
  # docker container login
75
87
  #
76
- option :development,
88
+ option :debug,
77
89
  aliases: 'd',
78
90
  type: :boolean,
79
91
  default: false,
@@ -88,27 +100,15 @@ module Takelage
88
100
  end
89
101
 
90
102
  #
91
- # docker container nuke
92
- #
93
- desc 'nuke', 'Remove all docker containers'
94
- long_desc <<-LONGDESC.gsub("\n", "\x5")
95
- Remove all docker containers
96
- LONGDESC
97
- # Remove all docker containers.
98
- def nuke
99
- docker_container_nuke
100
- end
101
-
102
- #
103
- # docker container purge
103
+ # docker container prune
104
104
  #
105
- desc 'purge', 'Remove orphaned docker containers'
105
+ desc 'prune', 'Remove orphaned docker containers'
106
106
  long_desc <<-LONGDESC.gsub("\n", "\x5")
107
107
  Remove orphaned docker containers
108
108
  LONGDESC
109
109
  # Remove orphaned docker containers.
110
- def purge
111
- docker_container_purge
110
+ def prune
111
+ docker_container_prune
112
112
  end
113
113
  end
114
114
  end
@@ -6,6 +6,7 @@ module DockerContainerLib
6
6
  private
7
7
 
8
8
  # Create docker container and network.
9
+ # rubocop:disable Style/IfUnlessModifier
9
10
  def _docker_container_lib_create_net_and_ctr(name)
10
11
  unless docker_container_check_network name
11
12
  _docker_container_lib_create_network name
@@ -15,8 +16,10 @@ module DockerContainerLib
15
16
 
16
17
  _docker_container_lib_create_container name
17
18
  end
19
+ # rubocop:enable Style/IfUnlessModifier
18
20
 
19
21
  # Remove docker networks.
22
+ # rubocop:disable Style/IfUnlessModifier
20
23
  def _docker_container_lib_remove_networks(networks)
21
24
  networks.each do |network|
22
25
  if docker_container_check_network network
@@ -24,6 +27,7 @@ module DockerContainerLib
24
27
  end
25
28
  end
26
29
  end
30
+ # rubocop:enable Style/IfUnlessModifier
27
31
 
28
32
  # Create docker network.
29
33
  def _docker_container_lib_create_network(network)
@@ -52,6 +56,7 @@ module DockerContainerLib
52
56
  # Create docker container.
53
57
  # rubocop:disable Metrics/MethodLength
54
58
  # rubocop:disable Metrics/AbcSize
59
+ # rubocop:disable Style/IfUnlessModifier
55
60
  def _docker_container_lib_create_container(container)
56
61
  log.debug "Creating container \"#{container}\""
57
62
 
@@ -68,8 +73,8 @@ module DockerContainerLib
68
73
  docker_debug = config.active['docker_debug']
69
74
  entrypoint = '/entrypoint.py '
70
75
  volume_dev = ''
71
- if options[:development]
72
- entrypoint += ' --debug '
76
+ if options[:debug]
77
+ entrypoint = '/debug/entrypoint.py --debug '
73
78
  volume_dev = "--volume #{@workdir}/#{docker_debug}:/debug "
74
79
  end
75
80
 
@@ -77,7 +82,7 @@ module DockerContainerLib
77
82
  config.active['cmd_docker_container_create'],
78
83
  addhost: addhost,
79
84
  container: container,
80
- dockerrun_options: config.active['docker_run_options'],
85
+ docker_run_options: config.active['docker_run_options'],
81
86
  dockersock: '/var/run/docker.sock',
82
87
  entrypoint: entrypoint,
83
88
  entrypoint_options: config.active['docker_entrypoint_options'],
@@ -97,6 +102,7 @@ module DockerContainerLib
97
102
 
98
103
  try cmd_docker_create
99
104
  end
105
+ # rubocop:enable Style/IfUnlessModifier
100
106
  # rubocop:enable Metrics/AbcSize
101
107
  # rubocop:enable Metrics/MethodLength
102
108
 
@@ -34,7 +34,7 @@ module DockerContainerLogin
34
34
  log.debug "Entering container \"#{container}\""
35
35
 
36
36
  loginpoint = '/loginpoint.py'
37
- loginpoint += ' --debug ' if options[:development]
37
+ loginpoint = '/debug/loginpoint.py --debug ' if options[:debug]
38
38
 
39
39
  format(
40
40
  config.active['cmd_docker_container_enter_container'],
@@ -1,21 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # takelage docker container purge
4
- module DockerContainerPurge
5
- # Backend method for docker container purge.
6
- def docker_container_purge
3
+ # takelage docker container prune
4
+ module DockerContainerPrune
5
+ # Backend method for docker container prune.
6
+ def docker_container_prune
7
7
  log.debug 'Removing orphaned docker containers'
8
8
 
9
9
  return false unless docker_check_running
10
10
 
11
- networks = _docker_container_purge_kill_orphaned_containers
11
+ networks = _docker_container_prune_kill_orphaned_containers
12
12
  _docker_container_lib_remove_networks networks
13
13
  end
14
14
 
15
15
  private
16
16
 
17
17
  # Kill orphaned docker containers and return list of networks
18
- def _docker_container_purge_kill_orphaned_containers
18
+ def _docker_container_prune_kill_orphaned_containers
19
19
  networks = []
20
20
 
21
21
  _docker_container_lib_get_containers.each do |container|
@@ -38,16 +38,33 @@ module ConfigModule
38
38
  def configured?(config_keys)
39
39
  @configured = true
40
40
  config_keys.each do |config_key|
41
- unless TakelageConfig.instance.active.key? config_key
42
- log.error "Please configure \"#{config_key}\""
43
- @configured = false
44
- end
41
+ next unless _check_key_defined? config_key
42
+ next unless _check_key_set? config_key
45
43
  end
46
44
  @configured
47
45
  end
48
46
 
49
47
  private
50
48
 
49
+ # Check if config key is defined.
50
+ def _check_key_defined?(config_key)
51
+ return true if TakelageConfig.instance.active.key? config_key
52
+
53
+ log.error "Undefined config key. Please configure \"#{config_key}\""
54
+ @configured = false
55
+ false
56
+ end
57
+
58
+ # Check if config key is nil or empty
59
+ def _check_key_set?(config_key)
60
+ takel_config_key = TakelageConfig.instance.active[config_key]
61
+ return true unless takel_config_key.nil? || takel_config_key.empty?
62
+
63
+ log.error "Unset config key. Please configure \"#{config_key}\""
64
+ @configured = false
65
+ false
66
+ end
67
+
51
68
  # Read default config file in lib.
52
69
  def _config_read_default
53
70
  default_file = File.expand_path("#{File.dirname(__FILE__)}/../default.yml")
@@ -1 +1 @@
1
- 0.14.5
1
+ 0.17.1
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.14.5
4
+ version: 0.17.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geospin
@@ -228,13 +228,13 @@ files:
228
228
  - lib/takelage/docker/container/check/existing.rb
229
229
  - lib/takelage/docker/container/check/network.rb
230
230
  - lib/takelage/docker/container/check/orphaned.rb
231
+ - lib/takelage/docker/container/clean.rb
231
232
  - lib/takelage/docker/container/cli.rb
232
233
  - lib/takelage/docker/container/command.rb
233
234
  - lib/takelage/docker/container/daemon.rb
234
235
  - lib/takelage/docker/container/lib.rb
235
236
  - lib/takelage/docker/container/login.rb
236
- - lib/takelage/docker/container/nuke.rb
237
- - lib/takelage/docker/container/purge.rb
237
+ - lib/takelage/docker/container/prune.rb
238
238
  - lib/takelage/docker/image/check/cli.rb
239
239
  - lib/takelage/docker/image/check/outdated.rb
240
240
  - lib/takelage/docker/image/cli.rb