- Jul 06, 2019
-
-
Lucas Roesler authored
Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
**What** - Document the new logs handler url env variable in the gateway readme - Document the logs handler in the swagger docs Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
**What** - Use NotImplemented when we get a 404 from the log provider. When we get a 200, process the log request, as normal. For all other status codes, return a sever error with a message stating that the response was unexpected. The message will contain the original status code to assist with debugging Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
**What** - Fix missing imports since my ide forgot to add the "time" package - Update the tests to accept the handler timeout duration Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
**What** - Pass the writetimeout to the logs handler to set the context timeout of the log stream. Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
**What** - Remove the hyjacker based logs handler implementation because it is not needed Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
**What** - Create an alternative proxy implementation using CloseNotifier and Flusher Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
**What** - Add test to verify that the log proxy shutsdown correctly when the client cancels - Add test to verify that the log proxy shutsdown correctly when the logs provider closes the connection Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
Lucas Roesler authored
**What** - Implement log handler method that will hijack the connection and clear timeouts to allow long lived streams - Proxies requests to the logs provider and returns the response unmodified Signed-off-by:
Lucas Roesler <roesler.lucas@gmail.com>
-
- Jun 24, 2019
-
-
Alex Ellis authored
Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Jun 17, 2019
-
-
Burton Rheutan authored
The customize button was redundant to the custom tab This could lead to confusion with the user experience, so the additional button has been removed. Signed-off-by:
Burton Rheutan <rheutan7@gmail.com>
-
- Jun 16, 2019
-
-
Burton Rheutan authored
Adding additional inputs for Environment variables, Secrets, Labels, and annotations so that more advanced functions can be deployed through the UI. This also allows more advanced functions to be provided via the store. Allowing modification to secret values, and environment variables which will allow functions like a Slack Bot function to be deployed through the store adn configured with an environment variable Signed-off-by:
Burton Rheutan <rheutan7@gmail.com>
-
- Jun 14, 2019
-
-
Alex Ellis authored
Adds package to armhf / arm64 for use with plugins. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
This corrects an issue where the error body was being hidden for the external auth handler. It also adds the ca-certs into the runtime Docker image for when the gateway is calling an external plugin exposed over HTTPS. Tested with OAuth2 plugin. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Jun 09, 2019
-
-
Alex Ellis authored
Fixes a problem where basic auth was disabled and a nill pointer was hit, causing a panic. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
This commit moves the OpenFaaS gateway from using in-process basic-auth for everything to use an external auth URL instead. When auth is not enable, this functionality is not added to the handlers and behaves as before. When enabled, the configured plugin with authenticate requests. Tested on Docker Swarm with positive and negative tests. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Jun 08, 2019
-
-
Alex Ellis authored
Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Jun 07, 2019
-
-
Alex Ellis authored
Fixes issue by adding unit test to make sure the body from the plugin is written correctly and proxied to the client. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
Fix for external auth wrapper handler. Written by introducing a broken unit test. Whenever the auth plugin returns a request as not authorized, we must pass back any headers set by the plugin. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
Fixes issue found in e2e testing where the headers were not being passed to the basic-auth-plugin. This change makes sure the upstream check gets all headers copied in before making the call. Tested with negative unit tests before writing fix. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Jun 05, 2019
-
-
Alex Ellis authored
Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
These two functions are effectively the same, with the former being a wrapper for the later. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
An explicit timeout is passed to the handler and a new unit test proves that the functionality is in place. A additional return statement was needed in the handler as pointed out by @stefanprodan. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
Adds two new environment variables and unit tests to validate positive and default use-cases. auth_proxy_url auth_proxy_pass_body Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
This commit adds an external auth handler which can be used to wrap existing handlers, so that they delegate their requests to an upstream URL before allowing a request to pass through to an upstream API. New handler tested with unit tests. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Apr 14, 2019
-
-
Rishabh Gupta authored
Signed-off-by:
Rishabh Gupta <r.g.gupta@outlook.com>
-
Rishabh Gupta authored
Signed-off-by:
Rishabh Gupta <r.g.gupta@outlook.com>
-
- Apr 11, 2019
-
-
Alex Ellis authored
There is a utility script which can be used for installing license-check. This is added to the gateway Dockerfiles. Tested in Docker for Mac. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Apr 06, 2019
-
-
Alex Ellis authored
Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
Alex Ellis authored
Requested by @LucasRoesler - removes headers detailed in HTTP spec which are not supposed to be forwarded by proxies or gateways. Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Mar 09, 2019
-
-
Vivek Singh authored
Signed-off-by:
Vivek Singh <vivekkmr45@yahoo.in>
-
Vivek Singh authored
Signed-off-by:
Vivek Singh <vivekkmr45@yahoo.in>
-
Vivek Singh authored
This commit adds changes to run metrics server in a separate method and also removed port 8082 from exposed port a/c to review comments. It also uses a smaller static timeout value for new server. Signed-off-by:
Vivek Singh <vivekkmr45@yahoo.in>
-
Vivek Singh authored
This commit runs a new HTTPServer on port 8082 in a goroutine to serve /metrics endpoint on a different port. This also update the configurations and compose files. Fixes: #1081 Signed-off-by:
Vivek Singh <vivekkmr45@yahoo.in>
-
- Feb 12, 2019
-
-
Alex Ellis authored
Includes fix for reconnection bug to NATS Streaming Signed-off-by:
Alex Ellis <alexellis2@gmail.com>
-
- Feb 04, 2019
-
-
Alex Ellis (VMware) authored
- max_conns / idle / per host are now read from env-vars and have defaults set to 1024 for both values - logging / metrics are collected in the client transaction rather than via defer (this may impact throughput) - function cache moved to use RWMutex to try to improve latency around locking when updating cache - logging message added to show latency in running GetReplicas because this was observed to increase in a linear fashion under high concurrency - changes tested against 3-node bare-metal 1.13 K8s cluster with kubeadm Signed-off-by:
Alex Ellis (VMware) <alexellis2@gmail.com>
-
Alex Ellis (VMware) authored
- due to what appears to be a frequent issue with the Go HTTP client some tweaks were needed to the HTTP client used for reverse proxying to prevent CoreDNS from rejecting connections. The following PRs / commits implement similar changes in Prometheus and Minio. https://github.com/prometheus/prometheus/pull/3592 https://github.com/minio/minio/pull/5860 Under a 3-node (1-master) kubeadm cluster running on bare metal with Ubuntu 18.04 I was able to send 100k requests with 1000 being concurrent with no errors being returned by hey. ``` hey -n 100000 -c 1000 -m=POST -d="hi" \ http://192.168.0.26:31112/function/go-echo ``` The go-echo function is based upon the golang-http template in the function store using the of-watchdog. Signed-off-by:
Alex Ellis (VMware) <alexellis2@gmail.com>
-