takelage 0.23.1 → 0.25.10
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 +13 -11
- data/lib/takelage.rb +1 -0
- data/lib/takelage/default.yml +1 -1
- data/lib/takelage/docker/check/socat.rb +2 -2
- data/lib/takelage/docker/container/cli.rb +1 -1
- data/lib/takelage/docker/container/lib.rb +12 -0
- data/lib/takelage/docker/image/tag/cli.rb +1 -1
- data/lib/takelage/docker/image/tag/latest.rb +5 -1
- data/lib/takelage/version +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e946f65c7d82b399bff9b24ad38f5f35692b1984fb3b24a746b9a79d949ff68
|
4
|
+
data.tar.gz: 22ca88e0d4c57564caafe1fbabd6fb2ec18fe85da30b78edec4286d0f807555f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 321defb1e6c775e1fdf69d85fba71f2265602be4db53705b204b4e10096d73c517762e71e910af09cf717bb112f736c1705802ccdfc44a1289ab9e5183f2fbe2
|
7
|
+
data.tar.gz: 58ab87995c99d0ff2059b9d7def178b3489276e18787c8744c66d43c2bc4d82f80ba959f19e31b3a3084e14c04d99515324ba69ec5b743fc267eb6bb091a8a65
|
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+

|
2
|
+
|
1
3
|
# takelage-cli
|
2
4
|
|
3
5
|
*takelage-cli* is a command line interface
|
@@ -59,22 +61,19 @@ tau [bit scope inbit](features/cucumber/features/bit/bit.scope.inbit.feature) |
|
|
59
61
|
tau [bit scope list](features/cucumber/features/bit/bit.scope.list.feature) | List bit remote scopes
|
60
62
|
tau [bit scope new](features/cucumber/features/bit/bit.scope.new.feature) [SCOPE] | Init a new bit [SCOPE]
|
61
63
|
tau [completion bash](features/cucumber/features/completion/completion.bash.feature) | Print bash completion code
|
62
|
-
tau [docker check
|
64
|
+
tau [docker check daemon](features/cucumber/features/docker/docker.check.daemon.feature) | Check if docker daemon is running
|
65
|
+
tau [docker check socat](features/cucumber/features/docker/docker.check.socat.feature) | Check if socat command is available
|
63
66
|
tau [docker container check existing](features/cucumber/features/docker/docker.container.check.existing.feature) [CONTAINER] | Check if docker [CONTAINER] is existing
|
64
67
|
tau [docker container check network](features/cucumber/features/docker/docker.container.check.network.feature) [NETWORK] | Check if docker [NETWORK] is existing
|
65
68
|
tau [docker container check orphaned](features/cucumber/features/docker/docker.container.check.orphaned.feature) [CONTAINER] | Check if docker [CONTAINER] is orphaned
|
69
|
+
tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature) | Remove all docker containers
|
66
70
|
tau [docker container command](features/cucumber/features/docker/docker.container.command.feature) [CMD] | Run [CMD] in a docker container
|
67
71
|
tau [docker container daemon](features/cucumber/features/docker/docker.container.daemon.feature) | Run docker container in daemon mode
|
68
72
|
tau [docker container login](features/cucumber/features/docker/docker.container.login.feature) | Log in to latest local docker container
|
69
|
-
tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature) | Remove all docker containers
|
70
73
|
tau [docker container prune](features/cucumber/features/docker/docker.container.prune.feature) | Remove orphaned docker containers
|
71
|
-
tau [docker image check
|
72
|
-
tau [docker image tag
|
73
|
-
tau [docker image tag
|
74
|
-
tau [docker image tag latest local](features/cucumber/features/docker/docker.image.tag.latest.local.feature) | Print latest local docker image tag
|
75
|
-
tau [docker image tag latest remote](features/cucumber/features/docker/docker.image.tag.latest.remote.feature) | Print latest remote docker image tag
|
76
|
-
tau [docker image tag list local](features/cucumber/features/docker/docker.image.tag.list.local.feature) | Print local docker image tags
|
77
|
-
tau [docker image tag list remote](features/cucumber/features/docker/docker.image.tag.list.remote.feature) | Print remote docker image tags
|
74
|
+
tau [docker image tag check](features/cucumber/features/docker/docker.image.tag.check.feature) [TAG] | Check if local docker image [TAG] exists
|
75
|
+
tau [docker image tag latest](features/cucumber/features/docker/docker.image.tag.latest.feature) | Print latest local docker image tag
|
76
|
+
tau [docker image tag list](features/cucumber/features/docker/docker.image.tag.list.feature) | Print local docker image tags
|
78
77
|
tau [docker image update](features/cucumber/features/docker/docker.image.update.feature) | Get latest remote docker container
|
79
78
|
tau [docker socket host](features/cucumber/features/docker/docker.socket.host.feature) | Print docker socket host ip address
|
80
79
|
tau [docker socket scheme](features/cucumber/features/docker/docker.socket.scheme.feature) | Print docker socket scheme
|
@@ -93,15 +92,15 @@ tau [self config home](features/cucumber/features/self/self.config.home.feature)
|
|
93
92
|
tau [self config project](features/cucumber/features/self/self.config.project.feature) | Print takelage project config file configuration
|
94
93
|
tau [self list](features/cucumber/features/self/self.list.feature) | List all commands
|
95
94
|
tau [self version](features/cucumber/features/self/self.version.feature) | Print tau semantic version number
|
95
|
+
tau clean | Alias for tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature)
|
96
96
|
tau config | Alias for tau [self config active](features/cucumber/features/self/self.config.active.feature)
|
97
97
|
tau copy [DIR] [SCOPE] | Alias for tau [bit clipboard copy](features/cucumber/features/bit/bit.clipboard.copy.feature)
|
98
98
|
tau list | Alias for tau [self list](features/cucumber/features/self/self.list.feature)
|
99
99
|
tau login | Alias for tau [docker container login](features/cucumber/features/docker/docker.container.login.feature)
|
100
|
-
tau clean | Alias for tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature)
|
101
100
|
tau paste [COMPONENT] [DIR] | Alias for tau [bit clipboard paste](features/cucumber/features/bit/bit.clipboard.paste.feature)
|
102
101
|
tau project | Alias for tau [info project active](features/cucumber/features/info/info.project.active.feature)
|
103
|
-
tau pull | Alias for tau [bit clipboard pull](features/cucumber/features/bit/bit.clipboard.pull.feature)
|
104
102
|
tau prune | Alias for tau [docker container prune](features/cucumber/features/docker/docker.container.prune.feature)
|
103
|
+
tau pull | Alias for tau [bit clipboard pull](features/cucumber/features/bit/bit.clipboard.pull.feature)
|
105
104
|
tau push | Alias for tau [bit clipboard push](features/cucumber/features/bit/bit.clipboard.push.feature)
|
106
105
|
tau update | Alias for tau [docker image update](features/cucumber/features/docker/docker.image.update.feature)
|
107
106
|
tau version | Alias for tau [self version](features/cucumber/features/self/self.version.feature)
|
@@ -125,6 +124,9 @@ or *tau config*.
|
|
125
124
|
| *~/.takelage.yml* | normal | User-wide configuration file in your home directory. This is your normal custom configuration file. |
|
126
125
|
| *takelage.yml* | highest | Project-specific configuration file next to your main Rakefile. Some projects need special configuration. |
|
127
126
|
|
127
|
+
Please remember that a project directory is identified by the main
|
128
|
+
[Rakefile](Rakefile).
|
129
|
+
|
128
130
|
### Configuration Examples
|
129
131
|
|
130
132
|
- You should add the following configuration items in your *~/.takelage.yml*
|
data/lib/takelage.rb
CHANGED
data/lib/takelage/default.yml
CHANGED
@@ -30,7 +30,7 @@ cmd_bit_scope_list_find_scopes: 'find -L %{root} -name scope.json'
|
|
30
30
|
cmd_bit_scope_new_bit_init: 'mkdir -p %{root}/%{scope} && cd %{root}/%{scope} && bit init --bare'
|
31
31
|
cmd_bit_scope_remove_scope: 'rm --force --recursive %{root}/%{scope}'
|
32
32
|
cmd_docker_check_daemon_docker_info: 'docker info'
|
33
|
-
|
33
|
+
cmd_docker_check_socat_which_socat: 'which socat'
|
34
34
|
cmd_docker_container_check_existing_docker_ps: 'docker ps --filter name=^%{container}$ --quiet'
|
35
35
|
cmd_docker_container_check_network_docker_network: 'docker network ls --quiet --filter name=^%{network}$'
|
36
36
|
cmd_docker_container_check_orphaned_docker_exec: 'docker exec --interactive %{container} ps a'
|
@@ -9,10 +9,10 @@ module DockerCheckSocat
|
|
9
9
|
|
10
10
|
log.debug 'Check if the socat command is available'
|
11
11
|
|
12
|
-
status = try config.active['
|
12
|
+
status = try config.active['cmd_docker_check_socat_which_socat']
|
13
13
|
|
14
14
|
unless status.exitstatus.zero?
|
15
|
-
log.
|
15
|
+
log.debug 'The socat command is not available'
|
16
16
|
return false
|
17
17
|
end
|
18
18
|
|
@@ -37,7 +37,7 @@ module Takelage
|
|
37
37
|
@docker_registry = config.active['docker_registry']
|
38
38
|
@username = ENV['USER'] || 'noname'
|
39
39
|
@workdir = Dir.getwd
|
40
|
-
@hostname =
|
40
|
+
@hostname = _docker_container_lib_hostname
|
41
41
|
@socket_host = docker_socket_host
|
42
42
|
@sockets = docker_socket_scheme
|
43
43
|
end
|
@@ -6,6 +6,14 @@
|
|
6
6
|
module DockerContainerLib
|
7
7
|
private
|
8
8
|
|
9
|
+
# Create unique docker hostname
|
10
|
+
def _docker_container_lib_hostname
|
11
|
+
relative_name = "#{@docker_repo}_#{File.basename(@workdir)}"
|
12
|
+
absolute_name = "#{@docker_repo}_#{@workdir}"
|
13
|
+
digest = Digest::SHA256.bubblebabble absolute_name
|
14
|
+
"#{relative_name}_#{digest[0..10]}"
|
15
|
+
end
|
16
|
+
|
9
17
|
# Create docker container and network.
|
10
18
|
def _docker_container_lib_create_net_and_ctr(name)
|
11
19
|
return false if _docker_container_lib_check_matrjoschka
|
@@ -110,6 +118,10 @@ module DockerContainerLib
|
|
110
118
|
return false unless ENV.keys.include? 'TAKELAGE_PROJECT_BASE_DIR'
|
111
119
|
|
112
120
|
log.error 'You cannot log in to takelage from within takelage'
|
121
|
+
|
122
|
+
# wait or the github workflow will fail
|
123
|
+
sleep 1
|
124
|
+
|
113
125
|
true
|
114
126
|
end
|
115
127
|
|
@@ -37,7 +37,7 @@ module Takelage
|
|
37
37
|
#
|
38
38
|
# docker image tag latest
|
39
39
|
#
|
40
|
-
desc '
|
40
|
+
desc 'latest', 'Print latest docker image tag'
|
41
41
|
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
42
42
|
Print latest docker image tag
|
43
43
|
Print the tag of the docker image with the highest tag.
|
data/lib/takelage/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.25.10
|
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.25.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geospin
|
@@ -288,7 +288,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
288
288
|
- !ruby/object:Gem::Version
|
289
289
|
version: '0'
|
290
290
|
requirements: []
|
291
|
-
rubygems_version: 3.
|
291
|
+
rubygems_version: 3.2.3
|
292
292
|
signing_key:
|
293
293
|
specification_version: 4
|
294
294
|
summary: takelage devops workflow cli
|