dokku_client 1.2 → 1.3
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/CHANGELOG +7 -2
- data/README.md +35 -27
- data/dokku_client.gemspec +1 -0
- data/lib/dokku.yml +49 -0
- data/lib/dokku_client.rb +1 -0
- data/lib/dokku_client/base.rb +11 -0
- data/lib/dokku_client/cli.rb +31 -8
- data/lib/dokku_client/plugins/memcached.rb +1 -8
- data/lib/dokku_client/plugins/mysql.rb +27 -0
- data/lib/dokku_client/plugins/redis.rb +2 -9
- data/lib/dokku_client/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f04a83b266a594b2501262c1bbacaaa0cb10031e
|
4
|
+
data.tar.gz: 3b4d65d14a553d58d5b9d1110fe7283aa5b50684
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbceabbf61f7c9640eaba827a1836302d481f1ac84e5034df598fc854f6b68cd56fb87ea880ac562d306f60b5f9bf4cd4d712a6b9764faa6aff73658075b1d1b
|
7
|
+
data.tar.gz: fe64d135a13bccd0cf234c312e3f0d9ffe27d6786a2f05c61bded8a83d62fd146f954c2d4bbd8709ee66e0246dc708719d26434eeec0628fcedfbb5dc267999d
|
data/CHANGELOG
CHANGED
data/README.md
CHANGED
@@ -46,7 +46,7 @@ In 'active commands' question when you configuring dokku client type plugin name
|
|
46
46
|
+ mongodb
|
47
47
|
+ redis
|
48
48
|
|
49
|
-
Common and Config commands are enabled by default. If you
|
49
|
+
Common and Config commands are enabled by default. If you want all commands to be visible you need to type 'all' in the question.
|
50
50
|
|
51
51
|
|
52
52
|
## Show help
|
@@ -71,40 +71,47 @@ or
|
|
71
71
|
|
72
72
|
Config commands:
|
73
73
|
config (c) show environment variables for project
|
74
|
-
|
75
|
-
|
76
|
-
|
74
|
+
config:get (gc) <KEY> show exact environment variable
|
75
|
+
config:set (sc) KEY=VALUE [KEY2=VALUE2] set new environment variables
|
76
|
+
config:unset (uc) KEY [KEY2] remove environment variables
|
77
77
|
|
78
78
|
Memcached commands:
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
79
|
+
memcached:create create memcached container
|
80
|
+
memcached:delete delete memcached container
|
81
|
+
memcached:info display container informations
|
82
|
+
memcached:logs display last logs from memcached container
|
83
|
+
memcached:link <container> link an app to memcached container
|
84
84
|
|
85
85
|
MongoDB commands:
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
86
|
+
mongodb:create create a mongo database
|
87
|
+
mongodb:delete delete a mongo database
|
88
|
+
mongodb:console lunch mongodb console as admin
|
89
|
+
mongodb:link link mongo container to application
|
90
|
+
mongodb:logs display logs for mongo container
|
91
|
+
mongodb:list list all mongo databases
|
92
|
+
mongodb:status display status of mongo container
|
93
93
|
|
94
94
|
Postgresql commands:
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
95
|
+
postgresql:create <db> create a postgresql database
|
96
|
+
postgresql:delete <db> delete specified postgresql database
|
97
|
+
postgresql:info <db> display database information
|
98
|
+
postgresql:link <db> link an app to a postgresql container
|
99
|
+
postgresql:list <db> display list of postgresql containers
|
100
|
+
postgresql:logs display last logs from postgresql container
|
101
101
|
|
102
102
|
Redis commands:
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
103
|
+
redis:create create a redis container
|
104
|
+
redis:delete delete redis container
|
105
|
+
redis:info display container informations
|
106
|
+
redis:link <container> link an app to a redis container
|
107
|
+
redis:logs display last logs from redis container
|
108
|
+
|
109
|
+
Mysql commands:
|
110
|
+
mysql:create create a mysql container
|
111
|
+
mysql:delete delete mysql container
|
112
|
+
mysql:info display container informations
|
113
|
+
mysql:link <container> link an app to a mysql container
|
114
|
+
mysql:logs display last logs from mysql container
|
108
115
|
|
109
116
|
## Contributing
|
110
117
|
|
@@ -117,3 +124,4 @@ or
|
|
117
124
|
## Thanks
|
118
125
|
|
119
126
|
This gem is inspired by https://github.com/lubieniebieski/pivo_flow. Thanks to it's author for the inspiration and idea.
|
127
|
+
|
data/dokku_client.gemspec
CHANGED
@@ -17,6 +17,7 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.add_runtime_dependency "grit"
|
18
18
|
gem.add_runtime_dependency "highline"
|
19
19
|
gem.add_runtime_dependency "colorize"
|
20
|
+
gem.add_runtime_dependency "konf"
|
20
21
|
|
21
22
|
gem.add_development_dependency "rake"
|
22
23
|
gem.add_development_dependency "pry"
|
data/lib/dokku.yml
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
no_argument:
|
2
|
+
- "logs"
|
3
|
+
- "reconfig"
|
4
|
+
- "config"
|
5
|
+
- "c"
|
6
|
+
- "l"
|
7
|
+
- "memcached:create"
|
8
|
+
- "memcached:delete"
|
9
|
+
- "memcached:info"
|
10
|
+
- "memcached:logs"
|
11
|
+
- "p"
|
12
|
+
- "url"
|
13
|
+
- "u"
|
14
|
+
- "postgresql:list"
|
15
|
+
- "rdm"
|
16
|
+
- "redis:create"
|
17
|
+
- "redis:delete"
|
18
|
+
- "redis:info"
|
19
|
+
- "redis:logs"
|
20
|
+
- "mongodb:create"
|
21
|
+
- "mongodb:delete"
|
22
|
+
- "mongodb:console"
|
23
|
+
- "mongodb:link"
|
24
|
+
- "mongodb:logs"
|
25
|
+
- "mongodb:list"
|
26
|
+
- "mongodb:status"
|
27
|
+
- "mysql:create"
|
28
|
+
- "mysql:delete"
|
29
|
+
- "mysql:info"
|
30
|
+
- "mysql:logs"
|
31
|
+
single_argument:
|
32
|
+
- "config:get"
|
33
|
+
- "gc"
|
34
|
+
- "memcached:link"
|
35
|
+
- "postgresql:create"
|
36
|
+
- "rc"
|
37
|
+
- "postgresql:info"
|
38
|
+
- "postgresql:delete"
|
39
|
+
- "postgresql:logs"
|
40
|
+
- "postgresql:link"
|
41
|
+
- "redis:link"
|
42
|
+
- "mysql:link"
|
43
|
+
multiple_arguments:
|
44
|
+
- "run_command"
|
45
|
+
- "r"
|
46
|
+
- "sc"
|
47
|
+
- "confi:set"
|
48
|
+
- "config:unset"
|
49
|
+
- "uc"
|
data/lib/dokku_client.rb
CHANGED
data/lib/dokku_client/base.rb
CHANGED
@@ -48,6 +48,17 @@ module DokkuClient
|
|
48
48
|
@options["plugins"].include?(plugin) || @options["plugins"].include?('all')
|
49
49
|
end
|
50
50
|
|
51
|
+
def common_description name, opts
|
52
|
+
if plugin_enabled(name)
|
53
|
+
opts.separator "\n #{name.capitalize} commands:"
|
54
|
+
opts.separator " #{name}:create create a #{name} container"
|
55
|
+
opts.separator " #{name}:delete delete #{name} container"
|
56
|
+
opts.separator " #{name}:info display container informations"
|
57
|
+
opts.separator " #{name}:link <container> link an app to a #{name} container"
|
58
|
+
opts.separator " #{name}:logs display last logs from #{name} container"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
51
62
|
private
|
52
63
|
|
53
64
|
def config_update_success
|
data/lib/dokku_client/cli.rb
CHANGED
@@ -21,6 +21,8 @@ module DokkuClient
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
+
List = Konf.new(YAML.load(File.read(File.expand_path('../../dokku.yml', __FILE__))))
|
25
|
+
|
24
26
|
private
|
25
27
|
|
26
28
|
# available commands
|
@@ -115,6 +117,18 @@ module DokkuClient
|
|
115
117
|
|
116
118
|
def_delegator :dokku_redis, :logs_redis, :redis_logs
|
117
119
|
|
120
|
+
### mysql commands
|
121
|
+
|
122
|
+
def_delegator :dokku_mysql, :create_mysql, :mysql_create
|
123
|
+
|
124
|
+
def_delegator :dokku_mysql, :delete_mysql, :mysql_delete
|
125
|
+
|
126
|
+
def_delegator :dokku_mysql, :info_mysql, :mysql_info
|
127
|
+
|
128
|
+
def_delegator :dokku_mysql, :link_mysql, :mysql_link
|
129
|
+
|
130
|
+
def_delegator :dokku_mysql, :logs_mysql, :mysql_logs
|
131
|
+
|
118
132
|
def reconfig
|
119
133
|
DokkuClient::Base.new.reconfig
|
120
134
|
end
|
@@ -149,6 +163,10 @@ module DokkuClient
|
|
149
163
|
@dokku_redis ||= DokkuClient::Plugins::Redis.new(@options)
|
150
164
|
end
|
151
165
|
|
166
|
+
def dokku_mysql
|
167
|
+
@dokku_mysql ||= DokkuClient::Plugins::Mysql.new(@options)
|
168
|
+
end
|
169
|
+
|
152
170
|
def no_argument_error
|
153
171
|
puts "You forgot argument - look into help"
|
154
172
|
end
|
@@ -165,6 +183,10 @@ module DokkuClient
|
|
165
183
|
arg.include?(':') ? arg.gsub(':', '_').to_sym : arg.to_sym
|
166
184
|
end
|
167
185
|
|
186
|
+
def get_list list, arg
|
187
|
+
List.public_send(list).include?(arg) ? arg : ""
|
188
|
+
end
|
189
|
+
|
168
190
|
def parse_argv(args)
|
169
191
|
@options = {}
|
170
192
|
|
@@ -174,10 +196,11 @@ module DokkuClient
|
|
174
196
|
opts.separator "\n version show gem version"
|
175
197
|
dokku_common.commands(opts)
|
176
198
|
dokku_config.commands(opts)
|
177
|
-
dokku_memcached.commands(opts)
|
178
199
|
dokku_mongodb.commands(opts)
|
179
200
|
dokku_postgresql.commands(opts)
|
180
201
|
dokku_redis.commands(opts)
|
202
|
+
dokku_mysql.commands(opts)
|
203
|
+
dokku_memcached.commands(opts)
|
181
204
|
opts.separator ""
|
182
205
|
opts.separator "\nOptions"
|
183
206
|
|
@@ -203,15 +226,15 @@ module DokkuClient
|
|
203
226
|
|
204
227
|
opt_parser.parse!(args)
|
205
228
|
|
206
|
-
case args[0]
|
207
|
-
when "
|
208
|
-
self.send(get_method(
|
229
|
+
case arg = args[0]
|
230
|
+
when get_list("single_argument", arg)
|
231
|
+
self.send(get_method(arg), args[1])
|
209
232
|
when "help"
|
210
233
|
puts opt_parser
|
211
|
-
when "
|
212
|
-
self.send(get_method(
|
213
|
-
when "
|
214
|
-
first = get_method(
|
234
|
+
when get_list("no_argument", arg)
|
235
|
+
self.send(get_method(arg))
|
236
|
+
when get_list("multiple_arguments", arg)
|
237
|
+
first = get_method(arg)
|
215
238
|
args.shift
|
216
239
|
self.send(first, args.join(' '))
|
217
240
|
when nil
|
@@ -26,14 +26,7 @@ module DokkuClient
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def commands opts
|
29
|
-
|
30
|
-
opts.separator "\n Memcached commands:"
|
31
|
-
opts.separator " memcached:create create memcached container"
|
32
|
-
opts.separator " memcached:delete delete memcached container"
|
33
|
-
opts.separator " memcached:info display container informations"
|
34
|
-
opts.separator " memcached:logs display last logs from memcached container"
|
35
|
-
opts.separator " memcached:link <container> link an app to memcached container"
|
36
|
-
end
|
29
|
+
common_description('memcached', opts)
|
37
30
|
end
|
38
31
|
|
39
32
|
end
|
@@ -2,6 +2,33 @@ module DokkuClient
|
|
2
2
|
module Plugins
|
3
3
|
class Mysql < Base
|
4
4
|
|
5
|
+
def run
|
6
|
+
end
|
7
|
+
|
8
|
+
def create_mysql
|
9
|
+
dokku "mysql:create #{@options["project-name"]}"
|
10
|
+
end
|
11
|
+
|
12
|
+
def delete_mysql
|
13
|
+
dokku "mysql:delete #{@options["project-name"]}"
|
14
|
+
end
|
15
|
+
|
16
|
+
def info_mysql
|
17
|
+
dokku "mysql:info #{@options["project-name"]}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def link_mysql db
|
21
|
+
dokku "mysql:link #{@options["project-name"]} #{db}"
|
22
|
+
end
|
23
|
+
|
24
|
+
def logs_mysql
|
25
|
+
dokku "mysql:logs #{@options["project-name"]}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def commands opts
|
29
|
+
common_description('mysql', opts)
|
30
|
+
end
|
31
|
+
|
5
32
|
end
|
6
33
|
end
|
7
34
|
end
|
@@ -18,7 +18,7 @@ module DokkuClient
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def link_redis container
|
21
|
-
dokku "redis:link #{@options["project-name"]} container"
|
21
|
+
dokku "redis:link #{@options["project-name"]} #{container}"
|
22
22
|
end
|
23
23
|
|
24
24
|
def logs_redis
|
@@ -26,14 +26,7 @@ module DokkuClient
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def commands opts
|
29
|
-
|
30
|
-
opts.separator "\n Redis commands:"
|
31
|
-
opts.separator " redis:create create a redis container"
|
32
|
-
opts.separator " redis:delete delete redis container"
|
33
|
-
opts.separator " redis:info display container informations"
|
34
|
-
opts.separator " redis:link <container> link an app to a redis container"
|
35
|
-
opts.separator " redis:logs display last logs from redis container"
|
36
|
-
end
|
29
|
+
common_description('redis', opts)
|
37
30
|
end
|
38
31
|
|
39
32
|
end
|
data/lib/dokku_client/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dokku_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kuba Łasecki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grit
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: konf
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rake
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,6 +110,7 @@ files:
|
|
96
110
|
- Rakefile
|
97
111
|
- bin/dokku
|
98
112
|
- dokku_client.gemspec
|
113
|
+
- lib/dokku.yml
|
99
114
|
- lib/dokku_client.rb
|
100
115
|
- lib/dokku_client/base.rb
|
101
116
|
- lib/dokku_client/cli.rb
|