Comments (4)
Furthermore I suggest to leave the bucket name out of the configuration. It's not important and it could be randomly generated. If given a prefix such as gordon-<stage>-
then it would be easy to spot it in the S3 console. It could be stored into a dot file in the project folder for easier retrieval, maybe private.conf
from gordon.
I think there are two things we can do to make the experience better / not broken.
The most obvious one is to make gordon not proceed applying templates if the previous didn't finish successfully.
The second thing which would make gordon better would be to add a validation process before applying templates. In this case validate that the name of the bucket is correct... but there are many more situations where gordon could stop people from making configuration mistakes.
About adding a "state" configuration file... that is something which crossed my mind in the past, but the problem is that you would need to have one per stage and region... which might end looking like a mess. Will give it a second think.
from gordon.
First of all, maybe we should split this issue in two, one about the error message and one about the configuration. Sorry for not doing it myself right away.
About the former: if AWS returns an error (does it?) gordon should just print it out and quit.
About the latter: I'm not particularly familiar with AWS and I believe that if gordon and the other similar tools will get popular it will be because many other AWS newbies are using them. So, we don't know much about the reasons why some AWS services are tied together and we don't care much. I'm perfectly OK with gordon doing its magic and hiding everything to me (but be careful about decisions that could cost money to people). Creating the bucket and immediately destroying it would be fine, or uploading the code as a ZIP file. Having to handle too many details would slow me down and create bugs. An example with gordon: I still don't know why I couldn't get the API gateway to pass my parameters to my event
object but I'm probably misconfiguring something. gordon should take over and autoconfigure the mapping from the API gateway and Lambda because there is no much sense in declaring parameters in the settings.yml file and not wanting them in Lambda.
An example from the past: many people started using Rails 10 years ago without knowing anything about Ruby. Ruby was just the scripting language of Rails, used to fill in the blank of the generated scaffolds. It got pretty successful anyway and most of the Ruby developers nowadays develop with Rails. Replace Ruby with AWS and Rails with gordon and you see what I mean. Then you need only to fill in some JS code in the template generated for the code.js file (or Python).
from gordon.
Just fixed the first bit of this issue. It is ready on master, and will be released as part of 0.2.1
a8e9f27
The tl;dr version is that if applying a template fails, gordon will tell you so and exit.
About the second issue, I've added validation for the stage name and the code-bucket
setting but... yes, next versions should aim to remove complexity (like the parameters comment you mentioned in the other PR) as well as trying to warn users when some configurations are obviously wrong.
These changes are on master and will get released as part of 0.2.1
. Thanks!
from gordon.
Related Issues (20)
- Option to fix lambda name in settings.yml
- Add support for configuring DLQ HOT 1
- Issues with nodejs6.10 HOT 7
- question about gordon build
- iam:GetRole still needed
- 'gordon' with no args raises error
- Add python3.6 runtime HOT 5
- Step Functions
- Typo? "context_destinaton"
- Share build settings between lambdas?
- requires troposphere <2.0 HOT 1
- S3 bucket name collision conflict when used across multiple accounts
- gordon appears to ignore npm failures HOT 1
- Can't integrate my kinesis Stream
- version 0.7.0 not published for python3? HOT 3
- python 3 string issue
- EC2 Throttling Issue
- unable to use gordon in aws china
- API Gateway: Headers integration lambda parameters was lost on deply
- wrong project
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gordon.