takelage 0.18.1
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 +7 -0
- data/LICENSE +674 -0
- data/README.md +213 -0
- data/bin/tau +6 -0
- data/lib/Thorfile +3 -0
- data/lib/takelage.rb +230 -0
- data/lib/takelage/bit/check/cli.rb +23 -0
- data/lib/takelage/bit/check/workspace.rb +37 -0
- data/lib/takelage/bit/cli.rb +15 -0
- data/lib/takelage/bit/clipboard/cli.rb +73 -0
- data/lib/takelage/bit/clipboard/copy.rb +140 -0
- data/lib/takelage/bit/clipboard/lib.rb +132 -0
- data/lib/takelage/bit/clipboard/paste.rb +57 -0
- data/lib/takelage/bit/clipboard/pull.rb +37 -0
- data/lib/takelage/bit/clipboard/push.rb +37 -0
- data/lib/takelage/bit/scope/add.rb +55 -0
- data/lib/takelage/bit/scope/cli.rb +74 -0
- data/lib/takelage/bit/scope/inbit.rb +13 -0
- data/lib/takelage/bit/scope/list.rb +41 -0
- data/lib/takelage/bit/scope/new.rb +44 -0
- data/lib/takelage/completion/cli.rb +24 -0
- data/lib/takelage/default.yml +68 -0
- data/lib/takelage/docker/check/cli.rb +23 -0
- data/lib/takelage/docker/check/running.rb +23 -0
- data/lib/takelage/docker/cli.rb +18 -0
- data/lib/takelage/docker/container/check/cli.rb +57 -0
- data/lib/takelage/docker/container/check/existing.rb +31 -0
- data/lib/takelage/docker/container/check/network.rb +31 -0
- data/lib/takelage/docker/container/check/orphaned.rb +31 -0
- data/lib/takelage/docker/container/clean.rb +39 -0
- data/lib/takelage/docker/container/cli.rb +114 -0
- data/lib/takelage/docker/container/command.rb +33 -0
- data/lib/takelage/docker/container/daemon.rb +13 -0
- data/lib/takelage/docker/container/lib.rb +160 -0
- data/lib/takelage/docker/container/login.rb +46 -0
- data/lib/takelage/docker/container/prune.rb +30 -0
- data/lib/takelage/docker/image/check/cli.rb +39 -0
- data/lib/takelage/docker/image/check/outdated.rb +40 -0
- data/lib/takelage/docker/image/cli.rb +44 -0
- data/lib/takelage/docker/image/tag/check/cli.rb +48 -0
- data/lib/takelage/docker/image/tag/check/local.rb +42 -0
- data/lib/takelage/docker/image/tag/check/remote.rb +38 -0
- data/lib/takelage/docker/image/tag/cli.rb +15 -0
- data/lib/takelage/docker/image/tag/latest/cli.rb +57 -0
- data/lib/takelage/docker/image/tag/latest/local.rb +20 -0
- data/lib/takelage/docker/image/tag/latest/remote.rb +25 -0
- data/lib/takelage/docker/image/tag/list/cli.rb +53 -0
- data/lib/takelage/docker/image/tag/list/local.rb +19 -0
- data/lib/takelage/docker/image/tag/list/remote.rb +28 -0
- data/lib/takelage/docker/image/update.rb +33 -0
- data/lib/takelage/docker/socket/cli.rb +75 -0
- data/lib/takelage/docker/socket/host.rb +25 -0
- data/lib/takelage/docker/socket/lib.rb +88 -0
- data/lib/takelage/docker/socket/scheme.rb +63 -0
- data/lib/takelage/docker/socket/start.rb +34 -0
- data/lib/takelage/docker/socket/stop.rb +55 -0
- data/lib/takelage/git/check/clean.rb +46 -0
- data/lib/takelage/git/check/cli.rb +49 -0
- data/lib/takelage/git/check/master.rb +26 -0
- data/lib/takelage/git/check/workspace.rb +33 -0
- data/lib/takelage/git/cli.rb +9 -0
- data/lib/takelage/info/cli.rb +9 -0
- data/lib/takelage/info/project/cli.rb +56 -0
- data/lib/takelage/lib/config.rb +114 -0
- data/lib/takelage/lib/logging.rb +47 -0
- data/lib/takelage/lib/project.rb +69 -0
- data/lib/takelage/lib/subcmd.rb +16 -0
- data/lib/takelage/lib/system.rb +104 -0
- data/lib/takelage/self/cli.rb +43 -0
- data/lib/takelage/self/config/cli.rb +82 -0
- data/lib/takelage/self/list.rb +30 -0
- data/lib/takelage/version +1 -0
- metadata +298 -0
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# takelage bit clipboard pull
|
4
|
+
module BitClipboardPull
|
5
|
+
# Backend method for bit pull.
|
6
|
+
def bit_clipboard_pull
|
7
|
+
log.debug 'Running bit pull'
|
8
|
+
|
9
|
+
return false unless _bit_clipboard_lib_prepare_workspace
|
10
|
+
|
11
|
+
_bit_clipboard_pull_import_all
|
12
|
+
_bit_clipboard_pull_checkout_all
|
13
|
+
_bit_clipbpard_lib_remove_bit_artifacts
|
14
|
+
_bit_clipboard_lib_sync_workspace
|
15
|
+
|
16
|
+
log.info 'Pulled bit components'
|
17
|
+
true
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
# bit import components into workspace
|
23
|
+
def _bit_clipboard_pull_import_all
|
24
|
+
cmd_bit_import_all =
|
25
|
+
config.active['cmd_bit_clipboard_pull_bit_import_all']
|
26
|
+
|
27
|
+
run cmd_bit_import_all
|
28
|
+
end
|
29
|
+
|
30
|
+
# checkout components and merge them
|
31
|
+
def _bit_clipboard_pull_checkout_all
|
32
|
+
cmd_bit_checkout_all =
|
33
|
+
config.active['cmd_bit_clipboard_pull_bit_checkout_all']
|
34
|
+
|
35
|
+
run cmd_bit_checkout_all
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# takelage bit clipboard push
|
4
|
+
module BitClipboardPush
|
5
|
+
# Backend method for bit push
|
6
|
+
def bit_clipboard_push
|
7
|
+
log.debug 'Running bit push'
|
8
|
+
|
9
|
+
return false unless _bit_clipboard_lib_prepare_workspace
|
10
|
+
|
11
|
+
_bit_clipboard_push_tag_all
|
12
|
+
_bit_clipboard_push_export_all
|
13
|
+
_bit_clipbpard_lib_remove_bit_artifacts
|
14
|
+
_bit_clipboard_lib_sync_workspace
|
15
|
+
|
16
|
+
log.info 'Pushed bit components'
|
17
|
+
true
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
# bit tag all components
|
23
|
+
def _bit_clipboard_push_tag_all
|
24
|
+
cmd_bit_tag_all =
|
25
|
+
config.active['cmd_bit_clipboard_push_bit_tag_all']
|
26
|
+
|
27
|
+
run cmd_bit_tag_all
|
28
|
+
end
|
29
|
+
|
30
|
+
# bit export components
|
31
|
+
def _bit_clipboard_push_export_all
|
32
|
+
cmd_bit_export_all =
|
33
|
+
config.active['cmd_bit_clipboard_push_bit_export_all']
|
34
|
+
|
35
|
+
run cmd_bit_export_all
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# takelage bit scope add
|
4
|
+
module BitScopeAdd
|
5
|
+
# Backend method for bit scope add.
|
6
|
+
def bit_scope_add(scope)
|
7
|
+
log.debug "Adding bit remote scope \"#{scope}\" to local workspace"
|
8
|
+
|
9
|
+
return false unless configured? %w[bit_ssh bit_remote]
|
10
|
+
|
11
|
+
return false unless _bit_scope_add_workspace_ready?
|
12
|
+
|
13
|
+
return false unless _bit_scope_add_scope_exists? scope
|
14
|
+
|
15
|
+
run _bit_scope_add_cmd scope
|
16
|
+
|
17
|
+
log.info "Added bit remote scope \"#{scope}\" to local bit workspace"
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
# Check if workspace ready for bit scope add.
|
23
|
+
def _bit_scope_add_workspace_ready?
|
24
|
+
unless bit_check_workspace
|
25
|
+
log.error 'No bit workspace'
|
26
|
+
return false
|
27
|
+
end
|
28
|
+
|
29
|
+
return true unless git_check_workspace
|
30
|
+
|
31
|
+
return true if git_check_master
|
32
|
+
|
33
|
+
log.error 'Not on git master branch'
|
34
|
+
false
|
35
|
+
end
|
36
|
+
|
37
|
+
# Check if bit remote scope exists.
|
38
|
+
def _bit_scope_add_scope_exists?(scope)
|
39
|
+
return true if bit_scope_list.include? scope
|
40
|
+
|
41
|
+
log.error "The bit remote bit scope \"#{scope}\" doesn't exist"
|
42
|
+
false
|
43
|
+
end
|
44
|
+
|
45
|
+
# Prepare bit add scope command.
|
46
|
+
def _bit_scope_add_cmd(scope)
|
47
|
+
remote = config.active['bit_remote']
|
48
|
+
|
49
|
+
format(
|
50
|
+
config.active['cmd_bit_scope_add_scope'],
|
51
|
+
remote: remote,
|
52
|
+
scope: scope
|
53
|
+
)
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Takelage
|
4
|
+
# takelage bit scope
|
5
|
+
class BitScope < SubCommandBase
|
6
|
+
include LoggingModule
|
7
|
+
include SystemModule
|
8
|
+
include ConfigModule
|
9
|
+
include GitCheckMaster
|
10
|
+
include GitCheckWorkspace
|
11
|
+
include BitCheckWorkspace
|
12
|
+
include BitScopeAdd
|
13
|
+
include BitScopeInbit
|
14
|
+
include BitScopeList
|
15
|
+
include BitScopeNew
|
16
|
+
|
17
|
+
#
|
18
|
+
# bit scope add
|
19
|
+
#
|
20
|
+
desc 'add [SCOPE]', 'Add a bit [SCOPE]'
|
21
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
22
|
+
Add bit remote scope
|
23
|
+
This command will add a bit remote scope to a local bit workspace.
|
24
|
+
The scope must exist on the bit remote server.
|
25
|
+
LONGDESC
|
26
|
+
# Add bit remote scope.
|
27
|
+
def add(scope)
|
28
|
+
exit bit_scope_add scope
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# bit scope new
|
33
|
+
#
|
34
|
+
desc 'new [SCOPE]', 'Init a new bit [SCOPE]'
|
35
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
36
|
+
Create new bit remote scope
|
37
|
+
This command will create a new directory on the remote bit server.
|
38
|
+
Then it will run "bit init --bare" in the newly created directory.
|
39
|
+
See the bit documentation: http://docs.bit.dev/docs/bit-server
|
40
|
+
LONGDESC
|
41
|
+
# Create new bit remote scope.
|
42
|
+
def new(scope)
|
43
|
+
exit bit_scope_new scope
|
44
|
+
end
|
45
|
+
|
46
|
+
#
|
47
|
+
# bit scope list
|
48
|
+
#
|
49
|
+
desc 'list', 'List bit remote scopes'
|
50
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
51
|
+
List bit remote scopes
|
52
|
+
This command will list bit remote scopes.
|
53
|
+
LONGDESC
|
54
|
+
# List bit remote scopes.
|
55
|
+
def list
|
56
|
+
scopes = bit_scope_list
|
57
|
+
exit false if scopes == false
|
58
|
+
say scopes unless scopes.to_s.strip.empty?
|
59
|
+
true
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# bit scope inbit
|
64
|
+
#
|
65
|
+
desc 'inbit', 'Log in to bit remote server'
|
66
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
67
|
+
Log in to bit remote server
|
68
|
+
LONGDESC
|
69
|
+
# Log in to bit remote server.
|
70
|
+
def inbit
|
71
|
+
exit bit_scope_inbit
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# takelage bit scope inbit
|
4
|
+
module BitScopeInbit
|
5
|
+
# Backend method for bit scope inbit.
|
6
|
+
def bit_scope_inbit
|
7
|
+
log.debug 'Logging in to bit remote server'
|
8
|
+
|
9
|
+
return false unless configured? %w[bit_ssh]
|
10
|
+
|
11
|
+
run_and_exit config.active['bit_ssh']
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# takelage bit scope list
|
4
|
+
module BitScopeList
|
5
|
+
# Backend method for bit scope list.
|
6
|
+
# @return [String] list of bit scopes
|
7
|
+
def bit_scope_list
|
8
|
+
log.debug 'Listing bit remote scopes'
|
9
|
+
|
10
|
+
return false unless configured? %w[bit_ssh bit_remote]
|
11
|
+
|
12
|
+
# get ssh command from active config
|
13
|
+
cmd_bit_ssh =
|
14
|
+
config.active['bit_ssh']
|
15
|
+
|
16
|
+
root = config.active['bit_root']
|
17
|
+
|
18
|
+
cmd_bit_scope_list = _bit_scope_list_cmd root
|
19
|
+
|
20
|
+
# run ssh command with scope list command
|
21
|
+
scope_list = run "#{cmd_bit_ssh} '#{cmd_bit_scope_list}'"
|
22
|
+
|
23
|
+
# remove bit remote root directory from results
|
24
|
+
scope_list.gsub!(%r{#{root}/*}, '')
|
25
|
+
|
26
|
+
# remove /scope.json from results
|
27
|
+
scope_list.gsub!(%r{/scope.json}, '')
|
28
|
+
|
29
|
+
scope_list
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
# Prepare bit scope list command.
|
35
|
+
def _bit_scope_list_cmd(root)
|
36
|
+
format(
|
37
|
+
config.active['cmd_bit_scope_list_find_scopes'],
|
38
|
+
root: root
|
39
|
+
)
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# takelage bit scope new
|
4
|
+
module BitScopeNew
|
5
|
+
# Backend method for bit scope new.
|
6
|
+
# @return [Int] status of new command
|
7
|
+
def bit_scope_new(scope)
|
8
|
+
log.debug "Creating new bit remote scope \"#{scope}\""
|
9
|
+
|
10
|
+
return false unless configured? %w[bit_ssh bit_remote]
|
11
|
+
|
12
|
+
return false if _bit_scope_new_scope_exists? scope
|
13
|
+
|
14
|
+
cmd_bit_ssh = config.active['bit_ssh']
|
15
|
+
|
16
|
+
cmd_bit_scope_new = _bit_scope_new_cmd scope
|
17
|
+
|
18
|
+
run "#{cmd_bit_ssh} '#{cmd_bit_scope_new}'"
|
19
|
+
|
20
|
+
log.info "Created new bit remote scope \"#{scope}\""
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
# Check if bit scope already exists.
|
26
|
+
def _bit_scope_new_scope_exists?(scope)
|
27
|
+
scope_list = bit_scope_list
|
28
|
+
return false unless scope_list.include? scope
|
29
|
+
|
30
|
+
log.error "The remote bit scope \"#{scope}\" already exists"
|
31
|
+
false
|
32
|
+
end
|
33
|
+
|
34
|
+
# Prepare bit scope new command.
|
35
|
+
def _bit_scope_new_cmd(scope)
|
36
|
+
root = config.active['bit_root']
|
37
|
+
|
38
|
+
format(
|
39
|
+
config.active['cmd_bit_scope_new_bit_init'],
|
40
|
+
scope: scope,
|
41
|
+
root: root
|
42
|
+
)
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Takelage
|
4
|
+
# takelage completion
|
5
|
+
class Completion < SubCommandBase
|
6
|
+
include LoggingModule
|
7
|
+
|
8
|
+
desc 'bash', 'Print bash completion code'
|
9
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
10
|
+
Print bash completion code
|
11
|
+
This command will print bash code which can be parsed to enable auto-completion for the takelage cli.
|
12
|
+
Add this to your bash startup files:
|
13
|
+
|
14
|
+
source <(tau completion bash)
|
15
|
+
LONGDESC
|
16
|
+
# Print bash completion code.
|
17
|
+
def bash
|
18
|
+
completion_bash = Takelage::CLI.new.bash_fylla
|
19
|
+
exit false if completion_bash == false
|
20
|
+
say completion_bash
|
21
|
+
true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
bit_dev_user: 'takelage'
|
3
|
+
bit_remote: ''
|
4
|
+
bit_root: '/bit'
|
5
|
+
bit_ssh: ''
|
6
|
+
cmd_bit_check_workspace_bit_list: 'bit list'
|
7
|
+
cmd_bit_check_workspace_pwd: 'pwd'
|
8
|
+
cmd_bit_clipboard_copy_bit_list_scope: 'bit list --skip-update --json %{scope}'
|
9
|
+
cmd_bit_clipboard_copy_bit_list_remotes: 'bit remote --skip-update'
|
10
|
+
cmd_bit_clipboard_copy_bit_add_dir: 'bit add --skip-update --id %{id} --main %{dir}/README.bit %{dir}'
|
11
|
+
cmd_bit_clipboard_copy_bit_tag_id: 'bit tag --skip-update --skip-tests %{id}'
|
12
|
+
cmd_bit_clipboard_copy_bit_export_to_scope: 'bit export --skip-update %{scope}'
|
13
|
+
cmd_bit_clipboard_git_add: 'git add %{file}'
|
14
|
+
cmd_bit_clipboard_git_commit: 'git commit --message="%{message}"'
|
15
|
+
cmd_bit_clipboard_git_pull: 'git pull origin master'
|
16
|
+
cmd_bit_clipboard_git_push: 'git push origin master'
|
17
|
+
cmd_bit_clipboard_paste_bit_list_scope: 'bit list --skip-update --json %{scope}'
|
18
|
+
cmd_bit_clipboard_paste_bit_import_cid: 'bit import --ignore-package-json --ignore-dist --skip-update --path %{dir} %{cid}'
|
19
|
+
cmd_bit_clipboard_pull_bit_import_all: 'bit import --ignore-package-json --ignore-dist --skip-update'
|
20
|
+
cmd_bit_clipboard_pull_bit_checkout_all: 'bit checkout --ignore-package-json --ignore-dist --skip-update --skip-npm-install --all latest'
|
21
|
+
cmd_bit_clipboard_push_bit_tag_all: 'bit tag --skip-update --skip-tests --all'
|
22
|
+
cmd_bit_clipboard_push_bit_export_all: 'bit export --skip-update --all'
|
23
|
+
cmd_bit_scope_add_scope: 'bit remote add %{remote}/%{scope}'
|
24
|
+
cmd_bit_scope_list_find_scopes: 'find -L %{root} -name scope.json'
|
25
|
+
cmd_bit_scope_new_bit_init: 'mkdir -p %{root}/%{scope} && cd %{root}/%{scope} && bit init --bare'
|
26
|
+
cmd_bit_scope_remove_scope: 'rm --force --recursive %{root}/%{scope}'
|
27
|
+
cmd_docker_check_running_docker_info: 'docker info'
|
28
|
+
cmd_docker_container_check_existing_docker_ps: 'docker ps --filter name=^%{container}$ --quiet'
|
29
|
+
cmd_docker_container_check_network_docker_network: 'docker network ls --quiet --filter name=^%{network}$'
|
30
|
+
cmd_docker_container_check_orphaned_docker_exec: 'docker exec --interactive %{container} ps a'
|
31
|
+
cmd_docker_container_create: 'docker run --detach --env TAKELAGE_PROJECT_BASE_DIR=%{workdir} --env TZ=%{timezone} --hostname %{container} --name %{container} --network %{container} --privileged --rm --shm-size %{shmsize} --tty --volume %{homedir}:/hostdir --volume %{workdir}:/project %{volume_dev} --workdir /project %{addhost} %{docker_run_options} %{image} %{entrypoint} --gid %{gid} --home %{homedir} --uid %{uid} --username %{username} --docker_daemon_port %{docker_daemon_port} --gpg_agent_port %{gpg_agent_port} --gpg_ssh_agent_port %{gpg_ssh_agent_port} --extra=%{extra} %{entrypoint_options}'
|
32
|
+
cmd_docker_container_create_network: 'docker network create %{network}'
|
33
|
+
cmd_docker_container_enter_container: 'docker exec --interactive --tty %{container} %{loginpoint} --username %{username}'
|
34
|
+
cmd_docker_container_get_container_name: 'docker ps --filter id=%{container} --format "{{.Names}}"'
|
35
|
+
cmd_docker_container_get_containers: 'docker ps --all --filter name=^%{docker_repo}_ --quiet'
|
36
|
+
cmd_docker_container_remove_network: 'docker network rm %{network}'
|
37
|
+
cmd_docker_container_docker_exec: 'docker exec %{container} su %{username} -c "LANG=en_US.UTF-8 %{command}"'
|
38
|
+
cmd_docker_container_stop_container: 'docker stop %{container}'
|
39
|
+
cmd_docker_image_tag_check_local_docker_images: 'docker images --quiet %{image}'
|
40
|
+
cmd_docker_image_tag_list_local_docker_images: 'docker images %{docker_user}\/%{docker_repo} --format "{{.Tag}}"'
|
41
|
+
cmd_docker_image_update_docker_pull_latest: 'docker pull %{docker_user}/%{docker_repo}:%{tag_latest_remote}'
|
42
|
+
cmd_docker_image_update_docker_remove_dangling: 'docker image prune --force'
|
43
|
+
cmd_docker_socket_config_agent_socket_path: 'gpgconf --list-dirs agent-socket'
|
44
|
+
cmd_docker_socket_config_agent_ssh_socket_path: 'gpgconf --list-dirs agent-ssh-socket'
|
45
|
+
cmd_docker_socket_get_start: 'sudo socat TCP-LISTEN:%{port},bind=%{host},reuseaddr,fork UNIX-CLIENT:%{path}'
|
46
|
+
cmd_docker_socket_start_sudo_true: 'sudo true'
|
47
|
+
cmd_docker_socket_stop_docker_socket_ps: 'sudo ps ax -o pid,command'
|
48
|
+
cmd_docker_socket_stop_docker_socket_kill: 'sudo kill -SIGTERM %{pid}'
|
49
|
+
cmd_git_check_clean_git_unstaged: 'git diff --exit-code'
|
50
|
+
cmd_git_check_clean_git_uncommitted: 'git diff --cached --exit-code'
|
51
|
+
cmd_git_check_clean_git_status: 'git status --porcelain'
|
52
|
+
cmd_git_check_master_git_branch: 'git symbolic-ref HEAD'
|
53
|
+
cmd_git_check_workspace_git_repo: 'git -C . rev-parse'
|
54
|
+
cmd_git_check_workspace_pwd: 'pwd'
|
55
|
+
docker_debug: 'ansible/roles/takel-takelage/files/takelscripts'
|
56
|
+
docker_entrypoint_extra: '.config/gcloud'
|
57
|
+
docker_entrypoint_options: ''
|
58
|
+
docker_registry: 'https://registry.hub.docker.com'
|
59
|
+
docker_repo: 'takelage'
|
60
|
+
docker_run_options: '--env GOOGLE_APPLICATION_CREDENTIALS=/hostdir/.google/default.json'
|
61
|
+
docker_shm_size: '512M'
|
62
|
+
docker_socket_docker_daemon_port: 17873
|
63
|
+
docker_socket_gpg_agent_port: 17874
|
64
|
+
docker_socket_gpg_ssh_agent_port: 17875
|
65
|
+
docker_tag: 'latest'
|
66
|
+
docker_user: 'takelage'
|
67
|
+
info_project_main: 'project.yml'
|
68
|
+
info_project_private: 'private/project.yml'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Takelage
|
4
|
+
# takelage docker check
|
5
|
+
class DockerCheck < SubCommandBase
|
6
|
+
include LoggingModule
|
7
|
+
include SystemModule
|
8
|
+
include ConfigModule
|
9
|
+
include DockerCheckRunning
|
10
|
+
|
11
|
+
#
|
12
|
+
# docker check running
|
13
|
+
#
|
14
|
+
desc 'running', 'Check if docker daemon is running'
|
15
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
16
|
+
Check if docker daemon is running
|
17
|
+
LONGDESC
|
18
|
+
# Check if docker daemon is running.
|
19
|
+
def running
|
20
|
+
exit docker_check_running
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# takelage docker check running
|
4
|
+
module DockerCheckRunning
|
5
|
+
# Backend method for docker check running.
|
6
|
+
# @return [Boolean] is the docker daemon running?
|
7
|
+
def docker_check_running
|
8
|
+
return true if @docker_daemon_running
|
9
|
+
|
10
|
+
log.debug 'Check if the docker daemon is running'
|
11
|
+
|
12
|
+
status = try config.active['cmd_docker_check_running_docker_info']
|
13
|
+
|
14
|
+
unless status.exitstatus.zero?
|
15
|
+
log.error 'The docker daemon is not running'
|
16
|
+
return false
|
17
|
+
end
|
18
|
+
|
19
|
+
log.debug 'The docker daemon is running'
|
20
|
+
@docker_daemon_running = true
|
21
|
+
true
|
22
|
+
end
|
23
|
+
end
|