takelage 0.14.4 → 0.17.0
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/README.md +4 -4
- data/lib/takelage.rb +10 -10
- data/lib/takelage/bit/clipboard/lib.rb +0 -19
- data/lib/takelage/bit/clipboard/paste.rb +0 -1
- data/lib/takelage/bit/clipboard/pull.rb +0 -1
- data/lib/takelage/docker/container/{nuke.rb → clean.rb} +11 -11
- data/lib/takelage/docker/container/cli.rb +11 -11
- data/lib/takelage/docker/container/lib.rb +2 -2
- data/lib/takelage/docker/container/login.rb +1 -1
- data/lib/takelage/docker/container/{purge.rb → prune.rb} +6 -6
- data/lib/takelage/lib/config.rb +21 -4
- data/lib/takelage/version +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7143b5ce147127b3a0cf4ebf69dcb673e0e031fd163c3992fa602a5d03293b3
|
4
|
+
data.tar.gz: 545368ec9301049e782727636a3fd281c332d190990337b989ea652a1b8e58ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eaad0481173e35a0146e02c69929938331d23527e1c1fb809d8df214b51f8d319e272d7ae2efda2017bd113e4bc6b15ea73b89aac48523b04fc8456e2ef25634
|
7
|
+
data.tar.gz: d35e4e3fa76dd58740f719e5ac7aad48ae27d1094becfbffefffdc6188fa1ab141c0d5a0392e3a58dcafa190d5e65063e1d160756a9f696e2cd8b70bb2065bd8
|
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
|
68
|
-
tau [docker container
|
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
|
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
|
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)
|
data/lib/takelage.rb
CHANGED
@@ -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/
|
74
|
-
require_relative 'takelage/docker/container/
|
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 '
|
179
|
-
# takelage
|
180
|
-
def
|
181
|
-
Takelage::DockerContainer.new.
|
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 '
|
197
|
-
# takelage
|
198
|
-
def
|
199
|
-
Takelage::DockerContainer.new.
|
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 = ''
|
@@ -1,33 +1,33 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# takelage docker container
|
4
|
-
module
|
5
|
-
# Backend method for docker container
|
6
|
-
def
|
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
|
11
|
+
return false if _docker_container_clean_harakiri?
|
12
12
|
|
13
|
-
networks =
|
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
|
20
|
-
def
|
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
|
25
|
-
log.info "Run \"tau
|
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
|
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
|
18
|
-
include
|
17
|
+
include DockerContainerClean
|
18
|
+
include DockerContainerPrune
|
19
19
|
include DockerImageTagLatestLocal
|
20
20
|
include DockerImageTagListLocal
|
21
21
|
include DockerImageTagCheckLocal
|
@@ -73,7 +73,7 @@ module Takelage
|
|
73
73
|
#
|
74
74
|
# docker container login
|
75
75
|
#
|
76
|
-
option :
|
76
|
+
option :debug,
|
77
77
|
aliases: 'd',
|
78
78
|
type: :boolean,
|
79
79
|
default: false,
|
@@ -88,27 +88,27 @@ module Takelage
|
|
88
88
|
end
|
89
89
|
|
90
90
|
#
|
91
|
-
# docker container
|
91
|
+
# docker container clean
|
92
92
|
#
|
93
|
-
desc '
|
93
|
+
desc 'clean', 'Remove all docker containers'
|
94
94
|
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
95
95
|
Remove all docker containers
|
96
96
|
LONGDESC
|
97
97
|
# Remove all docker containers.
|
98
|
-
def
|
99
|
-
|
98
|
+
def clean
|
99
|
+
docker_container_clean
|
100
100
|
end
|
101
101
|
|
102
102
|
#
|
103
|
-
# docker container
|
103
|
+
# docker container prune
|
104
104
|
#
|
105
|
-
desc '
|
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
|
111
|
-
|
110
|
+
def prune
|
111
|
+
docker_container_prune
|
112
112
|
end
|
113
113
|
end
|
114
114
|
end
|
@@ -68,8 +68,8 @@ module DockerContainerLib
|
|
68
68
|
docker_debug = config.active['docker_debug']
|
69
69
|
entrypoint = '/entrypoint.py '
|
70
70
|
volume_dev = ''
|
71
|
-
if options[:
|
72
|
-
entrypoint
|
71
|
+
if options[:debug]
|
72
|
+
entrypoint = '/debug/entrypoint.py --debug '
|
73
73
|
volume_dev = "--volume #{@workdir}/#{docker_debug}:/debug "
|
74
74
|
end
|
75
75
|
|
@@ -34,7 +34,7 @@ module DockerContainerLogin
|
|
34
34
|
log.debug "Entering container \"#{container}\""
|
35
35
|
|
36
36
|
loginpoint = '/loginpoint.py'
|
37
|
-
loginpoint
|
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
|
4
|
-
module
|
5
|
-
# Backend method for docker container
|
6
|
-
def
|
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 =
|
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
|
18
|
+
def _docker_container_prune_kill_orphaned_containers
|
19
19
|
networks = []
|
20
20
|
|
21
21
|
_docker_container_lib_get_containers.each do |container|
|
data/lib/takelage/lib/config.rb
CHANGED
@@ -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
|
42
|
-
|
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")
|
data/lib/takelage/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.17.0
|
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.
|
4
|
+
version: 0.17.0
|
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/
|
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
|