aws_docker_utils 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "docopt"
4
+ require_relative "../lib/collectors/to_s3.rb"
5
+
6
+ module AwsDockerUtils
7
+
8
+ doc = <<DOCOPT
9
+ AWS Docker Utils Module.
10
+ Author: Bogdan Kulbida.
11
+
12
+ Usage:
13
+ #{__FILE__} backup_file from <container_name> to <s3_bucket_name> as <as_task> using <cmd>
14
+ #{__FILE__} -h | --help
15
+ #{__FILE__} --version
16
+
17
+ Options:
18
+ -h --help Show this screen.
19
+ --version Show version.
20
+
21
+ DOCOPT
22
+
23
+ begin
24
+ collector = Collectors::ToS3.new(Docopt::docopt(doc))
25
+ collector.push
26
+ rescue Docopt::Exit => e
27
+ puts e.message
28
+ end
29
+
30
+ end
@@ -1,21 +1,21 @@
1
- require "./utils"
2
- require "./docker_compose/client"
3
- require "./s3/client"
1
+ require "./../lib/utils"
2
+ require "./../lib/docker_compose/client"
3
+ require "./../lib/s3/client"
4
4
 
5
5
  module Collectors
6
6
  class ToS3
7
7
 
8
8
  def initialize(opts={})
9
- @bucket_name = opts[:bucket_name]
10
- @db_name = opts[:db_name]
11
- @task_name = opts[:task] || "file"
12
- @container_name = opts[:container_name]
9
+ @bucket_name = opts.fetch('<s3_bucket_name>')
10
+ @task_name = opts.fetch('<as_task>', "file")
11
+ @container_name = opts.fetch('<container_name>')
12
+ @cmd = opts.fetch('<cmd>')
13
13
 
14
14
  @file_name = "#{`date '+#{@task_name}_%y-%m-%d_%H-%M'`.chop}.sql"
15
15
  end
16
16
 
17
17
  def push
18
- DockerCompose::Client.new(container_name: @container_name, cmd: "pg_dump -U postgres -O #{@db_name} > #{@file_name}").exec
18
+ DockerCompose::Client.new(container_name: @container_name, cmd: "#{@cmd} > #{@file_name}").exec
19
19
  file_name = Utils.compress(@file_name)
20
20
 
21
21
  s3 = S3::Client.new(file_name: file_name, bucket_name: @bucket_name)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_docker_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -27,9 +27,26 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: docopt
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  description: Utils package for working with AWS and Docker.
31
47
  email: bkulbida@gmail.com
32
- executables: []
48
+ executables:
49
+ - aws_docker_utils
33
50
  extensions: []
34
51
  extra_rdoc_files: []
35
52
  files:
@@ -37,6 +54,7 @@ files:
37
54
  - lib/utils.rb
38
55
  - lib/collectors/to_s3.rb
39
56
  - lib/docker_compose/client.rb
57
+ - bin/aws_docker_utils
40
58
  homepage: http://rubygems.org/gems/aws_docker_utils
41
59
  licenses:
42
60
  - MIT