Commit Graph

847 Commits

Author SHA1 Message Date
Denis Makogon
ecaa5eefbf Cleaning up code
Getting rid of request url, call id, method: all of them are
 redundant and available through env
2017-10-07 00:43:07 +03:00
amykang2020
b6b9b55ca9 apply/make Travis's json-format branch prototype to work with latest restructured master; added StatusCode to JSONOutput server-function contract 2017-10-07 00:43:07 +03:00
CI
b76ae4f24d functions: 0.3.141 release [skip ci] 2017-10-06 15:53:01 +00:00
Reed Allman
8a59654582 go vet yourself (#397)
go vet caught some nifty bugs. so fixed those here, and also made it so that
we vet everything from now on since the robots seem to do a better job of
vetting than we have managed to.

also adds gofmt check to circle. could move this to the test.sh script (didn't
want a script calling a script, because $reasons) and it's nice and isolated
in its own little land as it is. side note, changed the script so it runs in
100ms instead of 3s, i think find is a lot faster than go list.

attempted some minor cleanup of various scripts
2017-10-06 08:42:33 -07:00
CI
2541ee0300 functions: 0.3.140 release [skip ci] 2017-10-06 10:47:48 +00:00
CI
3669ed1c26 functions: 0.3.139 release [skip ci] 2017-10-06 09:40:25 +00:00
CI
a41eb4b1f0 functions: 0.3.138 release [skip ci] 2017-10-05 23:23:33 +00:00
Nigel Deakin
ae31944224 Add Prometheus statistics and an example to showcase them using Grafana 2017-10-05 16:21:31 +01:00
CI
64f3291ca5 functions: 0.3.137 release [skip ci] 2017-10-04 11:38:38 +00:00
CI
3fc99499ed functions: 0.3.136 release [skip ci] 2017-10-03 15:44:08 +00:00
CI
c64e439ac9 functions: 0.3.135 release [skip ci] 2017-10-03 03:57:59 +00:00
CI
47a8065e39 functions: 0.3.134 release [skip ci] 2017-10-03 03:24:42 +00:00
CI
dd6ba0a1e4 functions: 0.3.133 release [skip ci] 2017-10-03 02:55:17 +00:00
CI
944f3a8843 functions: 0.3.132 release [skip ci] 2017-10-02 22:56:30 +00:00
CI
a5dbdeea39 functions: 0.3.131 release [skip ci] 2017-10-02 22:38:56 +00:00
CI
5ada0bc291 functions: 0.3.130 release [skip ci] 2017-10-01 17:08:11 +00:00
Denis Makogon
21bbc996fb Fixing call getter (#378) 2017-10-01 19:56:27 +03:00
CI
7d42cd7911 functions: 0.3.129 release [skip ci] 2017-09-29 23:35:06 +00:00
CI
2fe0cad230 functions: 0.3.128 release [skip ci] 2017-09-29 23:30:17 +00:00
James Jeffrey
c7f3066c75 Update references remove refs to treeder oracle funcy (#376)
* Remove lots of refs to iron and funcy oracle etc..

* more ref replacements

* Replacing more refs. Treeder

* Use Fn not FN
2017-09-29 16:22:15 -07:00
CI
6a3d53bfab functions: 0.3.127 release [skip ci] 2017-09-29 23:16:15 +00:00
CI
88a576711c functions: 0.3.126 release [skip ci] 2017-09-29 23:09:56 +00:00
CI
e1f32b50c6 functions: 0.3.125 release [skip ci] 2017-09-29 16:57:26 +00:00
CI
7b1f756759 functions: 0.3.124 release [skip ci] 2017-09-29 15:52:55 +00:00
CI
d3d89d8933 functions: 0.3.123 release [skip ci] 2017-09-29 15:39:36 +00:00
CI
f03e76c6c9 functions: 0.3.122 release [skip ci] 2017-09-29 15:16:33 +00:00
CI
b80b1b826a functions: 0.3.121 release [skip ci] 2017-09-29 14:21:43 +00:00
CI
7d369648f9 functions: 0.3.120 release [skip ci] 2017-09-28 18:16:17 +00:00
CI
4b822aa042 functions: 0.3.119 release [skip ci] 2017-09-27 16:14:38 +00:00
Reed Allman
84b03b31ed Merge pull request #366 from fnproject/saner-route-cfg
more strict configuration of routes
2017-09-27 09:03:51 -07:00
CI
0f7575aca6 functions: 0.3.118 release [skip ci] 2017-09-26 19:01:03 +00:00
Reed Allman
93e6bf45d0 Merge pull request #351 from fnproject/clean-model
mask models.Call blank fields in api, sqlx
2017-09-26 11:43:53 -07:00
CI
708d22c150 functions: 0.3.117 release [skip ci] 2017-09-26 18:30:10 +00:00
Reed Allman
3083415611 Merge pull request #349 from fnproject/pagination
add pagination to all list endpoints
2017-09-26 11:13:35 -07:00
CI
a85678c542 functions: 0.3.116 release [skip ci] 2017-09-26 02:10:44 +00:00
CI
1c1caafad5 functions: 0.3.115 release [skip ci] 2017-09-25 18:33:01 +00:00
CI
90e6c43022 functions: 0.3.114 release [skip ci] 2017-09-25 18:19:34 +00:00
Reed Allman
ac132ae918 Merge pull request #358 from fnproject/chad-add-version
adding version under Fn ascii on server launch
2017-09-25 11:04:32 -07:00
Chad Arimura
be910fdbe4 adding version under Fn ascii on server launch 2017-09-23 13:15:25 -07:00
CI
9612606d21 functions: 0.3.113 release [skip ci] 2017-09-22 18:06:28 +00:00
Reed Allman
6b7b1e3c63 Merge pull request #354 from fnproject/stats
Extend stats to report Failed calls
2017-09-22 10:50:59 -07:00
CI
ecd454d02f functions: 0.3.112 release [skip ci] 2017-09-22 17:07:06 +00:00
Nigel Deakin
54407f7b74 Extend stats to report Failed calls 2017-09-22 17:36:43 +01:00
Denis Makogon
edd0c8453c Fixing tests 2017-09-22 01:23:14 +03:00
Denis Makogon
0e1140e60c Fix route headers merge
Closes: #346
2017-09-22 00:36:28 +03:00
Reed Allman
84239b4a14 remove idle_timeout > timeout check. d'oh 2017-09-21 04:32:56 -07:00
Reed Allman
caba9e0ec6 more strict configuration of routes
* idle_timeout max of 1h
* timeout max of 120s for sync, 1h for async
* max memory of 8GB
* do full route validation before call invocation
* ensure that idle_timeout >= timeout

we are now doing validation of updating route inside of the database
transaction, which is what we should have been doing all along really.
we need this behavior to ensure that the idle timeout is longer than the
timeout, among other benefits (like not updating the most recent version of
the existing struct and overwriting previous updates, yay). since we have
this, we can get rid of the weird skipZero behavior on validate too and
validate the real deal holyfield.

validating the route before making the call is handy so that we don't do weird
things like run a func that wants to use 300GB of RAM and run for 3 weeks.

closes #192
closes #344
closes #162
2017-09-21 04:04:34 -07:00
Reed Allman
46dfbd362d mask models.Call blank fields in api, sqlx
sqlx has nice facilities for using structs to do queries and using their
fields, so decided to move us all over to this. now when you take a look at
models.Call it's really obvious what's in db and what's not. added omitempty
to some json fields that were bleeding through api too.

deletes a lot of code in the sql package for scanning and made some queries
use struct based sqlx methods now which seem easier to read than what we
previously had. moves all json stuff into sql.Valuer and sql.Scanner methods
in models/config.go, these are the only 2 types that ever need this. sadly,
sqlx would have done this marshaling for us, but to keep compat, I added json.
we can do some migrations later maybe for a more efficient encoding, but did
not want to fuss with it today.

it seems like we should probably aim to keep models.Call as small as possible
in the db as there will be a lot of them. interestingly, most functions
platforms I looked at do not seem to expose this kind of information that I
could find. so, i think only having timestamps, status, id, app, path and
maybe docker stats is really all that should be in here (agree w/ Denys on
284 as these and logs will end up taking up most db space in prod. notably,
payload, headers, and env vars could be extremely large and in the general
case they are always a copy of the routes (this breaks apart when routes are
updated, which would be useful considering we don't have versioning --
versioning may be cheaper).

removed unused field in apps too

this is lined up behind #349 so that I could use the tests...

closes #345
closes #142
closes #284
2017-09-21 03:18:24 -07:00
CI
9ceda5ec72 functions: 0.3.111 release [skip ci] 2017-09-21 00:18:17 +00:00
Reed Allman
b3157401e8 improve ux for ooms
closes #350
2017-09-20 17:10:42 -07:00