takelage 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +674 -0
- data/README.md +159 -0
- data/bin/tau +5 -0
- data/lib/Thorfile +1 -0
- data/lib/takelage/bit/cli.rb +18 -0
- data/lib/takelage/bit/clipboard/cli.rb +68 -0
- data/lib/takelage/bit/clipboard/module.rb +174 -0
- data/lib/takelage/bit/scope/cli.rb +58 -0
- data/lib/takelage/bit/scope/module.rb +81 -0
- data/lib/takelage/completion/cli.rb +21 -0
- data/lib/takelage/default.yml +30 -0
- data/lib/takelage/docker/cli.rb +16 -0
- data/lib/takelage/docker/container/check/cli.rb +40 -0
- data/lib/takelage/docker/container/check/module.rb +44 -0
- data/lib/takelage/docker/container/cli.rb +127 -0
- data/lib/takelage/docker/container/module.rb +168 -0
- data/lib/takelage/docker/image/cli.rb +41 -0
- data/lib/takelage/docker/image/module.rb +33 -0
- data/lib/takelage/docker/image/tag/check/cli.rb +47 -0
- data/lib/takelage/docker/image/tag/check/module.rb +56 -0
- data/lib/takelage/docker/image/tag/cli.rb +16 -0
- data/lib/takelage/docker/image/tag/latest/cli.rb +49 -0
- data/lib/takelage/docker/image/tag/latest/module.rb +31 -0
- data/lib/takelage/docker/image/tag/list/cli.rb +46 -0
- data/lib/takelage/docker/image/tag/list/module.rb +44 -0
- data/lib/takelage/docker/socket/cli.rb +61 -0
- data/lib/takelage/docker/socket/module.rb +137 -0
- data/lib/takelage/git/check/cli.rb +46 -0
- data/lib/takelage/git/check/module.rb +64 -0
- data/lib/takelage/git/cli.rb +10 -0
- data/lib/takelage/info/cli.rb +10 -0
- data/lib/takelage/info/project/cli.rb +47 -0
- data/lib/takelage/lib/config.rb +80 -0
- data/lib/takelage/lib/logging.rb +30 -0
- data/lib/takelage/lib/project.rb +57 -0
- data/lib/takelage/lib/subcmd.rb +13 -0
- data/lib/takelage/lib/system.rb +107 -0
- data/lib/takelage/self/cli.rb +40 -0
- data/lib/takelage/self/config/cli.rb +70 -0
- data/lib/takelage/self/module.rb +26 -0
- data/lib/takelage/version +1 -0
- data/lib/takelage.rb +198 -0
- metadata +185 -0
@@ -0,0 +1,107 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
require 'open3'
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
|
6
|
+
# Interaction with the operating system
|
7
|
+
module SystemModule
|
8
|
+
|
9
|
+
# Run a command and return the result.
|
10
|
+
# @return [Boolean] success of command run
|
11
|
+
def run_and_check(command)
|
12
|
+
log.debug "Running command '#{command}'"
|
13
|
+
stdout_str, stderr_str, status = Open3.capture3 command
|
14
|
+
return stdout_str, stderr_str, status
|
15
|
+
end
|
16
|
+
|
17
|
+
# Print hash as yaml.
|
18
|
+
def hash_to_yaml(hash)
|
19
|
+
if hash == {}
|
20
|
+
return nil.to_yaml
|
21
|
+
end
|
22
|
+
return hash.to_yaml
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [Hash] content of yaml file
|
26
|
+
def read_yaml_file(file)
|
27
|
+
log.debug "Reading YAML file \"#{file}\""
|
28
|
+
|
29
|
+
# Check file existenc
|
30
|
+
unless File.exists? file
|
31
|
+
log.debug "File \"#{file}\" doesn't exist"
|
32
|
+
return nil
|
33
|
+
end
|
34
|
+
|
35
|
+
# Read file
|
36
|
+
begin
|
37
|
+
content_yaml = File.read file
|
38
|
+
rescue
|
39
|
+
log.debug "Unable to read file \"#{file}\""
|
40
|
+
return nil
|
41
|
+
end
|
42
|
+
|
43
|
+
# Parse YAML
|
44
|
+
begin
|
45
|
+
content = YAML.load content_yaml
|
46
|
+
rescue
|
47
|
+
log.debug "Invalid YAML file \"#{file}\""
|
48
|
+
log.debug "Try: yamllint #{file}"
|
49
|
+
return nil
|
50
|
+
end
|
51
|
+
|
52
|
+
content
|
53
|
+
end
|
54
|
+
|
55
|
+
# Remove directory tree.
|
56
|
+
def rm_fr(directory)
|
57
|
+
unless File.directory? directory
|
58
|
+
log.error "Cannot remove non-existing directory \"#{directory}\""
|
59
|
+
return
|
60
|
+
end
|
61
|
+
log.debug "Removing directory \"#{directory}\" recursively"
|
62
|
+
Pathname.new(directory).rmtree
|
63
|
+
end
|
64
|
+
|
65
|
+
# Run a command.
|
66
|
+
# @return [String] stdout of command
|
67
|
+
def run(command, realtime=false)
|
68
|
+
log.debug "Running command '#{command}'"
|
69
|
+
stdout_str = ''
|
70
|
+
stderr_str = ''
|
71
|
+
status = ''
|
72
|
+
exitstatus = -1
|
73
|
+
Open3.popen3 command do |stdin, stdout, stderr, thread|
|
74
|
+
stdout.each do |line|
|
75
|
+
say line if realtime
|
76
|
+
stdout_str += line
|
77
|
+
end
|
78
|
+
stderr_str = stderr
|
79
|
+
status = thread.value
|
80
|
+
exitstatus = thread.value.exitstatus
|
81
|
+
end
|
82
|
+
unless status.success?
|
83
|
+
log.error "Command \"#{command}\" failed!"
|
84
|
+
log.debug "status: #{status}"
|
85
|
+
log.debug "stdout: #{stdout_str}"
|
86
|
+
log.debug "stderr: #{stderr_str}"
|
87
|
+
exit exitstatus
|
88
|
+
end
|
89
|
+
stdout_str
|
90
|
+
end
|
91
|
+
|
92
|
+
# Use Kernel#exec to replace the ruby process with a command.
|
93
|
+
def run_and_exit(command)
|
94
|
+
log.debug "Running command '#{command}' and exiting afterwards"
|
95
|
+
exec command
|
96
|
+
end
|
97
|
+
|
98
|
+
# Use Kernel#fork and Kernel#exec to run a command as a background process.
|
99
|
+
def run_and_fork(command)
|
100
|
+
log.debug "Running command '#{command}' as a background process"
|
101
|
+
job = fork do
|
102
|
+
exec command
|
103
|
+
end
|
104
|
+
Process.detach(job)
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Takelage
|
2
|
+
|
3
|
+
# semantic version number
|
4
|
+
VERSION = (File.read "#{File.dirname(__FILE__)}/../version").chomp
|
5
|
+
|
6
|
+
# takelage self
|
7
|
+
class Self < SubCommandBase
|
8
|
+
|
9
|
+
include LoggingModule
|
10
|
+
include SelfModule
|
11
|
+
|
12
|
+
desc 'config [COMMAND]', 'Manage takelage configuration'
|
13
|
+
subcommand 'config', SelfConfig
|
14
|
+
|
15
|
+
#
|
16
|
+
# self list
|
17
|
+
#
|
18
|
+
desc 'list', 'List all commands'
|
19
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
20
|
+
List all commands
|
21
|
+
LONGDESC
|
22
|
+
# List all commands.
|
23
|
+
def list
|
24
|
+
self_list
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# self version
|
29
|
+
#
|
30
|
+
desc 'version', 'Print takelage semantic version number'
|
31
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
32
|
+
Print takelage semantic version number
|
33
|
+
LONGDESC
|
34
|
+
#Print takelage semantic version number.
|
35
|
+
# @return [String] semantic version number
|
36
|
+
def version
|
37
|
+
say VERSION
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Takelage
|
2
|
+
|
3
|
+
# takelage bit
|
4
|
+
class SelfConfig < SubCommandBase
|
5
|
+
|
6
|
+
include LoggingModule
|
7
|
+
include SystemModule
|
8
|
+
include ConfigModule
|
9
|
+
|
10
|
+
#
|
11
|
+
# config defaults
|
12
|
+
#
|
13
|
+
desc 'default', 'Print takelage default configuration'
|
14
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
15
|
+
Print takelage default configuration
|
16
|
+
This command will print the takelage default configuration in YAML format.
|
17
|
+
You can use it as a starting point for your own configuration by
|
18
|
+
redirecting the output to your local takelage configuration file
|
19
|
+
(which is by default ~/.takelage.yml):
|
20
|
+
|
21
|
+
takelage self config defaults > ~/.takelage.yml
|
22
|
+
LONGDESC
|
23
|
+
# Print takelage default configuration.
|
24
|
+
def default
|
25
|
+
say hash_to_yaml(config.default)
|
26
|
+
end
|
27
|
+
|
28
|
+
#
|
29
|
+
# config home
|
30
|
+
#
|
31
|
+
desc 'home', 'Print takelage home config file configuration'
|
32
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
33
|
+
Print takelage home config file configuration
|
34
|
+
This command will print the configuration read from the takelage
|
35
|
+
configuration file in your home directory ~/.takelage.yml).
|
36
|
+
LONGDESC
|
37
|
+
# Print takelage home config file configuration.
|
38
|
+
def home
|
39
|
+
say hash_to_yaml(config.home)
|
40
|
+
end
|
41
|
+
|
42
|
+
#
|
43
|
+
# config project
|
44
|
+
#
|
45
|
+
desc 'project', 'Print takelage project config file configuration'
|
46
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
47
|
+
Print takelage project config file configuration
|
48
|
+
This command will print the configuration read from the takelage
|
49
|
+
configuration file .takelage.yml in your home directory).
|
50
|
+
LONGDESC
|
51
|
+
# Print takelage home config file configuration.
|
52
|
+
def project
|
53
|
+
say hash_to_yaml(config.project)
|
54
|
+
end
|
55
|
+
|
56
|
+
#
|
57
|
+
# config active
|
58
|
+
#
|
59
|
+
desc 'active', 'Print active takelage configuration'
|
60
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
61
|
+
Print active takelage configuration
|
62
|
+
This command will print the configuration read from the takelage
|
63
|
+
configuration file (which is by default ~/.takelage.yml).
|
64
|
+
LONGDESC
|
65
|
+
# Print active takelage configuration.
|
66
|
+
def active
|
67
|
+
say hash_to_yaml(config.active)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# takelage self
|
2
|
+
module SelfModule
|
3
|
+
|
4
|
+
# Backend method for config self.
|
5
|
+
def self_list
|
6
|
+
|
7
|
+
# use Thorfile which requires relative takelage.rb
|
8
|
+
thorfile_dir = "#{File.dirname(__FILE__)}/../"
|
9
|
+
|
10
|
+
# use thor list to get the list of commands and subcommands
|
11
|
+
cmd_thor_list = "bash -c '" +
|
12
|
+
"cd #{thorfile_dir} && " +
|
13
|
+
"thor list" +
|
14
|
+
"'"
|
15
|
+
thor_list = `#{cmd_thor_list}`
|
16
|
+
|
17
|
+
# manipulate thor list output
|
18
|
+
thor_list.gsub! "takelage\n", ''
|
19
|
+
thor_list.gsub! "------\n", ''
|
20
|
+
thor_list.gsub! 'thor ', 'tau '
|
21
|
+
thor_list.gsub! /(.*)takelage:c_l_i:(.*)#(.*)/, '\1\2 #\3'
|
22
|
+
thor_list.gsub! /.*COMMAND.*\n/, ''
|
23
|
+
|
24
|
+
say thor_list
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
data/lib/takelage.rb
ADDED
@@ -0,0 +1,198 @@
|
|
1
|
+
require 'etc'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'fylla'
|
4
|
+
require 'json'
|
5
|
+
require 'logger'
|
6
|
+
require 'net/http'
|
7
|
+
require 'rake'
|
8
|
+
require 'socket'
|
9
|
+
require 'thor'
|
10
|
+
require 'timeout'
|
11
|
+
require 'yaml'
|
12
|
+
|
13
|
+
require_relative 'takelage/lib/logging'
|
14
|
+
require_relative 'takelage/lib/subcmd'
|
15
|
+
require_relative 'takelage/lib/system'
|
16
|
+
require_relative 'takelage/lib/config'
|
17
|
+
require_relative 'takelage/lib/project'
|
18
|
+
|
19
|
+
require_relative 'takelage/git/check/module'
|
20
|
+
require_relative 'takelage/git/check/cli'
|
21
|
+
require_relative 'takelage/git/cli'
|
22
|
+
require_relative 'takelage/bit/scope/module'
|
23
|
+
require_relative 'takelage/bit/scope/cli'
|
24
|
+
require_relative 'takelage/bit/clipboard/module'
|
25
|
+
require_relative 'takelage/bit/clipboard/cli'
|
26
|
+
require_relative 'takelage/bit/cli'
|
27
|
+
require_relative 'takelage/completion/cli'
|
28
|
+
require_relative 'takelage/docker/socket/module'
|
29
|
+
require_relative 'takelage/docker/socket/cli'
|
30
|
+
require_relative 'takelage/docker/image/tag/list/module'
|
31
|
+
require_relative 'takelage/docker/image/tag/list/cli'
|
32
|
+
require_relative 'takelage/docker/image/tag/latest/module'
|
33
|
+
require_relative 'takelage/docker/image/tag/latest/cli'
|
34
|
+
require_relative 'takelage/docker/image/tag/check/module'
|
35
|
+
require_relative 'takelage/docker/image/tag/check/cli'
|
36
|
+
require_relative 'takelage/docker/image/tag/cli'
|
37
|
+
require_relative 'takelage/docker/image/module'
|
38
|
+
require_relative 'takelage/docker/image/cli'
|
39
|
+
require_relative 'takelage/docker/container/check/module'
|
40
|
+
require_relative 'takelage/docker/container/check/cli'
|
41
|
+
require_relative 'takelage/docker/container/module'
|
42
|
+
require_relative 'takelage/docker/container/cli'
|
43
|
+
require_relative 'takelage/docker/cli'
|
44
|
+
require_relative 'takelage/info/project/cli'
|
45
|
+
require_relative 'takelage/info/cli'
|
46
|
+
require_relative 'takelage/self/config/cli'
|
47
|
+
require_relative 'takelage/self/module'
|
48
|
+
require_relative 'takelage/self/cli'
|
49
|
+
|
50
|
+
|
51
|
+
# Facilitate the takelage devops workflow.
|
52
|
+
module Takelage
|
53
|
+
|
54
|
+
# takelage
|
55
|
+
class CLI < Thor
|
56
|
+
|
57
|
+
include LoggingModule
|
58
|
+
include SystemModule
|
59
|
+
include ConfigModule
|
60
|
+
include ProjectModule
|
61
|
+
|
62
|
+
check_unknown_options!
|
63
|
+
|
64
|
+
# @return [String] bash completion code
|
65
|
+
attr_reader :bash_fylla
|
66
|
+
|
67
|
+
option :loglevel,
|
68
|
+
:aliases => 'l',
|
69
|
+
:default => 'INFO',
|
70
|
+
:desc => 'One of: FATAL, ERROR, WARN, INFO, DEBUG'
|
71
|
+
# Initialize takelage cli.
|
72
|
+
def initialize(args = [], local_options = {}, configuration = {})
|
73
|
+
|
74
|
+
# Initialize thor parent class
|
75
|
+
super args, local_options, configuration
|
76
|
+
|
77
|
+
# Initialize global singleton log
|
78
|
+
initialize_logging options[:loglevel].to_s.upcase
|
79
|
+
|
80
|
+
# Initialize global singleton config
|
81
|
+
initialize_config
|
82
|
+
|
83
|
+
# Initialize global singleton project
|
84
|
+
initialize_project
|
85
|
+
|
86
|
+
# fylla bash completion code
|
87
|
+
@bash_fylla = Fylla.bash_completion self
|
88
|
+
end
|
89
|
+
|
90
|
+
#
|
91
|
+
# Subcommands
|
92
|
+
#
|
93
|
+
|
94
|
+
desc 'bit [COMMAND] ', 'Manage bit'
|
95
|
+
subcommand 'bit', Bit
|
96
|
+
|
97
|
+
desc 'completion [COMMAND] ', 'Print shell completion code'
|
98
|
+
subcommand 'completion', Completion
|
99
|
+
|
100
|
+
desc 'docker [COMMAND] ', 'Manage docker containers'
|
101
|
+
subcommand 'docker', Docker
|
102
|
+
|
103
|
+
desc 'git [COMMAND] ', 'Manage git'
|
104
|
+
subcommand 'git', Git
|
105
|
+
|
106
|
+
desc 'info [COMMAND] ', 'Get information'
|
107
|
+
subcommand 'info', Info
|
108
|
+
|
109
|
+
desc 'self [COMMAND] ', 'Manage takelage tools'
|
110
|
+
subcommand 'self', Self
|
111
|
+
|
112
|
+
#
|
113
|
+
# Top-level commands
|
114
|
+
#
|
115
|
+
|
116
|
+
desc 'config', 'Alias for tau self config active'
|
117
|
+
# takelage config: {takelage::SelfConfig#active}
|
118
|
+
def config
|
119
|
+
Takelage::SelfConfig.new.active
|
120
|
+
end
|
121
|
+
|
122
|
+
desc 'copy [DIR] [SCOPE]', 'Alias for tau bit clipboard copy'
|
123
|
+
# takelage copy: {takelage::BitClipboard#copy}
|
124
|
+
def copy(dir_or_file, scope)
|
125
|
+
Takelage::BitClipboard.new.copy dir_or_file, scope
|
126
|
+
end
|
127
|
+
|
128
|
+
desc 'project', 'Alias for tau info project active'
|
129
|
+
# takelage project: {takelage::InfoProject#active}
|
130
|
+
def project
|
131
|
+
Takelage::InfoProject.new.active
|
132
|
+
end
|
133
|
+
|
134
|
+
desc 'login', 'Alias for tau docker container login'
|
135
|
+
# takelage login: {takelage::DockerContainer#login}
|
136
|
+
def login
|
137
|
+
Takelage::DockerContainer.new.login
|
138
|
+
end
|
139
|
+
|
140
|
+
desc 'list', 'Alias for tau self list'
|
141
|
+
# takelage version: {takelage::Self#list}
|
142
|
+
def list
|
143
|
+
Takelage::Self.new.list
|
144
|
+
end
|
145
|
+
|
146
|
+
desc 'nuke', 'Alias for tau docker container nuke'
|
147
|
+
# takelage nuke: {takelage::DockerContainer#nuke}
|
148
|
+
def nuke
|
149
|
+
Takelage::DockerContainer.new.nuke
|
150
|
+
end
|
151
|
+
|
152
|
+
desc 'paste [COMPONENT] [DIR]', 'Alias for tau bit clipboard paste'
|
153
|
+
# takelage paste: {takelage::BitClipboard#paste}
|
154
|
+
def paste(cid, dir)
|
155
|
+
Takelage::BitClipboard.new.paste cid, dir
|
156
|
+
end
|
157
|
+
|
158
|
+
desc 'pull', 'Alias for tau bit clipboard pull'
|
159
|
+
# takelage pull: {takelage::BitClipboard#pull}
|
160
|
+
def pull
|
161
|
+
Takelage::BitClipboard.new.pull
|
162
|
+
end
|
163
|
+
|
164
|
+
desc 'purge', 'Alias for tau docker container purge'
|
165
|
+
# takelage purge: {takelage::DockerContainer#purge}
|
166
|
+
def purge
|
167
|
+
Takelage::DockerContainer.new.purge
|
168
|
+
end
|
169
|
+
|
170
|
+
desc 'push', 'Alias for tau bit clipboard push'
|
171
|
+
# takelage push: {takelage::BitClipboard#push}
|
172
|
+
def push
|
173
|
+
Takelage::BitClipboard.new.push
|
174
|
+
end
|
175
|
+
|
176
|
+
desc 'update', 'Alias for tau docker image update'
|
177
|
+
# takelage update: {takelage::DockerImage#update}
|
178
|
+
def update
|
179
|
+
Takelage::DockerImage.new.update
|
180
|
+
end
|
181
|
+
|
182
|
+
desc 'version', 'Alias for tau self version'
|
183
|
+
# takelage version: {takelage::Self#version}
|
184
|
+
def version
|
185
|
+
Takelage::Self.new.version
|
186
|
+
end
|
187
|
+
|
188
|
+
#
|
189
|
+
# Administrative functions
|
190
|
+
#
|
191
|
+
|
192
|
+
# Behave as expected by correctly reporting failure in exit status.
|
193
|
+
# See https://github.com/erikhuda/thor/wiki/Making-An-Executable
|
194
|
+
def self.exit_on_failure?
|
195
|
+
true
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
metadata
ADDED
@@ -0,0 +1,185 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: takelage
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Geospin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-12-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: json
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: logger
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.4'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.4'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '12.3'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '12.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: thor
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.17'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.17'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '12.3'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '12.3'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.9'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.9'
|
111
|
+
description: tau-cli is a thor command line script to tame the takelage devops workflow
|
112
|
+
email:
|
113
|
+
- takelage@geospin.de
|
114
|
+
executables:
|
115
|
+
- tau
|
116
|
+
extensions: []
|
117
|
+
extra_rdoc_files: []
|
118
|
+
files:
|
119
|
+
- LICENSE
|
120
|
+
- README.md
|
121
|
+
- bin/tau
|
122
|
+
- lib/Thorfile
|
123
|
+
- lib/takelage.rb
|
124
|
+
- lib/takelage/bit/cli.rb
|
125
|
+
- lib/takelage/bit/clipboard/cli.rb
|
126
|
+
- lib/takelage/bit/clipboard/module.rb
|
127
|
+
- lib/takelage/bit/scope/cli.rb
|
128
|
+
- lib/takelage/bit/scope/module.rb
|
129
|
+
- lib/takelage/completion/cli.rb
|
130
|
+
- lib/takelage/default.yml
|
131
|
+
- lib/takelage/docker/cli.rb
|
132
|
+
- lib/takelage/docker/container/check/cli.rb
|
133
|
+
- lib/takelage/docker/container/check/module.rb
|
134
|
+
- lib/takelage/docker/container/cli.rb
|
135
|
+
- lib/takelage/docker/container/module.rb
|
136
|
+
- lib/takelage/docker/image/cli.rb
|
137
|
+
- lib/takelage/docker/image/module.rb
|
138
|
+
- lib/takelage/docker/image/tag/check/cli.rb
|
139
|
+
- lib/takelage/docker/image/tag/check/module.rb
|
140
|
+
- lib/takelage/docker/image/tag/cli.rb
|
141
|
+
- lib/takelage/docker/image/tag/latest/cli.rb
|
142
|
+
- lib/takelage/docker/image/tag/latest/module.rb
|
143
|
+
- lib/takelage/docker/image/tag/list/cli.rb
|
144
|
+
- lib/takelage/docker/image/tag/list/module.rb
|
145
|
+
- lib/takelage/docker/socket/cli.rb
|
146
|
+
- lib/takelage/docker/socket/module.rb
|
147
|
+
- lib/takelage/git/check/cli.rb
|
148
|
+
- lib/takelage/git/check/module.rb
|
149
|
+
- lib/takelage/git/cli.rb
|
150
|
+
- lib/takelage/info/cli.rb
|
151
|
+
- lib/takelage/info/project/cli.rb
|
152
|
+
- lib/takelage/lib/config.rb
|
153
|
+
- lib/takelage/lib/logging.rb
|
154
|
+
- lib/takelage/lib/project.rb
|
155
|
+
- lib/takelage/lib/subcmd.rb
|
156
|
+
- lib/takelage/lib/system.rb
|
157
|
+
- lib/takelage/self/cli.rb
|
158
|
+
- lib/takelage/self/config/cli.rb
|
159
|
+
- lib/takelage/self/module.rb
|
160
|
+
- lib/takelage/version
|
161
|
+
homepage: https://geospin.de
|
162
|
+
licenses:
|
163
|
+
- GPL-3.0
|
164
|
+
metadata:
|
165
|
+
yard.run: yard
|
166
|
+
post_install_message:
|
167
|
+
rdoc_options: []
|
168
|
+
require_paths:
|
169
|
+
- lib
|
170
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - ">="
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0'
|
175
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
180
|
+
requirements: []
|
181
|
+
rubygems_version: 3.0.8
|
182
|
+
signing_key:
|
183
|
+
specification_version: 4
|
184
|
+
summary: takelage devops workflow cli
|
185
|
+
test_files: []
|