55 Commits

Author SHA1 Message Date
Alex Young
0248a5ea1d Return 500 if GET /system/functions fails
Signed-off-by: Alex Young <alex@heuris.io>
2017-10-27 15:38:03 +01:00
Alex Ellis
12a0c75e91 Add unit tests to build. Pin to specific Alpine tag.
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-26 21:02:50 +01:00
Alex Ellis
ec60d97518 Report async execution duration
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-25 19:40:33 +01:00
Alex Ellis
f696d3930d Label support for Update handler
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-23 16:19:49 +01:00
Alex Ellis
e4a1ef2d6b Add label support to Swarm
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-23 16:19:49 +01:00
Alex Ellis
520a6b05a1 Commit unit tests for content-type order
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-20 22:47:30 +02:00
Alex Ellis
4d4a09fa19 Implement header pass-through
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-20 22:47:30 +02:00
Alex Ellis
6d5ae1af5b Fix content type pass through
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-20 22:47:30 +02:00
Alex Ellis
dde98eb582 Forward path and query string through proxy
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-10-11 18:57:00 +01: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 Young
031a0bc18c Add tests around error handing done in #196
Signed-off-by: Alex Young <alex@heuris.io>
2017-09-22 14:39:01 +01:00
Eric Stoekl
1622fadd9c Return error when ServiceCreate fails in
gateway/handler/createhandler.go

Signed-off-by: Eric Stoekl <ems5311@gmail.com>
2017-09-19 20:14:05 +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
wangguoliang
94a15e44d5 should use strings.Contains() instead of stings.Index()
Signed-off-by: wgliang <liangcszzu@163.com>
2017-09-13 09:55:45 -07:00
Alex Ellis
499d6128e5 remove comment
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-09-13 09:54:05 -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 Ellis
3db2064d91 Handle constraints
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-09-04 13:42:36 +01:00
Alex Ellis
78daa9cd39 Specify Linux constraints by default
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-09-02 20:12:10 +01:00
Alex Ellis
fba2d8aa52 Add MIT header
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-08-29 19:40:08 +01:00
Alex
2cca166dc0 Update async for CallbackUrl
Signed-off-by: Alex <alexellis2@gmail.com>
2017-08-29 19:40:08 +01:00
Alex
3031531b3c Specify callback URL via http header
Signed-off-by: Alex <alexellis2@gmail.com>
2017-08-29 19:40:08 +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
b6002e1c85 Add EnvProcess and logo to UI
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2017-08-23 09:01:44 +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
1e4b5f907a Wrap scaling / alert handling in interface/adapter pattern. 2017-08-08 09:14:46 +01:00
Alex
35a15cff01 Support external URL for FaaS functions 2017-08-08 09:14:46 +01:00
Sebastien Guilloux
9e711b3b5d Handle private docker registry auth
This adds support for private docker registries, by adding
an optional `registryAuth` field in the CreateFunctionRequest.
Auth must be passed as base64-encoded basic auth, similar to
how done in Docker file store credentials (~/.docker/config.json).
Credentials are then passed to swarm at service creation.
2017-05-30 17:10:34 +01:00
Alex Ellis
9e3eaea754 Pass env-vars to functions via API gateway 2017-05-08 13:42:14 +01:00
Alex Ellis
024bd5419b Format and add multi-stage Dockerfile 2017-05-08 13:42:14 +01:00
Alex
569ccbf323 Add license into code files for MIT 2017-04-27 23:21:50 +01:00
Alex Ellis
78af82021f Vendoring with Glide and delete function handler 2017-04-27 09:29:14 +01:00
Alex Ellis
09cc91108a Enable handling of multiple concurrent alerts 2017-04-13 17:38:30 +01:00
Alex Ellis
c62c00e411 Fix for Docker upstream 2017-04-11 21:22:37 +01:00
Alex Ellis
4a0c712c0f Extract magic variables 2017-04-08 10:03:16 +01:00
Alex Ellis
a71329de4a Provide override for replica scaling to cap out at custom value. 2017-04-08 10:03:16 +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
0b166c7627 Enable DNS-RR override for task lookup. 2017-04-05 09:13:18 +01:00
Alex Ellis
54d16013bb Add comment 2017-03-31 20:40:25 +01:00
Alex
c705cd8e33 Forward client HTTP headers through pipeline 2017-03-31 20:40:25 +01:00
Alex Ellis
2aeadfda1c Disable KeepAlive on proxy (#21)
* Service lookup

* Disable KeepAlive to force RR for replias.

* set KeepAlive to 0

* Remove temporary file

* Support white and rename function

* Remove debug from node sample
2017-03-21 08:39:36 +00: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
38713184e5 Add status code instrumentation for functions 2017-03-14 22:10:24 +00:00
Alex
fe1e9fc52e Create your own functionk working. 2017-03-12 12:56:53 +00:00
Alex
98c9ef67f4 Initial pop-up for new function. 2017-03-12 12:56:53 +00:00
Alex Ellis
9f2183f6f3 Update test names 2017-02-21 19:09:11 +00:00