servicedesk 0.0.1

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 @@
1
+ {"active":{"host":"04b3a446-d4c8-485b-93b0-2eb3eb3b512b","client":"2e2d0c54-b5c9-4714-bef5-88d334c6ae2b"}}
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in service-desk.gemspec
4
+ gemspec
@@ -0,0 +1,28 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ servicedesk (0.0.1)
5
+ methadone
6
+ sinatra
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ methadone (1.2.3)
12
+ bundler
13
+ rack (1.4.1)
14
+ rack-protection (1.3.2)
15
+ rack
16
+ rake (10.0.3)
17
+ sinatra (1.3.3)
18
+ rack (~> 1.3, >= 1.3.6)
19
+ rack-protection (~> 1.2)
20
+ tilt (~> 1.3, >= 1.3.3)
21
+ tilt (1.3.3)
22
+
23
+ PLATFORMS
24
+ ruby
25
+
26
+ DEPENDENCIES
27
+ rake
28
+ servicedesk!
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 pagodabox
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,29 @@
1
+ # ServiceDesk
2
+
3
+ A web service interface into the repository dropbox.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'servicedesk'
10
+
11
+ And then execute:
12
+
13
+ $ bundle install
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install servicedesk
18
+
19
+ ## Usage
20
+
21
+ Usage: servicedesk package built_on url
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'vagrant-vbguest' unless defined? VagrantVbguest::Config
4
+
5
+
6
+
7
+ Vagrant::Config.run do |config|
8
+
9
+ [[:host, "192.168.78.8"],[:client, "192.168.78.9"]].each do |env, ip|
10
+
11
+ config.vbguest.auto_update = true
12
+ config.vm.define env do |env_config|
13
+
14
+ env_config.vm.network :hostonly, ip
15
+ env_config.vm.customize ["modifyvm", :id, "--cpus", 4, "--memory", 512]
16
+ env_config.vm.share_folder("v-root", "/vagrant", ".", nfs: true)
17
+ env_config.vm.share_folder("v-ssh", "/tmp/.ssh", "#{Dir.home}/.ssh")
18
+
19
+ case env.to_s
20
+ when /^host/
21
+ puts "host section entered"
22
+ env_config.vm.box = "precise32"
23
+ env_config.vm.box_url = "http://files.vagrantup.com/precise32.box"
24
+
25
+ config.vm.provision :chef_solo do |chef|
26
+ chef.cookbooks_path = ['cookbooks']
27
+ chef.add_recipe 'ruby'
28
+ chef.add_recipe 'host_prepare'
29
+ end
30
+ when /^client/
31
+ puts "client section entered"
32
+ env_config.vm.box = "precise32"
33
+ env_config.vm.box_url = "http://files.vagrantup.com/precise32.box"
34
+
35
+ config.vm.provision :chef_solo do |chef|
36
+ chef.cookbooks_path = ['cookbooks']
37
+ chef.add_recipe 'ruby'
38
+ chef.add_recipe 'client_prepare'
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'optparse'
4
+ require 'methadone'
5
+ require 'servicedesk'
6
+
7
+ include Methadone::Main
8
+ include Methadone::CLILogging
9
+
10
+ main do |package, built_on, url|
11
+ puts "in main"
12
+ Servicedesk.push(package, built_on, url)
13
+ end
14
+
15
+ description 'A tool for accepting binary packages and uploading the package to a repository via POST method'
16
+
17
+ arg :package, :required
18
+ arg :built_on, :required
19
+ arg :url, :required
20
+
21
+ go!
@@ -0,0 +1,68 @@
1
+ #
2
+ deb http://192.168.78.8/repo/ precise main
3
+ deb-src http://192.168.78.8/repo/ precise main
4
+
5
+ # deb cdrom:[Ubuntu-Server 12.04 LTS _Precise Pangolin_ - Release amd64 (20120424.1)]/ dists/precise/main/binary-i386/
6
+ # deb cdrom:[Ubuntu-Server 12.04 LTS _Precise Pangolin_ - Release amd64 (20120424.1)]/ dists/precise/restricted/binary-i386/
7
+ # deb cdrom:[Ubuntu-Server 12.04 LTS _Precise Pangolin_ - Release amd64 (20120424.1)]/ precise main restricted
8
+
9
+ #deb cdrom:[Ubuntu-Server 12.04 LTS _Precise Pangolin_ - Release amd64 (20120424.1)]/ dists/precise/main/binary-i386/
10
+ #deb cdrom:[Ubuntu-Server 12.04 LTS _Precise Pangolin_ - Release amd64 (20120424.1)]/ dists/precise/restricted/binary-i386/
11
+ #deb cdrom:[Ubuntu-Server 12.04 LTS _Precise Pangolin_ - Release amd64 (20120424.1)]/ precise main restricted
12
+
13
+ # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
14
+ # newer versions of the distribution.
15
+ deb http://us.archive.ubuntu.com/ubuntu/ precise main restricted
16
+ deb-src http://us.archive.ubuntu.com/ubuntu/ precise main restricted
17
+
18
+ ## Major bug fix updates produced after the final release of the
19
+ ## distribution.
20
+ deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
21
+ deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
22
+
23
+ ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
24
+ ## team. Also, please note that software in universe WILL NOT receive any
25
+ ## review or updates from the Ubuntu security team.
26
+ deb http://us.archive.ubuntu.com/ubuntu/ precise universe
27
+ deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe
28
+ deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
29
+ deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
30
+
31
+ ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
32
+ ## team, and may not be under a free licence. Please satisfy yourself as to
33
+ ## your rights to use the software. Also, please note that software in
34
+ ## multiverse WILL NOT receive any review or updates from the Ubuntu
35
+ ## security team.
36
+ deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse
37
+ deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse
38
+ deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
39
+ deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
40
+
41
+ ## N.B. software from this repository may not have been tested as
42
+ ## extensively as that contained in the main release, although it includes
43
+ ## newer versions of some applications which may provide useful features.
44
+ ## Also, please note that software in backports WILL NOT receive any review
45
+ ## or updates from the Ubuntu security team.
46
+ deb http://us.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
47
+ deb-src http://us.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
48
+
49
+ deb http://security.ubuntu.com/ubuntu precise-security main restricted
50
+ deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
51
+ deb http://security.ubuntu.com/ubuntu precise-security universe
52
+ deb-src http://security.ubuntu.com/ubuntu precise-security universe
53
+ deb http://security.ubuntu.com/ubuntu precise-security multiverse
54
+ deb-src http://security.ubuntu.com/ubuntu precise-security multiverse
55
+
56
+ ## Uncomment the following two lines to add software from Canonical's
57
+ ## 'partner' repository.
58
+ ## This software is not part of Ubuntu, but is offered by Canonical and the
59
+ ## respective vendors as a service to Ubuntu users.
60
+ # deb http://archive.canonical.com/ubuntu precise partner
61
+ # deb-src http://archive.canonical.com/ubuntu precise partner
62
+
63
+ ## Uncomment the following two lines to add software from Ubuntu's
64
+ ## 'extras' repository.
65
+ ## This software is not part of Ubuntu, but is offered by third-party
66
+ ## developers who want to ship their latest software.
67
+ # deb http://extras.ubuntu.com/ubuntu precise main
68
+ # deb-src http://extras.ubuntu.com/ubuntu precise main
@@ -0,0 +1,13 @@
1
+ ## CLIENT RECIPE
2
+
3
+ gem_package "fpm"
4
+
5
+ execute "gem install /vagrant/pkg/servicedesk-0.0.1.gem"
6
+
7
+ directory "/file"
8
+ cookbook_file "/file/dumbhello_1.0_amd64.deb"
9
+ cookbook_file "/file/hellotest_1.0.0_i386.deb"
10
+ cookbook_file "/etc/apt/sources.list"
11
+
12
+ package "git"
13
+ package "curl"
@@ -0,0 +1,7 @@
1
+ require 'rubygems'
2
+ require 'sinatra'
3
+ require 'fileutils'
4
+
5
+ require File.expand_path('../dropbox.rb', __FILE__)
6
+
7
+ run Sinatra::Application
@@ -0,0 +1,17 @@
1
+ Origin: Tyler
2
+ Label: Tyler's Personal Debs
3
+ Codename: precise
4
+ Architectures: i386 amd64 source lpia
5
+ Components: main
6
+ Description: Tylers Personal Debian Repository
7
+ DebOverride: override.precise
8
+ DscOverride: override.precise
9
+
10
+ Origin: Tyler
11
+ Label: Tyler's Personal Debs
12
+ Codename: lenny
13
+ Architectures: i386 amd64 source lpia
14
+ Components: main
15
+ Description: Tylers Personal Debian Repository
16
+ DebOverride: override.lenny
17
+ DscOverride: override.lenny
@@ -0,0 +1,65 @@
1
+ # encoding: utf-8
2
+ require 'digest'
3
+
4
+ set :static, enable
5
+ set :public_folder, '/webservice/'
6
+
7
+ UPLOAD_DIR = File.expand_path('../dropbox', __FILE__)
8
+
9
+ # get '/' do
10
+ # content_type :text
11
+ # ensure_upload_dir!
12
+ # files = Dir.glob(File.join(UPLOAD_DIR, '/**/*')).join("\n")
13
+ # "Files:\n\n#{files}"
14
+ # end
15
+
16
+ get '/' do
17
+ "This is the pagodabox.com repository and dropbox server."
18
+ end
19
+
20
+ # get '/repo/*' do
21
+ # puts "request = #{request}"
22
+ # if File.exists?("/webservice" + request.fullpath)
23
+ # puts "enters file exists"
24
+ # send_file("/webservice" + request.fullpath)
25
+ # else
26
+ # puts "File /webservice#{request.fullpath} is not in repository"
27
+ # end
28
+ # end
29
+
30
+ post '/dropbox' do
31
+
32
+ path = "#{UPLOAD_DIR}/#{params[:distro]}"
33
+ FileUtils.mkdir_p(path) if not File.directory?(path)
34
+ # ensures that the file path exists if not create it
35
+ # if %w(name version architecture ext built_on).all? { |type| params[type].present? }
36
+ if params[:ext] == 'deb'
37
+ file = File.join(path, "#{params[:name]}_#{params[:version]}_#{params[:architecture]}.#{params[:ext]}")
38
+ else
39
+ file = File.join(path, "#{params[:name]}-#{params[:version]}-#{params[:architecture]}.#{params[:ext]}")
40
+ end
41
+ # puts "#{params[:data][:tempfile]}"
42
+ # FileUtils.copy(params[:data][:tempfile], file) # failing on to_str
43
+ puts Digest::MD5.hexdigest("#{params[:file][:tempfile].read}")
44
+ puts "params[:file][:tempfile] = #{params[:file][:tempfile]}"
45
+ if params[:file][:tempfile].respond_to?(:path)
46
+ FileUtils.copy(params[:file][:tempfile].path, file)
47
+ end
48
+ # File.open(file, 'w+') {|f| f.write(params[:data][:tempfile]) } # result file not matching original in md5 hash
49
+ "wrote #{file} to #{path}\n"
50
+
51
+ params[:file][:tempfile].unlink
52
+ # else
53
+ # "Not all parameters met, requires; :name, :version, :architecture, :ext, :built_on"
54
+ # end
55
+ end
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
@@ -0,0 +1,32 @@
1
+ ## HOST RECIPE
2
+
3
+ # Used by the footman gem
4
+ package "reprepro"
5
+ package "git"
6
+ # Vary simple server for testing
7
+ gem_package "thin"
8
+ gem_package "sinatra"
9
+
10
+ # not needed but i like it to show the tree structure of the repo, so much more insight is gained than with ls
11
+ package "tree"
12
+
13
+ # Apt repo setup files
14
+ directory "/webservice"
15
+ directory "/webservice/repo"
16
+ directory "/webservice/repo/conf"
17
+ cookbook_file "/webservice/repo/conf/distributions"
18
+ cookbook_file "/webservice/repo/conf/options"
19
+ cookbook_file "/webservice/repo/conf/override.precise"
20
+ cookbook_file "/webservice/repo/conf/override.lenny"
21
+
22
+ # dropbox setup files
23
+ directory "/webservice/dropbox"
24
+ directory "/webservice/dropbox/precise"
25
+ directory "/webservice/dropbox/lenny"
26
+
27
+ cookbook_file "/webservice/dropbox.rb"
28
+ cookbook_file "/webservice/config.ru"
29
+
30
+ # install footman
31
+ gem_package "footman"
32
+
@@ -0,0 +1,34 @@
1
+ execute "apt-get update"
2
+
3
+ rv = `ruby -v`
4
+ if rv.include? "1.9.3"
5
+ puts "Ruby already at -v 1.9.3"
6
+ else
7
+ %w{build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev}.each do |pkg|
8
+ package pkg do
9
+ action :install
10
+ end
11
+ end
12
+
13
+ execute "wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz" do
14
+ cwd "/tmp"
15
+ end
16
+
17
+ execute "tar -xvzf ruby-1.9.3-p194.tar.gz" do
18
+ cwd "/tmp"
19
+ end
20
+
21
+ execute "./configure --prefix=/usr --disable-install-doc" do
22
+ cwd "/tmp/ruby-1.9.3-p194"
23
+ end
24
+
25
+ execute "make" do
26
+ cwd "/tmp/ruby-1.9.3-p194"
27
+ end
28
+
29
+ execute "make install" do
30
+ cwd "/tmp/ruby-1.9.3-p194"
31
+ end
32
+ end
33
+
34
+ # un comment when you need to install ruby
@@ -0,0 +1,13 @@
1
+ require "servicedesk/version"
2
+ require "servicedesk/config"
3
+ require "servicedesk/uploader"
4
+
5
+ module Servicedesk
6
+ extend self
7
+
8
+ def push(package, built_on, url)
9
+ Uploader.upload( Config.new(package, built_on, url) )
10
+ puts "\nFile uploaded\n"
11
+ end
12
+
13
+ end
@@ -0,0 +1,23 @@
1
+ module Servicedesk
2
+ class Config
3
+
4
+ attr_accessor :built_on, :name, :ext, :version, :architecture, :file, :url
5
+
6
+ def initialize(package, built_on, url)
7
+ puts "in config initialize"
8
+ @file = package
9
+ @built_on = built_on
10
+ @url = url
11
+ parse(package)
12
+ end
13
+
14
+ def parse(package)
15
+ captures = package.match(/.*\/(?<name>[^_]+)[_|-](?<version>[^_]+)[_|-](?<arch>[^\.]+)\.(?<ext>\S+)\z/i)
16
+ @name = "#{captures[:name]}"
17
+ @version = "#{captures[:version]}"
18
+ @architecture = "#{captures[:arch]}"
19
+ @ext = "#{captures[:ext]}"
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,44 @@
1
+ require 'rest_client'
2
+
3
+ module Servicedesk
4
+ class Uploader
5
+
6
+ def self.upload(config)
7
+ puts "in uploader"
8
+ puts "file #{config.file}"
9
+ puts "config stuff #{config.url}/#{config.built_on}"
10
+ puts "name #{config.name}"
11
+ puts "version #{config.version}"
12
+ puts "ext #{config.ext}"
13
+ puts "architecture #{config.architecture}"
14
+
15
+ `curl -F "file=@#{config.file}" \
16
+ -F "name=#{config.name}" \
17
+ -F "version=#{config.version}" \
18
+ -F "ext=#{config.ext}" \
19
+ -F "architecture=#{config.architecture}" \
20
+ -F "distro=#{config.built_on}" \
21
+ #{config.url}`
22
+
23
+ # RestClient.post( "#{config.url}/#{config.built_on}", :data => File.new("#{config.file}", 'rb'),
24
+ # :name => "#{config.name}",
25
+ # :version => "#{config.version}",
26
+ # :ext => "#{config.ext}",
27
+ # :architecture => "#{config.architecture}" )
28
+ #maybe one day this rest will work and be used
29
+ end
30
+
31
+ end
32
+ end
33
+
34
+
35
+
36
+ # Working example do not touch !!!!
37
+ # curl \
38
+ # -F "data=@/vagrant/dumbhello_1.0_amd64.deb" \
39
+ # -F "name=blahblah" \
40
+ # -F "version=1.0.1" \
41
+ # -F "ext=arr" \
42
+ # -F "architecture=i386" \
43
+ # -F "distro=precise" \
44
+ # http://0.0.0.0:80/dropbox/
@@ -0,0 +1,3 @@
1
+ module Servicedesk
2
+ VERSION = "0.0.1"
3
+ end
Binary file
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'servicedesk/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "servicedesk"
8
+ gem.version = Servicedesk::VERSION
9
+ gem.authors = ["tylerjones"]
10
+ gem.email = ["tjones@pagodabox.com"]
11
+ gem.description = %q{Uploads packages to the dropbox via http post method.}
12
+ gem.summary = %q{Takes a package, what it was built_on, and the url of the dropbox.
13
+ Then uploads the package to the dropbox with the needed params using POST.}
14
+ gem.homepage = "https://github.com/Pagoda/servicedesk"
15
+
16
+ gem.add_dependency "sinatra"
17
+ gem.add_dependency "methadone"
18
+ gem.add_dependency "rest-client"
19
+
20
+ gem.add_development_dependency "rake"
21
+
22
+ gem.files = `git ls-files`.split($/)
23
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
24
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
25
+ gem.require_paths = ["lib"]
26
+ end
metadata ADDED
@@ -0,0 +1,143 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: servicedesk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - tylerjones
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-15 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sinatra
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: methadone
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'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rest-client
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ description: Uploads packages to the dropbox via http post method.
79
+ email:
80
+ - tjones@pagodabox.com
81
+ executables:
82
+ - servicedesk
83
+ extensions: []
84
+ extra_rdoc_files: []
85
+ files:
86
+ - .vagrant
87
+ - Gemfile
88
+ - Gemfile.lock
89
+ - LICENSE.txt
90
+ - README.md
91
+ - Rakefile
92
+ - Vagrantfile
93
+ - bin/servicedesk
94
+ - cookbooks/client_prepare/files/default/dumbhello_1.0_amd64.deb
95
+ - cookbooks/client_prepare/files/default/hellotest_1.0.0_i386.deb
96
+ - cookbooks/client_prepare/files/default/sources.list
97
+ - cookbooks/client_prepare/recipes/default.rb
98
+ - cookbooks/host_prepare/files/default/config.ru
99
+ - cookbooks/host_prepare/files/default/distributions
100
+ - cookbooks/host_prepare/files/default/dropbox.rb
101
+ - cookbooks/host_prepare/files/default/options
102
+ - cookbooks/host_prepare/files/default/override.lenny
103
+ - cookbooks/host_prepare/files/default/override.precise
104
+ - cookbooks/host_prepare/recipes/default.rb
105
+ - cookbooks/ruby/recipes/default.rb
106
+ - lib/servicedesk.rb
107
+ - lib/servicedesk/config.rb
108
+ - lib/servicedesk/uploader.rb
109
+ - lib/servicedesk/version.rb
110
+ - pkg/servicedesk-0.0.1.gem
111
+ - servicedesk.gemspec
112
+ - vendor/cache/methadone-1.2.3.gem
113
+ - vendor/cache/rack-1.4.1.gem
114
+ - vendor/cache/rack-protection-1.3.2.gem
115
+ - vendor/cache/rake-10.0.3.gem
116
+ - vendor/cache/sinatra-1.3.3.gem
117
+ - vendor/cache/tilt-1.3.3.gem
118
+ homepage: https://github.com/Pagoda/servicedesk
119
+ licenses: []
120
+ post_install_message:
121
+ rdoc_options: []
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ! '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ requirements: []
137
+ rubyforge_project:
138
+ rubygems_version: 1.8.24
139
+ signing_key:
140
+ specification_version: 3
141
+ summary: Takes a package, what it was built_on, and the url of the dropbox. Then
142
+ uploads the package to the dropbox with the needed params using POST.
143
+ test_files: []