takeltau 0.39.0 → 0.39.2

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: 73f3cdc1423e876043ceea53b0e7209589e7b5474ad44b1213cbffa6336ad7af
4
- data.tar.gz: 83a3dfa517ac84b8265a09b64b325184473fd0a22bf98fd241f4713e7e59c0ce
3
+ metadata.gz: efcd37beaf72d26ec96d9036cec64b14150b2b1b3685d30842aa3843ccb29b1e
4
+ data.tar.gz: 5018c78c0dd215eeb8a49b17c58e1230ed697957d1188fb2abdf33e906c3f219
5
5
  SHA512:
6
- metadata.gz: 923b34a21ed9d509f88be302e3c4e8682adae221d60f59a6a092ba706501ed5de13125a0184e0d7d26130441aeb84c015be119ec9e5a313a4078c11bf17de7e0
7
- data.tar.gz: 83eec4fbdd1c53604dce8d1d53fab8d3c94678f997611f294afd6d833dcabcf78315337e427af44234f2562d8c4006d76eb585cdd2ff09afbeef8077d44b168a
6
+ metadata.gz: 6052b700a56b6c15f8c1c980a97ab47f10b33b9403f3266920f8aaa232b0dcb0a5db921df9863089b5f5440a7816c120b8169ff2be7b6306aed213562fa9acb5
7
+ data.tar.gz: a644c2d3082c2b1a6ed8a0ace6ce05e7b2bfbf327d7b118fd8201a668644e15c3791002edcd874bb0c98f467cceb699dc87dcbf2f3af8a4fd89e9b56c643054f
@@ -4,7 +4,7 @@ cmd_docker_check_daemon_docker_info: 'docker info'
4
4
  cmd_docker_container_check_existing_docker_ps: 'docker ps --filter name=^%{container}$ --quiet'
5
5
  cmd_docker_container_check_network_docker_network: 'docker network ls --quiet --filter name=^%{network}$'
6
6
  cmd_docker_container_check_orphaned_docker_exec: 'docker exec --interactive %{container} ps a'
7
- cmd_docker_container_create: 'docker run --detach --env TAKELAGE_PROJECT_BASE_DIR=%{workdir} --env TZ=%{timezone} --hostname %{container} --name %{container} --network %{container} --rm --shm-size %{shmsize} --tty --volume %{dockersock}:/var/run/docker.sock --volume %{homedir}:/hostdir --volume %{workdir}:/project %{volume_dev} --workdir /project %{docker_run_options} %{image} %{entrypoint} --gid %{gid} --home %{homedir} --uid %{uid} --username %{username} --extra=%{extra} %{entrypoint_options}'
7
+ cmd_docker_container_create: 'docker run --detach --env TAKELAGE_PROJECT_BASE_DIR=%{workdir} --env TZ=%{timezone} --hostname %{container} --name %{container} --network %{container} --rm --shm-size %{shmsize} --tty --volume %{homedir}:/hostdir --volume %{workdir}:/project %{volume_dev} --workdir /project %{docker_run_options} %{image} %{entrypoint} --gid %{gid} --home %{homedir} --uid %{uid} --username %{username} --extra=%{extra} %{entrypoint_options}'
8
8
  cmd_docker_container_create_network: 'docker network create %{network}'
9
9
  cmd_docker_container_enter_container: 'docker exec --interactive --tty %{container} %{loginpoint} --username %{username}'
10
10
  cmd_docker_container_get_container_name: 'docker ps --filter id=%{container} --format "{{.Names}}"'
@@ -48,11 +48,12 @@ cmd_mutagen: 'mutagen'
48
48
  cmd_mutagen_check_daemon_host_connection: 'mutagen forward list --label-selector="%{hostlabel}"'
49
49
  cmd_mutagen_check_daemon_version: 'mutagen version'
50
50
  cmd_mutagen_forward_socket_create: 'mutagen forward create --name=%{socketname} --label=%{hostlabel} --label=%{takellabel} docker://%{username}@%{container}:unix:%{containersock} unix:%{hostsock}'
51
+ cmd_mutagen_forward_socket_docker: 'mutagen forward create --name=%{socketname} --label=%{hostlabel} --label=%{takellabel} --socket-group-source=docker --socket-permission-mode=0660 docker://root@%{container}:unix:/var/run/docker.sock unix:%{hostsock}'
51
52
  cmd_mutagen_forward_socket_check: 'mutagen forward list %{socketname}'
52
53
  cmd_mutagen_forward_socket_terminate: 'mutagen forward terminate %{socketname}'
53
54
  cmd_mutagen_forward_socket_remove: 'rm -f ~/.mutagen/daemon/*'
54
55
  cmd_mutagen_forward_socket_list: 'mutagen forward list --label-selector="%{takellabel}"'
55
- docker_debug: 'ansible/roles/takel-takelage/files/takelscripts'
56
+ docker_debug: 'ansible/roles/takel_takelage/files/takelscripts'
56
57
  docker_entrypoint_extra: '.config/gcloud'
57
58
  docker_entrypoint_options: ''
58
59
  docker_registry: 'https://registry.hub.docker.com'
@@ -67,6 +68,7 @@ info_project_private: 'private/project.yml'
67
68
  login_wait_for_sockets: '0'
68
69
  mutagen_socket_path_mutagen_container: '~/.mutagen/daemon/daemon.sock'
69
70
  mutagen_socket_path_mutagen_host: '~/.mutagen/daemon/daemon.sock'
71
+ mutagen_socket_path_docker_host: '/var/run/docker.sock'
70
72
  mutagen_socket_path_gpg_container: '~/.gnupg/S.gpg-agent'
71
73
  mutagen_socket_path_gpg_host: '~/.gnupg/S.gpg-agent'
72
74
  mutagen_socket_path_ssh_container: '~/.gnupg/S.gpg-agent.ssh'
@@ -22,6 +22,7 @@ module Takeltau
22
22
  include MutagenCheckDaemon
23
23
  include MutagenSocketCheck
24
24
  include MutagenSocketCreate
25
+ include MutagenSocketDocker
25
26
  include MutagenSocketTerminate
26
27
 
27
28
  # Initialize docker container
@@ -40,6 +41,7 @@ module Takeltau
40
41
  @hostname = _docker_container_lib_hostname
41
42
  @hostlabel = "hostname=#{@hostname}"
42
43
  @takellabel = config.active['mutagen_socket_takelage_label']
44
+ @dockersock_host = config.active['mutagen_socket_path_docker_host']
43
45
  @mutagensock_container = config.active['mutagen_socket_path_mutagen_container']
44
46
  @mutagensock_host = config.active['mutagen_socket_path_mutagen_host']
45
47
  @gpgsock_container = config.active['mutagen_socket_path_gpg_container']
@@ -10,6 +10,7 @@ module DockerContainerLib
10
10
  def _docker_container_lib_start_sockets
11
11
  return false unless mutagen_check_daemon
12
12
 
13
+ mutagen_socket_docker @dockersock_host
13
14
  mutagen_socket_create 'mutagen', @mutagensock_container, @mutagensock_host
14
15
  mutagen_socket_create 'gpg', @gpgsock_container, @gpgsock_host
15
16
  mutagen_socket_create 'ssh', @sshsock_container, @sshsock_host
@@ -91,7 +92,6 @@ module DockerContainerLib
91
92
  config.active['cmd_docker_container_create'],
92
93
  container: container,
93
94
  docker_run_options: config.active['docker_run_options'],
94
- dockersock: '/var/run/docker.sock',
95
95
  entrypoint: entrypoint,
96
96
  entrypoint_options: config.active['docker_entrypoint_options'],
97
97
  extra: config.active['docker_entrypoint_extra'],
@@ -3,4 +3,4 @@
3
3
  hosts: all
4
4
  gather_facts: false
5
5
  roles:
6
- - takel-cleanup
6
+ - takel_cleanup
@@ -17,6 +17,7 @@ module Takeltau
17
17
  include MutagenCheckDaemon
18
18
  include MutagenSocketCheck
19
19
  include MutagenSocketCreate
20
+ include MutagenSocketDocker
20
21
  include MutagenSocketList
21
22
  include MutagenSocketTidy
22
23
  include MutagenSocketTerminate
@@ -61,6 +62,18 @@ module Takeltau
61
62
  exit mutagen_socket_create name, containersock, hostsock
62
63
  end
63
64
 
65
+ #
66
+ # mutagen socket create
67
+ #
68
+ desc 'docker [OUT]', 'Create a mutagen docker socket [OUT] of the container'
69
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
70
+ Create a mutagen docker socket [OUT] of the container
71
+ LONGDESC
72
+ # Create a mutagen docker socket [OUT] of the container.
73
+ def docker(hostsock)
74
+ exit mutagen_socket_docker hostsock
75
+ end
76
+
64
77
  #
65
78
  # mutagen socket list
66
79
  #
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # tau mutagen socket docker
4
+ module MutagenSocketDocker
5
+ # Backend method for mutagen socket docker.
6
+ # rubocop:disable Metrics/MethodLength
7
+ def mutagen_socket_docker(hostsock)
8
+ # See DockerContainerLib::_docker_container_lib_hostname
9
+ socketname = "#{@hostname[-11..-1]}-docker"
10
+ log.debug "Create the mutagen docker socket \"#{socketname}\" in the container " \
11
+ "pointing to the host at \"#{hostsock}\""
12
+
13
+ return false unless mutagen_check_daemon
14
+
15
+ return false if mutagen_socket_check socketname
16
+
17
+ socket_created = _mutagen_socket_docker_socket(socketname, hostsock)
18
+
19
+ unless socket_created.include? 'Created session'
20
+ log.debug "Unable to create mutagen docker socket \"#{socketname}\""
21
+ return false
22
+ end
23
+
24
+ log.debug "Created the mutagen docker socket \"#{socketname}\""
25
+ true
26
+ end
27
+ # rubocop:enable Metrics/MethodLength
28
+
29
+ private
30
+
31
+ # Get git branch.
32
+ def _mutagen_socket_docker_socket(socketname, hostsock)
33
+ cmd_create_socket = format(
34
+ config.active['cmd_mutagen_forward_socket_docker'],
35
+ socketname: socketname,
36
+ hostsock: hostsock,
37
+ container: @hostname,
38
+ hostlabel: @hostlabel,
39
+ takellabel: @takellabel
40
+ )
41
+ run cmd_create_socket
42
+ end
43
+ end
data/lib/takeltau/version CHANGED
@@ -1 +1 @@
1
- 0.39.0
1
+ 0.39.2
data/lib/takeltau.rb CHANGED
@@ -40,6 +40,7 @@ require_relative 'takeltau/init/cli'
40
40
  require_relative 'takeltau/mutagen/check/daemon'
41
41
  require_relative 'takeltau/mutagen/socket/check'
42
42
  require_relative 'takeltau/mutagen/socket/create'
43
+ require_relative 'takeltau/mutagen/socket/docker'
43
44
  require_relative 'takeltau/mutagen/socket/terminate'
44
45
  require_relative 'takeltau/mutagen/socket/tidy'
45
46
  require_relative 'takeltau/docker/check/daemon'
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.39.0
4
+ version: 0.39.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takelwerk
@@ -272,6 +272,7 @@ files:
272
272
  - lib/takeltau/mutagen/socket/check.rb
273
273
  - lib/takeltau/mutagen/socket/cli.rb
274
274
  - lib/takeltau/mutagen/socket/create.rb
275
+ - lib/takeltau/mutagen/socket/docker.rb
275
276
  - lib/takeltau/mutagen/socket/list.rb
276
277
  - lib/takeltau/mutagen/socket/terminate.rb
277
278
  - lib/takeltau/mutagen/socket/tidy.rb