takeltau 0.43.4 → 0.43.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/lib/takeltau/default.yml +21 -22
- data/lib/takeltau/docker/check/daemon.rb +7 -1
- data/lib/takeltau/docker/container/check/existing.rb +1 -0
- data/lib/takeltau/docker/container/check/network.rb +1 -0
- data/lib/takeltau/docker/container/check/orphaned.rb +1 -0
- data/lib/takeltau/docker/container/command.rb +1 -0
- data/lib/takeltau/docker/container/lib.rb +6 -0
- data/lib/takeltau/docker/container/login.rb +1 -0
- data/lib/takeltau/docker/image/tag/check.rb +3 -0
- data/lib/takeltau/docker/image/tag/list.rb +1 -0
- data/lib/takeltau/docker/image/update.rb +5 -2
- data/lib/takeltau/lib/system.rb +1 -1
- data/lib/takeltau/ship/container/check/existing.rb +1 -0
- data/lib/takeltau/ship/container/lib.rb +4 -0
- data/lib/takeltau/ship/container/login.rb +2 -0
- data/lib/takeltau/ship/container/podman.rb +2 -0
- data/lib/takeltau/ship/container/update.rb +6 -2
- data/lib/takeltau/ship/project/start.rb +3 -1
- data/lib/takeltau/version +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e3cfcc5190c832bb598a7995d870a9ad8ffbd2d80cc27d40716a2c8f48234e9
|
4
|
+
data.tar.gz: 2329865f99624b7107046aeb8662ba7116e6ab2a5b92045f11a39bde8d38999a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c85f8b70f10c8982e88bb08bab002c22e5efdaa4dc8e4652ba87733ab9c0b8e34dd38923e402a8564de1a827fe487877b56733a19d7574f99f26a5d08f6419c4
|
7
|
+
data.tar.gz: b64fe24cc6176b74ebe52f7d6010103bf1b060cd411dacb59c207999839971379a38409e0d65b0947dbd30136af01c7f8841c329e74294203ef774770ef4bd32
|
data/lib/takeltau/default.yml
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
---
|
2
2
|
cmd_docker: 'docker'
|
3
|
-
cmd_docker_check_daemon_docker_info: 'docker info'
|
4
|
-
cmd_docker_container_check_existing_docker_ps: 'docker ps --filter name=^%{container}$ --quiet'
|
5
|
-
cmd_docker_container_check_network_docker_network: 'docker network ls --quiet --filter name=^%{network}$'
|
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 %{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
|
-
cmd_docker_container_create_network: 'docker network create %{network}'
|
9
|
-
cmd_docker_container_enter_container: 'docker exec --interactive --tty %{container} %{loginpoint} --username %{username}'
|
10
|
-
cmd_docker_container_get_container_name: 'docker ps --filter id=%{container} --format "{{.Names}}"'
|
11
|
-
cmd_docker_container_get_containers: 'docker ps --all --filter name=^%{docker_repo}_ --quiet'
|
12
|
-
cmd_docker_container_remove_network: 'docker network rm %{network}'
|
13
|
-
cmd_docker_container_docker_exec: 'docker exec %{container} su %{username} -c "LANG=en_US.UTF-8 %{command}"'
|
14
|
-
cmd_docker_container_stop_container: 'docker stop %{container}'
|
15
|
-
cmd_docker_image_tag_check_docker_images: 'docker images --quiet %{image}'
|
16
|
-
cmd_docker_image_tag_list_docker_images: 'docker images %{docker_user}\/%{docker_repo} --format "{{.Tag}}"'
|
17
|
-
cmd_docker_image_update_docker_pull: 'docker pull %{docker_user}/%{docker_repo}:%{docker_tag}'
|
18
|
-
cmd_docker_image_update_docker_remove_dangling: 'docker image prune --force'
|
3
|
+
cmd_docker_check_daemon_docker_info: '%{docker} info'
|
4
|
+
cmd_docker_container_check_existing_docker_ps: '%{docker} ps --filter name=^%{container}$ --quiet'
|
5
|
+
cmd_docker_container_check_network_docker_network: '%{docker} network ls --quiet --filter name=^%{network}$'
|
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 %{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
|
+
cmd_docker_container_create_network: '%{docker} network create %{network}'
|
9
|
+
cmd_docker_container_enter_container: '%{docker} exec --interactive --tty %{container} %{loginpoint} --username %{username}'
|
10
|
+
cmd_docker_container_get_container_name: '%{docker} ps --filter id=%{container} --format "{{.Names}}"'
|
11
|
+
cmd_docker_container_get_containers: '%{docker} ps --all --filter name=^%{docker_repo}_ --quiet'
|
12
|
+
cmd_docker_container_remove_network: '%{docker} network rm %{network}'
|
13
|
+
cmd_docker_container_docker_exec: '%{docker} exec %{container} su %{username} -c "LANG=en_US.UTF-8 %{command}"'
|
14
|
+
cmd_docker_container_stop_container: '%{docker} stop %{container}'
|
15
|
+
cmd_docker_image_tag_check_docker_images: '%{docker} images --quiet %{image}'
|
16
|
+
cmd_docker_image_tag_list_docker_images: '%{docker} images %{docker_user}\/%{docker_repo} --format "{{.Tag}}"'
|
17
|
+
cmd_docker_image_update_docker_pull: '%{docker} pull %{docker_user}/%{docker_repo}:%{docker_tag}'
|
18
|
+
cmd_docker_image_update_docker_remove_dangling: '%{docker} image prune --force'
|
19
19
|
cmd_git: 'git'
|
20
20
|
cmd_git_check_clean_git_unstaged: 'git diff --exit-code'
|
21
21
|
cmd_git_check_clean_git_uncommitted: 'git diff --cached --exit-code'
|
@@ -87,10 +87,9 @@ ship_takelship_yml: '%{pwd}/%{ship_data_dir}/compose/projects/takelship.yml'
|
|
87
87
|
ship_podman_localhost: '127.0.0.1'
|
88
88
|
ship_docker_host: '32375'
|
89
89
|
ship_default_docker_host: '32375'
|
90
|
-
cmd_ship_project_start_docker_run_nonprivileged: 'docker run --rm --interactive %{image} %{command}'
|
91
|
-
cmd_ship_project_start_docker_run_privileged: 'docker run --privileged --rm --detach --name %{ship_hostname} --hostname %{ship_hostname} %{ship_env} %{ports} --volume ./%{ship_data_dir}:/home/podman/takelship %{image} %{command}'
|
92
|
-
cmd_ship_project_start_docker_stop: 'docker stop %{ship_hostname}'
|
93
|
-
cmd_ship_container_check_existing_docker_ps: 'docker ps --filter name=^%{ship_name}$ --quiet'
|
94
|
-
cmd_ship_container_docker: 'docker exec --interactive %{tty} %{ship_hostname} %{command}'
|
95
|
-
cmd_ship_container_podman: 'DOCKER_HOST=tcp://%{localhost}:%{docker_host} docker %{command}'
|
90
|
+
cmd_ship_project_start_docker_run_nonprivileged: '%{docker} run --rm --interactive %{image} %{command}'
|
91
|
+
cmd_ship_project_start_docker_run_privileged: '%{docker} run --privileged --rm --detach --name %{ship_hostname} --hostname %{ship_hostname} %{ship_env} %{ports} --volume ./%{ship_data_dir}:/home/podman/takelship %{image} %{command}'
|
92
|
+
cmd_ship_project_start_docker_stop: '%{docker} stop %{ship_hostname}'
|
93
|
+
cmd_ship_container_check_existing_docker_ps: '%{docker} ps --filter name=^%{ship_name}$ --quiet'
|
94
|
+
cmd_ship_container_docker: '%{docker} exec --interactive %{tty} %{ship_hostname} %{command}'
|
96
95
|
cmd_ship_container_login: 'bash'
|
@@ -5,6 +5,7 @@ module DockerCheckDaemon
|
|
5
5
|
# Backend method for docker check daemon.
|
6
6
|
# @return [Boolean] is the docker daemon running?
|
7
7
|
# rubocop:disable Metrics/MethodLength
|
8
|
+
# rubocop:disable Metrics/AbcSize
|
8
9
|
def docker_check_daemon
|
9
10
|
return true if @docker_daemon_running
|
10
11
|
|
@@ -12,7 +13,11 @@ module DockerCheckDaemon
|
|
12
13
|
|
13
14
|
log.debug 'Check if the docker daemon is running'
|
14
15
|
|
15
|
-
|
16
|
+
cmd_docker_info = format(
|
17
|
+
config.active['cmd_docker_check_daemon_docker_info'],
|
18
|
+
docker: config.active['cmd_docker']
|
19
|
+
)
|
20
|
+
status = try cmd_docker_info
|
16
21
|
|
17
22
|
unless status.exitstatus.zero?
|
18
23
|
log.error 'The docker daemon is not running'
|
@@ -23,5 +28,6 @@ module DockerCheckDaemon
|
|
23
28
|
@docker_daemon_running = true
|
24
29
|
true
|
25
30
|
end
|
31
|
+
# rubocop:enable Metrics/AbcSize
|
26
32
|
# rubocop:enable Metrics/MethodLength
|
27
33
|
end
|
@@ -48,6 +48,7 @@ module DockerContainerLib
|
|
48
48
|
|
49
49
|
cmd_create_network = format(
|
50
50
|
config.active['cmd_docker_container_create_network'],
|
51
|
+
docker: config.active['cmd_docker'],
|
51
52
|
network: network
|
52
53
|
)
|
53
54
|
|
@@ -60,6 +61,7 @@ module DockerContainerLib
|
|
60
61
|
|
61
62
|
cmd_remove_network = format(
|
62
63
|
config.active['cmd_docker_container_remove_network'],
|
64
|
+
docker: config.active['cmd_docker'],
|
63
65
|
network: network
|
64
66
|
)
|
65
67
|
|
@@ -88,6 +90,7 @@ module DockerContainerLib
|
|
88
90
|
|
89
91
|
cmd_docker_create = format(
|
90
92
|
config.active['cmd_docker_container_create'],
|
93
|
+
docker: config.active['cmd_docker'],
|
91
94
|
container: container,
|
92
95
|
docker_run_options: config.active['docker_run_options'],
|
93
96
|
entrypoint: entrypoint,
|
@@ -138,6 +141,7 @@ module DockerContainerLib
|
|
138
141
|
|
139
142
|
cmd_get_container_name_by_id = format(
|
140
143
|
config.active['cmd_docker_container_get_container_name'],
|
144
|
+
docker: config.active['cmd_docker'],
|
141
145
|
container: container
|
142
146
|
)
|
143
147
|
|
@@ -153,6 +157,7 @@ module DockerContainerLib
|
|
153
157
|
|
154
158
|
cmd_docker_get = format(
|
155
159
|
config.active['cmd_docker_container_get_containers'],
|
160
|
+
docker: config.active['cmd_docker'],
|
156
161
|
docker_repo: @docker_repo
|
157
162
|
)
|
158
163
|
|
@@ -166,6 +171,7 @@ module DockerContainerLib
|
|
166
171
|
|
167
172
|
cmd_docker_stop = format(
|
168
173
|
config.active['cmd_docker_container_stop_container'],
|
174
|
+
docker: config.active['cmd_docker'],
|
169
175
|
container: container
|
170
176
|
)
|
171
177
|
|
@@ -25,10 +25,12 @@ module DockerImageTagCheck
|
|
25
25
|
private
|
26
26
|
|
27
27
|
# Check if image exists.
|
28
|
+
# rubocop:disable Metrics/MethodLength
|
28
29
|
def _docker_image_check_image?(image)
|
29
30
|
cmd_docker_images =
|
30
31
|
format(
|
31
32
|
config.active['cmd_docker_image_tag_check_docker_images'],
|
33
|
+
docker: config.active['cmd_docker'],
|
32
34
|
image: image
|
33
35
|
)
|
34
36
|
|
@@ -39,4 +41,5 @@ module DockerImageTagCheck
|
|
39
41
|
|
40
42
|
true
|
41
43
|
end
|
44
|
+
# rubocop:enable Metrics/MethodLength
|
42
45
|
end
|
@@ -8,8 +8,10 @@ module DockerImageUpdate
|
|
8
8
|
|
9
9
|
cmd_docker_pull = _docker_image_update_cmd_docker_pull
|
10
10
|
|
11
|
-
cmd_docker_remove_dangling =
|
12
|
-
config.active['cmd_docker_image_update_docker_remove_dangling']
|
11
|
+
cmd_docker_remove_dangling = format(
|
12
|
+
config.active['cmd_docker_image_update_docker_remove_dangling'],
|
13
|
+
docker: config.active['cmd_docker']
|
14
|
+
)
|
13
15
|
|
14
16
|
run_and_exit "#{cmd_docker_pull} && #{cmd_docker_remove_dangling}"
|
15
17
|
end
|
@@ -20,6 +22,7 @@ module DockerImageUpdate
|
|
20
22
|
def _docker_image_update_cmd_docker_pull
|
21
23
|
format(
|
22
24
|
config.active['cmd_docker_image_update_docker_pull'],
|
25
|
+
docker: config.active['cmd_docker'],
|
23
26
|
docker_user: @docker_user,
|
24
27
|
docker_repo: @docker_repo,
|
25
28
|
docker_tag: @docker_tag
|
data/lib/takeltau/lib/system.rb
CHANGED
@@ -127,7 +127,7 @@ module SystemModule
|
|
127
127
|
return true if instance_variable_get("@command_available_#{command}")
|
128
128
|
|
129
129
|
log.debug "Check if the command \"#{command}\" is available"
|
130
|
-
status = try "
|
130
|
+
status = try "#{command} version"
|
131
131
|
return false unless status.exitstatus.zero?
|
132
132
|
|
133
133
|
true
|
@@ -10,6 +10,7 @@ module ShipContainerLib
|
|
10
10
|
|
11
11
|
cmd_docker_run_command = format(
|
12
12
|
config.active['cmd_ship_project_start_docker_run_nonprivileged'],
|
13
|
+
docker: config.active['cmd_docker'],
|
13
14
|
image: _ship_container_lib_image,
|
14
15
|
command: command
|
15
16
|
)
|
@@ -28,6 +29,7 @@ module ShipContainerLib
|
|
28
29
|
ports = config.active['ports'] unless config.active['ship_ports'].empty?
|
29
30
|
cmd_docker_run_command = format(
|
30
31
|
config.active['cmd_ship_project_start_docker_run_privileged'],
|
32
|
+
docker: config.active['cmd_docker'],
|
31
33
|
ship_hostname: _ship_container_lib_ship_hostname,
|
32
34
|
ship_env: ship_env,
|
33
35
|
ports: ports,
|
@@ -46,6 +48,7 @@ module ShipContainerLib
|
|
46
48
|
|
47
49
|
cmd_docker_run_command = format(
|
48
50
|
config.active['cmd_ship_container_docker'],
|
51
|
+
docker: config.active['cmd_docker'],
|
49
52
|
ship_hostname: _ship_container_lib_ship_hostname,
|
50
53
|
tty: tty,
|
51
54
|
command: command
|
@@ -61,6 +64,7 @@ module ShipContainerLib
|
|
61
64
|
|
62
65
|
cmd_docker_stop_command = format(
|
63
66
|
config.active['cmd_ship_project_start_docker_stop'],
|
67
|
+
docker: config.active['cmd_docker'],
|
64
68
|
ship_hostname: _ship_container_lib_ship_hostname
|
65
69
|
)
|
66
70
|
run cmd_docker_stop_command
|
@@ -8,8 +8,11 @@ module ShipContainerUpdate
|
|
8
8
|
|
9
9
|
cmd_docker_pull = _ship_container_update_cmd_docker_pull
|
10
10
|
|
11
|
-
cmd_docker_remove_dangling =
|
12
|
-
config.active['cmd_docker_image_update_docker_remove_dangling']
|
11
|
+
cmd_docker_remove_dangling = format(
|
12
|
+
config.active['cmd_docker_image_update_docker_remove_dangling'],
|
13
|
+
docker: config.active['cmd_docker']
|
14
|
+
)
|
15
|
+
|
13
16
|
run_and_exit "#{cmd_docker_pull} && #{cmd_docker_remove_dangling}"
|
14
17
|
end
|
15
18
|
|
@@ -22,6 +25,7 @@ module ShipContainerUpdate
|
|
22
25
|
ship_tag = config.active['ship_tag']
|
23
26
|
format(
|
24
27
|
config.active['cmd_docker_image_update_docker_pull'],
|
28
|
+
docker: config.active['cmd_docker'],
|
25
29
|
docker_user: ship_user,
|
26
30
|
docker_repo: ship_repo,
|
27
31
|
docker_tag: ship_tag
|
@@ -4,10 +4,12 @@
|
|
4
4
|
module ShipProjectStart
|
5
5
|
# Start a takelship
|
6
6
|
def ship_project_start(project)
|
7
|
-
return false
|
7
|
+
return false unless docker_check_daemon
|
8
8
|
|
9
9
|
return false if _docker_container_lib_check_matrjoschka
|
10
10
|
|
11
|
+
return false if ship_container_check_existing
|
12
|
+
|
11
13
|
takelship = _ship_info_lib_get_takelshipinfo
|
12
14
|
project = config.active['ship_default_project'] if project == 'default'
|
13
15
|
project = takelship['default_project'] if project == 'default'
|
data/lib/takeltau/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.43.
|
1
|
+
0.43.10
|