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 +4 -4
- data/lib/takeltau/default.yml +4 -2
- data/lib/takeltau/docker/container/cli.rb +2 -0
- data/lib/takeltau/docker/container/lib.rb +1 -1
- data/lib/takeltau/init/packer/templates/playbooksiteyml.tt +1 -1
- data/lib/takeltau/mutagen/socket/cli.rb +13 -0
- data/lib/takeltau/mutagen/socket/docker.rb +43 -0
- data/lib/takeltau/version +1 -1
- data/lib/takeltau.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: efcd37beaf72d26ec96d9036cec64b14150b2b1b3685d30842aa3843ccb29b1e
|
4
|
+
data.tar.gz: 5018c78c0dd215eeb8a49b17c58e1230ed697957d1188fb2abdf33e906c3f219
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6052b700a56b6c15f8c1c980a97ab47f10b33b9403f3266920f8aaa232b0dcb0a5db921df9863089b5f5440a7816c120b8169ff2be7b6306aed213562fa9acb5
|
7
|
+
data.tar.gz: a644c2d3082c2b1a6ed8a0ace6ce05e7b2bfbf327d7b118fd8201a668644e15c3791002edcd874bb0c98f467cceb699dc87dcbf2f3af8a4fd89e9b56c643054f
|
data/lib/takeltau/default.yml
CHANGED
@@ -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 %{
|
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/
|
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'],
|
@@ -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.
|
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.
|
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
|