aws_docker_utils 0.0.1 → 0.0.2

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.
@@ -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