takelage 0.23.3 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24b3d161560016f990a94d7b20069137900e32f5a58956aa5707eb9aa0f60027
4
- data.tar.gz: 755d43225e3eed43930e9f563701752999df2088fdf7f9210bfe1df7c57bd659
3
+ metadata.gz: c41543ac3d5b7a93fce0807339107b6f2016524b17ff3c7a8dbfc9bb227e003f
4
+ data.tar.gz: 12a43bf57f55d6e2bb41530eb3f71c4c1f1a99003700845bc8b150072689d464
5
5
  SHA512:
6
- metadata.gz: 995e31c2e97743b63df181b0975c63c7cc6fffc04c3ed338cce64279c96401dead03e1188bd5308af0909e5472127cdbdecd27dd7e7323d711b5973c75da2d57
7
- data.tar.gz: 53d043282900c5ea74825c911a9fa504001edd9290bc6251671a74f974ad1420f035c4055e72b01abd0f9d2869db81b3dd49a5f8a8251cd3e9d84c3c82763e39
6
+ metadata.gz: 35a1911ec6a0c7191e500968902be2cf92904906d8cff2af47d0bff8f30c60a3f5b7049cbcb512ac05ce65f21fe71de30987a7de77f63d222f7c0bf1ef1b8d9b
7
+ data.tar.gz: 9fdd8888975db08c2941f9774c0c28a4a4fa97aca800385bd600d69b3e020374f4d0867a6d7a8710935dec663b746eb18d7f6721049623aa908cfd409f72f4dc
data/README.md CHANGED
@@ -59,22 +59,19 @@ tau [bit scope inbit](features/cucumber/features/bit/bit.scope.inbit.feature) |
59
59
  tau [bit scope list](features/cucumber/features/bit/bit.scope.list.feature) | List bit remote scopes
60
60
  tau [bit scope new](features/cucumber/features/bit/bit.scope.new.feature) [SCOPE] | Init a new bit [SCOPE]
61
61
  tau [completion bash](features/cucumber/features/completion/completion.bash.feature) | Print bash completion code
62
- tau [docker check running](features/cucumber/features/docker/docker.check.running.feature) | Check if docker daemon is running
62
+ tau [docker check daemon](features/cucumber/features/docker/docker.check.daemon.feature) | Check if docker daemon is running
63
+ tau [docker check socat](features/cucumber/features/docker/docker.check.socat.feature) | Check if socat command is available
63
64
  tau [docker container check existing](features/cucumber/features/docker/docker.container.check.existing.feature) [CONTAINER] | Check if docker [CONTAINER] is existing
64
65
  tau [docker container check network](features/cucumber/features/docker/docker.container.check.network.feature) [NETWORK] | Check if docker [NETWORK] is existing
65
66
  tau [docker container check orphaned](features/cucumber/features/docker/docker.container.check.orphaned.feature) [CONTAINER] | Check if docker [CONTAINER] is orphaned
67
+ tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature) | Remove all docker containers
66
68
  tau [docker container command](features/cucumber/features/docker/docker.container.command.feature) [CMD] | Run [CMD] in a docker container
67
69
  tau [docker container daemon](features/cucumber/features/docker/docker.container.daemon.feature) | Run docker container in daemon mode
68
70
  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
71
  tau [docker container prune](features/cucumber/features/docker/docker.container.prune.feature) | Remove orphaned docker containers
71
- tau [docker image check outdated](features/cucumber/features/docker/docker.image.check.outdated.feature) | Check if a docker image is outdated
72
- tau [docker image tag check local](features/cucumber/features/docker/docker.image.tag.check.local.feature) [TAG] | Check if local docker image [TAG] exists
73
- tau [docker image tag check remote](features/cucumber/features/docker/docker.image.tag.check.remote.feature) [TAG] | Check if remote docker image [TAG] exists
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
72
+ tau [docker image tag check](features/cucumber/features/docker/docker.image.tag.check.feature) [TAG] | Check if local docker image [TAG] exists
73
+ tau [docker image tag latest](features/cucumber/features/docker/docker.image.tag.latest.feature) | Print latest local docker image tag
74
+ tau [docker image tag list](features/cucumber/features/docker/docker.image.tag.list.feature) | Print local docker image tags
78
75
  tau [docker image update](features/cucumber/features/docker/docker.image.update.feature) | Get latest remote docker container
79
76
  tau [docker socket host](features/cucumber/features/docker/docker.socket.host.feature) | Print docker socket host ip address
80
77
  tau [docker socket scheme](features/cucumber/features/docker/docker.socket.scheme.feature) | Print docker socket scheme
@@ -93,15 +90,15 @@ tau [self config home](features/cucumber/features/self/self.config.home.feature)
93
90
  tau [self config project](features/cucumber/features/self/self.config.project.feature) | Print takelage project config file configuration
94
91
  tau [self list](features/cucumber/features/self/self.list.feature) | List all commands
95
92
  tau [self version](features/cucumber/features/self/self.version.feature) | Print tau semantic version number
93
+ tau clean | Alias for tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature)
96
94
  tau config | Alias for tau [self config active](features/cucumber/features/self/self.config.active.feature)
97
95
  tau copy [DIR] [SCOPE] | Alias for tau [bit clipboard copy](features/cucumber/features/bit/bit.clipboard.copy.feature)
98
96
  tau list | Alias for tau [self list](features/cucumber/features/self/self.list.feature)
99
97
  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
98
  tau paste [COMPONENT] [DIR] | Alias for tau [bit clipboard paste](features/cucumber/features/bit/bit.clipboard.paste.feature)
102
99
  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
100
  tau prune | Alias for tau [docker container prune](features/cucumber/features/docker/docker.container.prune.feature)
101
+ tau pull | Alias for tau [bit clipboard pull](features/cucumber/features/bit/bit.clipboard.pull.feature)
105
102
  tau push | Alias for tau [bit clipboard push](features/cucumber/features/bit/bit.clipboard.push.feature)
106
103
  tau update | Alias for tau [docker image update](features/cucumber/features/docker/docker.image.update.feature)
107
104
  tau version | Alias for tau [self version](features/cucumber/features/self/self.version.feature)
data/lib/takelage.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'etc'
4
+ require 'digest/bubblebabble'
4
5
  require 'fileutils'
5
6
  require 'fylla'
6
7
  require 'json'
@@ -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 = "#{@docker_repo}_#{File.basename(@workdir)}"
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
@@ -37,7 +37,7 @@ module Takelage
37
37
  #
38
38
  # docker image tag latest
39
39
  #
40
- desc 'list', 'Print latest docker image tag'
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.
@@ -11,7 +11,11 @@ module DockerImageTagLatest
11
11
 
12
12
  tags = docker_image_tag_list
13
13
 
14
- tag_latest = tags[-1]
14
+ tag_latest = if tags.include? 'latest'
15
+ 'latest'
16
+ else
17
+ tags[-1]
18
+ end
15
19
 
16
20
  log.debug "Latest docker tag: #{tag_latest}"
17
21
 
data/lib/takelage/version CHANGED
@@ -1 +1 @@
1
- 0.23.3
1
+ 0.24.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.23.3
4
+ version: 0.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geospin