dpl 2.0.0.alpha.11 → 2.0.0.alpha.12

Sign up to get free protection for your applications and to get access to all the features.
data/NOTES.md DELETED
@@ -1,193 +0,0 @@
1
- x add `opts required: [:api_key, [:user, :password]]`
2
- x add opt '--foo', requires: :other
3
- x add opt '--foo', alias: :other
4
- x add opt '--foo', format: /.+/
5
- x add opt '--foo', deprecated: true
6
- x add opt '--foo', alias: :other, deprecated: :other
7
- x add opt '--foo', max: 10, type: :integer
8
- x add opt '--foo', enum: ['one', 'two']
9
- x consider automatically adding `[no-]` to booleans
10
- x make it so that Cl::Cmd parses the args, not Runner. only that way sub cmd specific opts can sit on the sub command
11
- x cleanup and move matchers
12
- x add lookup and interpolation to assert
13
- x revisit using MSGS and CMDS everywhere
14
- x add something like :keep for automatically moving things out of the way before cleanup
15
- x make specs validate that cmds have run in the correct order
16
- x revisit what's up with `needs_key`
17
- x revisit what's up with `git_http_user_agent false`
18
- x revisit the run stages in Provider
19
- x implement folds
20
- x port on-demand installation of sub gems
21
- x make MSGS etc class methods, so they can inherit from base classes (for Heroku)
22
- x move sub cmd opts etc to sub classes for Heroku
23
- x look into using FakeFS, MemFS sucks
24
- x make a list of strategies/tools providers use
25
- x revisit which providers need an ssh key, git, etc.
26
- x should have run in order matcher does not work
27
- x write bin/readme
28
- x test Cl against all Ruby versions >= 2.0
29
- x test Ctx
30
- x go through all providers, remove fakefs, use chdir 'tmp/dpl'
31
- x make sure all provider fs write operations go through ctx
32
- x what is `options[:no_deploy]` for? (it's for testing. added it back as `--stages`)
33
- x make sure dasherized options are accepted and normalized
34
- x add opt internal: true to Cl
35
- x write comments on the most important classes, so we can generate some api docs
36
- x install gems with sudo if Process::UID.eid is 0
37
- x document Provider.env
38
- x add retry to Ctx#script
39
- x try installing all gems at once
40
- x run apt-get update before apt-get install, once
41
- x make sure failed dependency installation fails the command
42
- x fix dependency installation for various providers
43
- x look into making `--app` and `--key_name` attr readers, rather than options
44
- x make it so that options are being overwritten if specified by both base and sub classes
45
- x test that `bin/dpl --stage install` runs as expected for various providers
46
- x on Travis CI add a stage that tests `bin/dpl --stage install` for various providers on various ruby versions
47
- x try using bundler/inline for gem dependencies
48
- x write a proper readme for Cl
49
- x add yard docs to Cl
50
- x autogenerate examples
51
- x update .github/CONTRIBUTING.md
52
- x consider adding `note: 'some comment` to Cl opts (e.g. see Lambda tracing mode)
53
- x bundle/inline seems to pick up an existing Gemfile.lock (which might be incompatible)
54
- x figure out how to deal with python tooling on non-python images etc (just die for now)
55
- x unit test netlfiy
56
- x move ./.dpl to ~/.dpl (clutters the working dir)
57
- x add a DSL for adding paths to PATH, e.g. gcs
58
- x make sure all error messages are actually being displayed
59
- x remove the fold for finishing the deployment, it's confusing. Maybe do not fold the deployment itself? or somehow keep the last fold open if there is an error?
60
- x BitBalloon is now Netlify Drop https://app.netlify.com/drop. time to rename it?
61
- x make `--skip_cleanup` the default
62
- x make sure all main shell scripts use assert: true, echo: true
63
- x make sure all asserts have an err msg (can we test this?), or add a generic error message
64
- x add secure: true, in order to tell Cl to filter log output for a given option
65
- x refactor Provider by splitting out a Cmd class for shell commands
66
- x document Cmd methods
67
- x revisit README and CONTRIBUTING
68
- x Make sure failed deployments always fail the build starting with dpl 2.0
69
- x PR sf-datapipeline
70
- x add a DSL for moving files out of the way, and moving them back later, e.g. gcs /etc/boto.cfg
71
- x start a CHANGELOG.md?
72
-
73
- - EY docs do not explain where to obtain the api key
74
-
75
- Future improvements
76
-
77
- - https://www.freecodecamp.org/news/how-to-deploy-your-cloud-foundry-app-with-almost-zero-fear-using-travis-ci-926697fff8f6/
78
-
79
-
80
-
81
- Dependencies:
82
-
83
- ```
84
- chef_supermarket
85
- # the cli cli is a gem, too. would be easier to test though, and maybe more robust?
86
- # https://docs.chef.io/ctl_chef.html
87
- chef
88
-
89
- cloud_files
90
- # rackspace's cli is written in go
91
- # https://developer.rackspace.com/docs/rack-cli/configuration/#installation-and-configuration
92
- fog-rackspace
93
-
94
- code_deploy
95
- aws-sdk
96
-
97
- elastic_beanstalk
98
- aws-sdk
99
- zip
100
-
101
- engine_yard
102
- # the engineyard cli is a gem, too. would be easier to test though, and maybe more robust?
103
- # https://support.cloud.engineyard.com/hc/en-us/articles/205406968-Deploy-from-the-CLI-Engine-Yard-CLI-User-Guide-
104
- engineyard-cloud-client
105
-
106
- gcs
107
- # https://cloud.google.com/storage/docs/gsutil
108
- # the GCS cli is a python thing which can be installed via curl/bash:
109
- # curl https://sdk.cloud.google.com | bash
110
- gstore
111
- mime-types
112
-
113
- heroku
114
- faraday
115
-
116
- open_shift
117
- # red hat seems to have a cli, but the instructions are quite opaque, and want
118
- # to log in to their portal
119
- # https://docs.openshift.com/container-platform/3.9/cli_reference/get_started_cli.html#installing-the-cli
120
- rhc
121
-
122
- packagecloud
123
- # has a cli that is a rubygem (with a different name though, has an underscore)
124
- # https://packagecloud.io/l/cli
125
- packagecloud
126
-
127
- pages
128
- octokit
129
-
130
- puppet_forge
131
- # not sure if there's actually no cli?
132
- puppet
133
- puppet_blacksmith
134
-
135
- rubygems
136
- gems
137
-
138
- s3
139
- aws-sdk
140
- mime-types
141
-
142
- testfairy
143
- # they have a minimal cli in bash, not sure that's worth it though, also
144
- # not sure about the quality of this thing
145
- # https://github.com/testfairy/command-line-uploader
146
- multipart-post
147
- ```
148
-
149
- ```
150
- | provider | tooling | auth | ssh-keygen | git-ssh |
151
- | ----------------- | -------------------------------------------------- | -------------- | ---------- | ------- |
152
- | Anynines | cf cli (manual download) | user/pass | no | no |
153
- | Atlas | atlas-upload cli (go get install) | token (env) | no | no |
154
- | Azure Web Apps | Git only | user/pass | no | no |
155
- | Bitballoon | bitballoon cli (installed how??) | token | no | no |
156
- | Bluemix CF | cf cli (manual download) | user/pass | no | no |
157
- | Boxfuse | boxfuse cli (manual download) | user/pass | no? | no? |
158
- | Cargo | cargo cli (preinstalled?) | token | no | no |
159
- | Catalyze | Git only | ? | no | no |
160
- | Chef Supermarket | gem chef | api key | no | no |
161
- | Cloud66 | Net::HTTP | ? | no | no |
162
- | Cloud Files | gem fog (rackspace) | user/key | no | no |
163
- | Cloud Foundry | cf cli (manual download) | user/pass | no | no |
164
- | Code Deploy | gem aws-sdk (v2) | key/secret | no | no |
165
- | Deis | deis cli (manual download) | user/pass | yes | yes? |
166
- | Elastic Beanstalk | gem aws-sdk (v2) | key/secret | no | no |
167
- | EngineYard | gem engineyard-cloud-client | api key | no | no |
168
- | Firebase | NPM firebase-tools | token | no | no |
169
- | GAE | google-cloud-sdk (manual download) | keyfile | no | no |
170
- | GCS | gem gstore (archived) | key/secret | no | no |
171
- | Hackage | cabal (apt-get install) | user/pass | no | no |
172
- | Hephy | `deis` cli (manual download) | user/pass | yes | yes? |
173
- | Heroku API | gem faraday | api key | no | no |
174
- | Heroku Git | gem faraday and Git | both?? | no | no |
175
- | Lambda | gem aws-sdk (v2) | key/secret | no | no |
176
- | Launchpad | Net:HTTP | token/secret | no | no |
177
- | NPM | npm (preinstall) | api key | no | no |
178
- | Open Shift | gem rhc (archived) and Git | user/pass | yes | yes? |
179
- | Ops Works | gem aws-sdk (v2) | key/secret | no | no |
180
- | Packagecloud | gem packagecloud | user/token | no | no |
181
- | Pages | gem octokit | token | no | no |
182
- | Puppet Forge | gems puppet, puppet_blacksmith | user/pass | no | no |
183
- | PyPI | pip/twine (manual download) | user/pass | no | no |
184
- | Releases | gem octokit | token | no | no |
185
- | Rubygems | gem gems | api key | no | no |
186
- | S3 | gem aws-sdk (v2) | key/secret | no | no |
187
- | Scalingo | scalingo (manual download) | u/p or api key | yes | no? |
188
- | Script | - | - | no | no |
189
- | Snap | snap (apt-get) | token | no | no |
190
- | Surge | surge (npm install) | login/token | no | no |
191
- | Testfairy | gem multipart-post | api key | no | no |
192
- | Transifex | tx (pip install) | user/pass | no | no |
193
- ```