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

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