Sha256: 445a2278ec52b70527d793602ec1ca346ca3f37ed655b9d4e15d51839e9c4858

Contents?: true

Size: 660 Bytes

Versions: 5

Compression:

Stored size: 660 Bytes

Contents

require "fog/aws"
require "open-uri"

class PgbackupsArchive::Storage

  def initialize(key, file)
    @key = key
    @file = file
  end

  def connection
    Fog::Storage.new({
      :provider              => "AWS",
      :aws_access_key_id     => ENV["PGBACKUPS_AWS_ACCESS_KEY_ID"],
      :aws_secret_access_key => ENV["PGBACKUPS_AWS_SECRET_ACCESS_KEY"],
      :region                => ENV["PGBACKUPS_REGION"],
      :persistent            => false
    })
  end

  def bucket
    connection.directories.get ENV["PGBACKUPS_BUCKET"]
  end

  def store
    bucket.files.create :key => @key, :body => @file, :public => false, :encryption => "AES256"
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pgbackups-archive-1.0.3 lib/pgbackups-archive/storage.rb
pgbackups-archive-1.0.2 lib/pgbackups-archive/storage.rb
pgbackups-archive-1.0.1 lib/pgbackups-archive/storage.rb
pgbackups-archive-1.0.0 lib/pgbackups-archive/storage.rb
pgbackups-archive-0.3.0 lib/pgbackups-archive/storage.rb