turbot 0.1.36 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +15 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE +22 -0
  7. data/README.md +44 -25
  8. data/Rakefile +16 -0
  9. data/appveyor.yml +35 -0
  10. data/bin/turbot +2 -16
  11. data/data/schema.json +134 -0
  12. data/{templates → data/templates}/LICENSE.txt +0 -0
  13. data/{templates → data/templates}/manifest.json +0 -0
  14. data/{templates → data/templates}/python/scraper.py +0 -0
  15. data/{templates → data/templates}/ruby/scraper.rb +0 -0
  16. data/dist/deb.rake +32 -0
  17. data/dist/gem.rake +16 -0
  18. data/dist/manifest.rake +9 -0
  19. data/dist/pkg.rake +60 -0
  20. data/dist/resources/deb/control +10 -0
  21. data/dist/resources/deb/postinst +45 -0
  22. data/dist/resources/deb/turbot +25 -0
  23. data/dist/resources/deb/turbot-release-key.txt +30 -0
  24. data/dist/resources/pkg/Distribution.erb +15 -0
  25. data/dist/resources/pkg/PackageInfo.erb +6 -0
  26. data/dist/resources/pkg/postinstall +45 -0
  27. data/dist/resources/pkg/turbot +24 -0
  28. data/dist/resources/tgz/turbot +24 -0
  29. data/dist/rpm.rake +35 -0
  30. data/dist/tgz.rake +26 -0
  31. data/dist/zip.rake +40 -0
  32. data/lib/turbot/cli.rb +10 -27
  33. data/lib/turbot/command/auth.rb +72 -34
  34. data/lib/turbot/command/base.rb +21 -60
  35. data/lib/turbot/command/bots.rb +245 -300
  36. data/lib/turbot/command/help.rb +57 -110
  37. data/lib/turbot/command/version.rb +6 -10
  38. data/lib/turbot/command.rb +53 -196
  39. data/lib/turbot/handlers/base_handler.rb +21 -0
  40. data/lib/turbot/handlers/dump_handler.rb +10 -0
  41. data/lib/turbot/handlers/preview_handler.rb +30 -0
  42. data/lib/turbot/handlers/validation_handler.rb +17 -0
  43. data/lib/turbot/helpers/api_helper.rb +41 -0
  44. data/lib/turbot/helpers/netrc_helper.rb +66 -0
  45. data/lib/turbot/helpers/shell_helper.rb +36 -0
  46. data/lib/turbot/helpers.rb +14 -482
  47. data/lib/turbot/version.rb +1 -1
  48. data/lib/turbot.rb +17 -15
  49. data/spec/fixtures/bad_permissions +0 -0
  50. data/spec/fixtures/empty +0 -0
  51. data/spec/fixtures/netrc +6 -0
  52. data/spec/spec_helper.rb +17 -219
  53. data/spec/support/bot_helper.rb +100 -0
  54. data/spec/support/command_helper.rb +20 -0
  55. data/spec/support/custom_matchers.rb +5 -0
  56. data/spec/support/fixture_helper.rb +9 -0
  57. data/spec/support/netrc_helper.rb +21 -0
  58. data/spec/turbot/command/auth_spec.rb +202 -20
  59. data/spec/turbot/command/base_spec.rb +22 -58
  60. data/spec/turbot/command/bots_spec.rb +558 -89
  61. data/spec/turbot/command/help_spec.rb +32 -75
  62. data/spec/turbot/command/version_spec.rb +11 -10
  63. data/spec/turbot/command_spec.rb +60 -85
  64. data/turbot.gemspec +31 -0
  65. metadata +86 -178
  66. data/data/cacert.pem +0 -3988
  67. data/lib/turbot/auth.rb +0 -315
  68. data/lib/turbot/client/cisaurus.rb +0 -25
  69. data/lib/turbot/client/pgbackups.rb +0 -113
  70. data/lib/turbot/client/rendezvous.rb +0 -111
  71. data/lib/turbot/client/ssl_endpoint.rb +0 -25
  72. data/lib/turbot/client/turbot_postgresql.rb +0 -148
  73. data/lib/turbot/client.rb +0 -757
  74. data/lib/turbot/command/ssl.rb +0 -43
  75. data/lib/turbot/deprecated/help.rb +0 -38
  76. data/lib/turbot/deprecated.rb +0 -5
  77. data/lib/turbot/distribution.rb +0 -9
  78. data/lib/turbot/errors.rb +0 -28
  79. data/lib/turbot/excon.rb +0 -11
  80. data/lib/turbot/helpers/log_displayer.rb +0 -70
  81. data/lib/turbot/helpers/pg_dump_restore.rb +0 -115
  82. data/lib/turbot/helpers/turbot_postgresql.rb +0 -213
  83. data/lib/turbot/plugin.rb +0 -165
  84. data/lib/turbot/updater.rb +0 -171
  85. data/lib/vendor/turbot/okjson.rb +0 -598
  86. data/spec/helper/legacy_help.rb +0 -16
  87. data/spec/helper/pg_dump_restore_spec.rb +0 -67
  88. data/spec/spec.opts +0 -1
  89. data/spec/support/display_message_matcher.rb +0 -49
  90. data/spec/support/dummy_api.rb +0 -120
  91. data/spec/support/openssl_mock_helper.rb +0 -8
  92. data/spec/support/organizations_mock_helper.rb +0 -11
  93. data/spec/turbot/auth_spec.rb +0 -214
  94. data/spec/turbot/client/pgbackups_spec.rb +0 -43
  95. data/spec/turbot/client/rendezvous_spec.rb +0 -62
  96. data/spec/turbot/client/ssl_endpoint_spec.rb +0 -48
  97. data/spec/turbot/client/turbot_postgresql_spec.rb +0 -71
  98. data/spec/turbot/client_spec.rb +0 -548
  99. data/spec/turbot/helpers/turbot_postgresql_spec.rb +0 -181
  100. data/spec/turbot/helpers_spec.rb +0 -48
  101. data/spec/turbot/plugin_spec.rb +0 -172
  102. data/spec/turbot/updater_spec.rb +0 -44
@@ -1,148 +0,0 @@
1
- require "turbot/client"
2
-
3
- class Turbot::Client::TurbotPostgresql
4
- Version = 11
5
-
6
- include Turbot::Helpers
7
-
8
- @headers = { :x_turbot_gem_version => Turbot::Client.version }
9
-
10
- def self.add_headers(headers)
11
- @headers.merge! headers
12
- end
13
-
14
- def self.headers
15
- @headers
16
- end
17
-
18
- attr_reader :attachment
19
- def initialize(attachment)
20
- @attachment = attachment
21
- require 'rest_client'
22
- end
23
-
24
- def turbot_postgresql_host
25
- if attachment.starter_plan?
26
- determine_host(ENV["TURBOT_POSTGRESQL_HOST"], "postgres-starter-api.turbot.com")
27
- else
28
- if ENV['SHOGUN']
29
- "shogun-#{ENV['SHOGUN']}.turbotapp.com"
30
- else
31
- determine_host(ENV["TURBOT_POSTGRESQL_HOST"], "postgres-api.turbot.com")
32
- end
33
- end
34
- end
35
-
36
- def resource_name
37
- attachment.resource_name
38
- end
39
-
40
- def turbot_postgresql_resource
41
- RestClient::Resource.new(
42
- "https://#{turbot_postgresql_host}/client/v11/databases",
43
- :user => Turbot::Auth.user,
44
- :password => Turbot::Auth.password,
45
- :headers => self.class.headers
46
- )
47
- end
48
-
49
- def ingress
50
- http_put "#{resource_name}/ingress"
51
- end
52
-
53
- def reset
54
- http_put "#{resource_name}/reset"
55
- end
56
-
57
- def rotate_credentials
58
- http_post "#{resource_name}/credentials_rotation"
59
- end
60
-
61
- def get_database(extended=false)
62
- query = extended ? '?extended=true' : ''
63
- http_get resource_name + query
64
- end
65
-
66
- def get_wait_status
67
- http_get "#{resource_name}/wait_status"
68
- end
69
-
70
- def unfollow
71
- http_put "#{resource_name}/unfollow"
72
- end
73
-
74
- protected
75
-
76
- def sym_keys(c)
77
- if c.is_a?(Array)
78
- c.map { |e| sym_keys(e) }
79
- else
80
- c.inject({}) do |h, (k, v)|
81
- h[k.to_sym] = v; h
82
- end
83
- end
84
- end
85
-
86
- def checking_client_version
87
- begin
88
- yield
89
- rescue RestClient::BadRequest => e
90
- if message = json_decode(e.response.to_s)["upgrade_message"]
91
- abort(message)
92
- else
93
- raise e
94
- end
95
- end
96
- end
97
-
98
- def display_turbot_warning(response)
99
- warning = response.headers[:x_turbot_warning]
100
- display warning if warning
101
- response
102
- end
103
-
104
- def http_get(path)
105
- checking_client_version do
106
- retry_on_exception(RestClient::Exception) do
107
- response = turbot_postgresql_resource[path].get
108
- display_turbot_warning response
109
- sym_keys(json_decode(response.to_s))
110
- end
111
- end
112
- end
113
-
114
- def http_post(path, payload = {})
115
- checking_client_version do
116
- response = turbot_postgresql_resource[path].post(json_encode(payload))
117
- display_turbot_warning response
118
- sym_keys(json_decode(response.to_s))
119
- end
120
- end
121
-
122
- def http_put(path, payload = {})
123
- checking_client_version do
124
- response = turbot_postgresql_resource[path].put(json_encode(payload))
125
- display_turbot_warning response
126
- sym_keys(json_decode(response.to_s))
127
- end
128
- end
129
-
130
- private
131
-
132
- def determine_host(value, default)
133
- if value.nil?
134
- default
135
- else
136
- "#{value}.turbotapp.com"
137
- end
138
- end
139
- end
140
-
141
- module TurbotPostgresql
142
- class Client < Turbot::Client::TurbotPostgresql
143
- def initialize(*args)
144
- Turbot::Helpers.deprecate "TurbotPostgresql::Client has been deprecated. Please use Turbot::Client::TurbotPostgresql instead."
145
- super
146
- end
147
- end
148
- end