Commit Graph

2337 Commits

Author SHA1 Message Date
Gerardo Viedma
60d2e92c9a Replace minio-go with aws-sdk-go for s3-compatible log backend (#670)
* Logs should support specifying region when using S3-compatible object store

* Use aws-sdk-go client for s3 backed logstore

* fixes vendor with aws-sdk-go dependencies
2018-01-10 09:44:04 -08:00
CI
930d1e8dcc fnlb: 0.0.245 release [skip ci] fnlb-0.0.245 2018-01-10 17:32:05 +00:00
CI
d02d59b979 fnserver: 0.3.284 release [skip ci] 0.3.284 2018-01-10 17:29:52 +00:00
Nigel Deakin
d1e02f42ed Update writing.md (#668)
Trying to make this a bit clearer
2018-01-10 09:21:55 -08:00
CI
b62b39d93f fnlb: 0.0.244 release [skip ci] fnlb-0.0.244 2018-01-09 23:42:11 +00:00
CI
e442c7f3e4 fnserver: 0.3.283 release [skip ci] 0.3.283 2018-01-09 23:40:11 +00:00
Travis Reeder
eef1025e93 Better versioning for dind image. (#666)
* Better versioning for dind image.

* Updated dind image used in main build
2018-01-09 15:33:26 -08:00
CI
7a9ead098f fnlb: 0.0.243 release [skip ci] fnlb-0.0.243 2018-01-09 22:36:14 +00:00
CI
9eb5212d0d fnserver: 0.3.282 release [skip ci] 0.3.282 2018-01-09 22:34:23 +00:00
Reed Allman
24aa911609 add FN_LOG_DEST for logs, fixup init (#663)
* add FN_LOG_DEST for logs, fixup init

* FN_LOG_DEST can point to a remote logging place (papertrail, whatever)
* FN_LOG_PREFIX can add a prefix onto each log line sent to FN_LOG_DEST

default remains stderr with no prefix. users need this to send to various
logging backends, though it could be done operationally, this is somewhat
simpler.

we were doing some configuration stuff inside of init() for some of the global
things. even though they're global, it's nice to keep them all in the normal
server init path.

we have had strange issues with the tracing setup, I tested the last repro of
this repeatedly and didn't have any luck reproducing it, though maybe it comes
back.

* add docs
2018-01-09 14:27:50 -08:00
CI
5fe2fa1aee fnlb: 0.0.242 release [skip ci] fnlb-0.0.242 2018-01-09 22:19:27 +00:00
CI
874f826288 fnserver: 0.3.281 release [skip ci] 0.3.281 2018-01-09 22:17:29 +00:00
Travis Reeder
3b9818bc58 Switch to dep from glide (#664) 2018-01-09 14:11:08 -08:00
CI
0a09d74137 fnlb: 0.0.241 release [skip ci] fnlb-0.0.241 2018-01-09 21:35:48 +00:00
CI
97bdc5da4b fnserver: 0.3.280 release [skip ci] 0.3.280 2018-01-09 21:33:52 +00:00
Travis Reeder
82541d24ee wip (#665) 2018-01-09 13:27:38 -08:00
CI
4fa781563c fnlb: 0.0.240 release [skip ci] fnlb-0.0.240 2018-01-09 18:38:04 +00:00
CI
360abceff5 fnserver: 0.3.279 release [skip ci] 0.3.279 2018-01-09 18:36:09 +00:00
Ben Meier
aac8ac3027 Added private registries documentation (#654) 2018-01-09 10:29:47 -08:00
CI
0a3bad0e94 fnlb: 0.0.239 release [skip ci] fnlb-0.0.239 2018-01-09 18:16:49 +00:00
CI
0fb40f6abf fnserver: 0.3.278 release [skip ci] 0.3.278 2018-01-09 18:14:47 +00:00
Reed Allman
20089c4e83 make headers quasi-consistent (#660)
possible breakages:

* `FN_HEADER` on cold are no longer `s/-/_/` -- this is so that cold functions
can rebuild the headers as they were when they came in on the request (fdks,
specifically), there's no guarantee that a reversal `s/_/-/` is the original
header on the request.
* app and route config no longer `s/-/_/` -- it seemed really weird to rewrite
the users config vars on these. should just pass them exactly as is to env.
* headers no longer contain the environment vars (previously, base config; app
config, route config, `FN_PATH`, etc.), these are still available in the
environment.

this gets rid of a lot of the code around headers, specifically the stuff that
shoved everything into headers when constructing a call to begin with. now we
just store the headers separately and add a few things, like FN_CALL_ID to
them, and build a separate 'config' now to store on the call. I thought
'config' was more aptly named, 'env' was confusing, though now 'config' is
exactly what 'base_vars' was, which is only the things being put into the env.
we weren't storing this field in the db, this doesn't break unless there are
messages in a queue from another version, anyway, don't think we're there and
don't expect any breakage for anybody with field name changes.

this makes the configuration stuff pretty straight forward, there's just two
separate buckets of things, and cold just needs to mash them together into the
env, and otherwise hot containers just need to put 'config' in the env, and then
hot format can shove 'headers' in however they'd like. this seems better than
my last idea about making this easier but worse (RIP).

this means:

* headers no longer contain all vars, the set of base vars can only be found
in the environment.
* headers is only the headers from request + call_id, deadline, method, url
* for cold, we simply add the headers to the environment, prepending
`FN_HEADER_` to them, BUT NOT upper casing or `s/-/_/`
* fixes issue where async hot functions would end up with `Fn_header_`
prefixed headers
* removes idea of 'base' vars and 'env'. this was a strange concept. now we just have
'config' which was base vars, and headers, which was base_env+headers; i.e.
they are disjoint now.
* casing for all headers will lean to be `My-Header` style, which should help
with consistency. notable exceptions for cold only are FN_CALL_ID, FN_METHOD,
and FN_REQUEST_URL -- this is simply to avoid breakage, in either hot format
they appear as `Fn_call_id` still.
* removes FN_PARAM stuff
* updated doc with behavior

weird things left:

`Fn_call_id` e.g. isn't a correctly formatted http header, it should likely be
`Fn-Call-Id` but I wanted to live to fight another day on this one, it would
add some breakage.

examples to be posted of each format below

closes #329
2018-01-09 10:08:30 -08:00
CI
9c2a2a7fe7 fnlb: 0.0.238 release [skip ci] fnlb-0.0.238 2018-01-09 16:51:56 +00:00
CI
b1bae08f7d fnserver: 0.3.277 release [skip ci] 0.3.277 2018-01-09 16:49:49 +00:00
Travis Reeder
580dd3e5cb Removes FN_PARAM_xxx (#661) 2018-01-09 16:42:25 +00:00
CI
66cdd2aca5 fnlb: 0.0.237 release [skip ci] fnlb-0.0.237 2018-01-08 23:05:16 +00:00
CI
e2c8eef3c2 fnserver: 0.3.276 release [skip ci] 0.3.276 2018-01-08 23:03:13 +00:00
Tolga Ceylan
0274b5cb65 fn: input doc update for hot http/json functions (#659) 2018-01-08 14:56:05 -08:00
CI
acfa02a249 fnlb: 0.0.236 release [skip ci] fnlb-0.0.236 2018-01-08 20:43:07 +00:00
CI
571add2235 fnserver: 0.3.275 release [skip ci] 0.3.275 2018-01-08 20:41:00 +00:00
Tolga Ceylan
18716911b9 fn: agent slot and execution wait correction (#658)
Since by policy we require timeout/2 remaining time
before we can execute the request, we should also
bound the slot wait time by timeout/2 to avoid
waiting for full timeout in slot wait phase.
2018-01-08 12:33:37 -08:00
CI
dba306e3c8 fnlb: 0.0.235 release [skip ci] fnlb-0.0.235 2018-01-08 18:37:36 +00:00
CI
c66f668680 fnserver: 0.3.274 release [skip ci] 0.3.274 2018-01-08 18:35:45 +00:00
Tolga Ceylan
6f1f5e365d fn: URL parsing updates to fix json request_url (#657)
*) Updated fn-test-utils to latest fdk-go
*) Added hot-json to runner tests
*) Removed anon function in FromRequest which had
a side effect to set req.URL.Host. This is now more
explicit and eliminates some corresponding logic in
protocol http.
*) in gin, http request RequestURI is not set, removed
code that references this. (use Call.URL instead)
2018-01-08 10:28:50 -08:00
CI
b34a31aacc fnlb: 0.0.234 release [skip ci] fnlb-0.0.234 2018-01-08 18:12:45 +00:00
CI
89a4ad3cc2 fnserver: 0.3.273 release [skip ci] 0.3.273 2018-01-08 18:10:35 +00:00
Travis Reeder
5cdee5579d Fixes 404 responses from functions that go through NoRoute path. (#651)
* Fixes 404 responses from functions that go through NoRoute path.

* cleanup

* cleanupp

* fix link

* Rollback a bad change.
2018-01-08 10:03:33 -08:00
CI
c4ccf5f5a8 fnlb: 0.0.233 release [skip ci] fnlb-0.0.233 2018-01-06 02:07:00 +00:00
CI
798856c580 fnserver: 0.3.272 release [skip ci] 0.3.272 2018-01-06 02:04:56 +00:00
Reed Allman
a3f822a9be add a license printing script (#648)
* add a license printing script

this takes info from glide.yaml, which covers all our external dependencies,
and then searches for a LICENSE in each of them. the good news is that it
covers all of our stuff right now, there are none without a license we can't
find. the bad news is, it's not very robust. this seemed to be a manual
process so this is markedly better.

removed one dep we had in glide.yaml that we aren't actually using, should go
away next update

* last of em
2018-01-05 17:10:46 -08:00
CI
2a2e6723b6 fnlb: 0.0.232 release [skip ci] fnlb-0.0.232 2018-01-05 18:36:30 +00:00
CI
5e09fb45ab fnserver: 0.3.271 release [skip ci] 0.3.271 2018-01-05 18:34:30 +00:00
Tolga Ceylan
7185f8306a fn: async wait bugfix and low mem warnings (#649)
*) fix async high water mark logic
*) warning on 256 mem for async and async+sync pools
2018-01-05 10:27:26 -08:00
CI
18de5b4302 fnlb: 0.0.231 release [skip ci] fnlb-0.0.231 2018-01-05 17:43:23 +00:00
CI
2c029e155b fnserver: 0.3.270 release [skip ci] 0.3.270 2018-01-05 17:41:18 +00:00
Gerardo Viedma
6b91351ed8 Logs should support specifying region when using S3-compatible object store (#645)
Logs should support specifying region when using S3-compatible object store
2018-01-05 17:34:32 +00:00
CI
ed9e71ea5b fnlb: 0.0.230 release [skip ci] fnlb-0.0.230 2018-01-04 21:12:26 +00:00
CI
503d596993 fnserver: 0.3.269 release [skip ci] 0.3.269 2018-01-04 21:10:29 +00:00
Reed Allman
ab225178a7 revert swagger to json for logs (#639)
we need to keep it like this until we move to swagger 3, so that we don't
break clients using old versions of fn and new clients.
2018-01-04 13:03:58 -08:00
CI
587fc1bc3a fnlb: 0.0.229 release [skip ci] fnlb-0.0.229 2018-01-04 19:43:32 +00:00