108 Commits

Author SHA1 Message Date
Alex Ellis (VMware)
c716c54868 Break out logging / metrics for functions in forwarding_proxy
Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
2018-03-20 09:51:42 +00:00
Alex Ellis
6efaee5b4f Add upstream_timeout as env-var
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2018-03-05 12:49:25 +00:00
Alex Ellis
7120e4c5f4 Apply comments and naming conventions to HTTP proxy
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2018-03-03 17:36:33 +00:00
Alex Ellis
26e0de3497 Remove Golang reverseproxy and use http Client
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2018-03-03 17:36:33 +00:00
Alex Ellis (VMware)
b67d0526ce Expose function endpoint from underlying provider
Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
2018-03-01 08:34:32 +00:00
Alex Ellis
f954bf0733 Merge master into breakout_swarm
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2018-02-01 09:29:54 +00:00
Alex Ellis
b1e92f6b93 Add call-id via middleware
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-12-13 06:18:44 -08:00
Alex Ellis
3d210f1ff2 Extract handler_set.go
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-12-05 06:50:08 -06:00
Alex Ellis
23a7187435 Refactoring: variable names, adding tests and http constants
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-12-05 06:50:08 -06:00
Alex Ellis
78a4580ead Allow CORS to GitHub raw
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-11-29 09:48:58 +01:00
Alex Ellis
8363532751 Set content-type for mixed-in Prometheus results
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-29 15:21:23 +00:00
John McCabe
89878f0c8a Migrate from alexellis org to openfaas
Note, not all `alexellis/github` references should be changed, there are
a number of repos which are not part of the openfaas org, this commit
excludes those.

Signed-off-by: John McCabe <john@johnmccabe.net>
2017-10-04 09:18:06 +01:00
John McCabe
40e1fac1c2 Implement Swarm update handler using PUT
This commit implements an update handler for Docker Swarm, it queries the
current spec, updates values in-situ before calling ServiceUpdate.

The UpdateConfig FailureAction is set to rollback, so in the event of
supplying values to the update that would result in the service failing
then the update will be rolled back.

The UpdateConfig Parallelism param is set to an explicit value of 1 which
will result in functions being updated 1 by 1 rather than all at once.

It also moves the restartDelay declaration out of the create and update
handlers and into the main server function alongside maxRestarts.

And finally this commit uses the PUT HTTP verb for updates rather than
the non-HTTP UPDATE verb which was being used initially (also adding it
to the Swagger definition).

Signed-off-by: John McCabe <john@johnmccabe.net>
2017-09-27 09:58:03 +01:00
Alex Ellis
2229e922d7 Add update endpoint/route
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-09-23 20:42:13 +01:00
Alex Ellis
d2b15241c6 fix x-header
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-09-19 22:14:04 +01:00
Alex Ellis
ec22a301fe Refactor out handler file from server.go
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-09-13 10:28:40 -07:00
Alex Ellis
5339fdcdbe Query Prometheus API for stats.
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-09-07 22:42:27 +01:00
Alex
fa069e412c Remove Docker client from NATS
Signed-off-by: Alex <alexellis2@gmail.com>
2017-08-29 19:40:08 +01:00
Alex Ellis
bd146f526c Sync async_nats work with master
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-08-29 19:40:08 +01:00
Alex Ellis
c5815d36ab add_missing_mit_header_27_aug
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-08-27 22:37:19 +01:00
Alex Ellis
c163b7d2a8 Add gateway_service_count metric for external provider
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-08-25 08:14:05 +01:00
Alex
3ac73340c3 Allow restarts of up to 5 times with 5 sec delays
Signed-off-by: Alex <alexellis2@gmail.com>
2017-08-16 21:34:05 +01:00
Alex Ellis
f165ce2ca7 External replica proxy 2017-08-08 09:14:46 +01:00
Alex Ellis
33381a783a External alert-handler support. 2017-08-08 09:14:46 +01:00
Alex
1e4b5f907a Wrap scaling / alert handling in interface/adapter pattern. 2017-08-08 09:14:46 +01:00
Alex
fa210a0dd3 Move HttpAdapter to own file 2017-08-08 09:14:46 +01:00
Alex
9df92c7f1b Start logging metrics 2017-08-08 09:14:46 +01:00
Alex
35a15cff01 Support external URL for FaaS functions 2017-08-08 09:14:46 +01:00
leigh schrandt
cc3308a555 Relocate config_test to tests package and
Export struct members of GatewayConfig{}
2017-07-18 08:46:46 +01:00
leigh schrandt
457d0be78b Add GatewayConfig
Add env configurable readTimeout / writeTimeout
Add env-timeout test
Modify appropriate Dockerfiles

Signed-off-by: leigh schrandt <leigh@null.net>
2017-07-18 08:46:46 +01:00
Alex Ellis
968002c15f Extract magic variables for server 2017-05-08 13:42:14 +01:00
Alex Ellis
0b2d3ea6c0 Move static files to ui folder 2017-05-08 13:42:14 +01:00
Alex Ellis
78af82021f Vendoring with Glide and delete function handler 2017-04-27 09:29:14 +01:00
Alex Ellis
8c66f43f79 Enable dash in function name 2017-04-12 11:18:05 +01:00
Alex Ellis
3aec97441e Cleanup logging, give not allowed to GET on gateway functions 2017-04-05 22:34:45 +01:00
Alex Ellis
a63dd8ee4c Simplify instrumentation metrics.
- fix javascript deserialization in UI with json response
-  create swarm watcher to monitor replicas
2017-03-14 22:10:24 +00:00
Alex
98c9ef67f4 Initial pop-up for new function. 2017-03-12 12:56:53 +00:00
Alex Ellis
6d921cac50 Include base64 sample function in stack
Document sample functions with comments
Allow functions with 0-9 for route regex
2017-02-19 18:26:55 +00:00
Alex
52266a6741 Match content-type of incoming request. Fix for Alexa. 2017-01-28 12:26:30 +00:00
Alex Ellis
501e813d41 Move handlers into ./handlers 2017-01-25 22:29:17 +00:00
Alex
cdd5219200 Tweak alertmanager timeout + simplify down-scale of replicas 2017-01-23 22:44:03 +00:00
Alex
59ca597903 Fix if-guard for replica scaling 2017-01-23 22:12:47 +00:00
Alex
0dfafe99c5 Error handling around Docker socket, refactor scaling to separate method 2017-01-23 09:19:52 +00:00
Alex Ellis
f4fde50ca8 Add +5 / -5 Replica scaling in response to AlertManager 2017-01-22 20:00:48 +00:00
Alex Ellis
ff429ce493 Add static front end + functions endpoint. 2017-01-22 10:45:42 +00:00
Alex Ellis
b9bd7c8101 Extract separate files/packages for better visibility. 2017-01-21 15:50:19 +00:00
Alex
3a0739fad0 Add route /system/alert for scaling. 2017-01-21 10:59:29 +00:00
Alex
ab2f8e85f3 Introduce gateway_function_invocation_total to track individual functions
Introduce prometheus_alertmanager into stack - have it fire into webhook stash
2017-01-21 10:11:33 +00:00
Alex Ellis
f944b088be Stack 1 (#4)
* - Extend stack to include a test function
* - Allow _ char in routes
* - Let Dockerfile shrink by coming from alpine

* Update build.sh

* Document stack deploy

* Update README.md

* fix port in README (#3)
2017-01-09 20:02:18 +00:00
Alex
84d1c0eaef Enable routing via /functions/ endpoint 2017-01-04 09:14:21 +00:00