1616 Commits

Author SHA1 Message Date
Lucas Roesler
a259d1256c Document goleak usage
**What**
- Expand the Contribution guide so to describe using `goleak` in unit
tests.  This package provides a simple method for detecting goroutine
leaks in tests. This will help ensure that we write safe code.

Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
2019-07-11 22:20:22 +01:00
Pau Rosello
2b37a0133a Non root user and fwatchdow standarization
AlpineFunction additional Dockerfiles
Fix Coffe, node nonroot user and change workdir
DnCore nonroot and updated to 2.1, new README
Fix golang user and watchdog
Java user and watchdog fix
Watchdog and user for node image
Fix python user and watchdog
Fix R username and watchdog
Captainsintent user and fwatchdog
ChangeColorIntent change username, fwatchdog and directory
CHelloWorld remove tmp, disabled lock, fwatchdog and user
DockerHubStats user, fwatchdog and dependencies
Change figlet to use base alpine image
Improve figlet ARM
Set base image GIF-Maker
MarkDownRender change base image
NodeInfo change base image
PhantomJS user and fwatchdog
Resize Image
SentimentAnalysis user and watchdog
WebhookStach change root image
Replace user faas with app
Upgrade alpine to latest version
Revert vendor folders
Upgrade alpine:3.9
2019-07-11 22:17:57 +01:00
haozibi
e8b3818300 chore: add log for easy debug
Signed-off-by: haozibi <haozibi@foxmail.com>
2019-07-11 10:25:17 +01:00
Alex Ellis
481482279c Consolidate listen / timeout messages
This brings of-watchdog and the classic watchdog into sync.

Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-07-11 10:12:48 +01:00
Alex Ellis
c15da33165 Add sponsorshop breakdown and insiders program
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-07-10 11:43:38 +01:00
Alex Ellis
4413407a6b Add Form3Tech
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-07-10 11:36:13 +01:00
Burton Rheutan
b572e77471 Add event and writeup to community
Add event for Chicago Kubernetes meetup
Add writeup for On-Premises Serverless Computing

Signed-off-by: Burton Rheutan <rheutan7@gmail.com>
2019-07-09 22:24:39 +01:00
gabrielsson
75a8468d2f Fix async-function doc broken link in swagger
The documentation for async-function pointed to
the old faas/guide and should be to docs.openfaas.com

Signed-off-by: gabrielsson <max.gabrielsson@gmail.com>
2019-07-08 19:45:15 +01:00
Lucas Roesler
4c12c2e2f8 Add tests for loading the logs provider value from the env
**What**
- Ensure that we are loading the log provider url correctly, including
fallback to the function provider, when the value is set

Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
2019-07-06 10:42:46 +01:00
Lucas Roesler
d8a5952cfe Upgrade faas-provider to 0.9.2
Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
2019-07-06 10:42:46 +01:00
Lucas Roesler
6868d8a3ce Document the new logs endpoint and env variable
**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>
2019-07-06 10:42:46 +01:00
Lucas Roesler
74d08126b3 Handle unexpected statuscodes from the log provider
**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>
2019-07-06 10:42:46 +01:00
Lucas Roesler
02ccccbe60 Remove duplicated code to remove hop headers
Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
2019-07-06 10:42:46 +01:00
Lucas Roesler
c28175c4f6 Fix missing imports and tests
**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>
2019-07-06 10:42:46 +01:00
Lucas Roesler
6df51a3516 Use context timeout to cancel the log request
**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>
2019-07-06 10:42:46 +01:00
Lucas Roesler
db6628d1a5 Remove Hyjacker log handler
**What**
- Remove the hyjacker based logs handler implementation because it is
not needed

Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
2019-07-06 10:42:46 +01:00
Lucas Roesler
e07a61fd0c Reimplemnt the logs proxy without hijacking
**What**
- Create an alternative proxy implementation using CloseNotifier and
Flusher

Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
2019-07-06 10:42:46 +01:00
Lucas Roesler
00c734a136 Verify not goroutine leaks in the log proxy
**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>
2019-07-06 10:42:46 +01:00
Lucas Roesler
e7e91ecd15 Implement log proxy handler
**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>
2019-07-06 10:42:46 +01:00
Rishabh Gupta
3c4077f3df Updated Belo Horizonte event
Signed-off-by: Rishabh Gupta <r.g.gupta@outlook.com>
2019-06-29 12:31:10 +01:00
Rishabh Gupta
491811f4d2 Changed event name as suggested in #1236 by @pasimoes
Signed-off-by: Rishabh Gupta <r.g.gupta@outlook.com>
2019-06-27 15:21:53 +01:00
Rishabh Gupta
9b6f3240fb Added Belo Horizonte Meetup
Signed-off-by: Rishabh Gupta <r.g.gupta@outlook.com>
2019-06-26 13:52:21 +01:00
Alex Ellis
0fab7fbe8b Update figlet and api-secret sample
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-25 21:25:38 +01:00
Alex Ellis
ab4d95c4d8 Update figlet's watchdog
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-25 21:22:26 +01:00
Alex Ellis
6799f61f12 Update nodeinfo/alpinefunction to latest mulit-stage
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-25 21:19:48 +01:00
Richard Gee
74ef6edf08 Add registry login script and reinstate to CI
Signed-off-by: Richard Gee <richard@technologee.co.uk>
2019-06-24 18:42:39 +01:00
Alex Ellis
ced4ee56dc Add Dockerfile override for ARM64
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-24 18:18:05 +01:00
Alex Ellis
0ca78b1fab Use license-check in the auth plugin
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-24 17:57:46 +01:00
Alex Ellis
b275a2010c Update Dockerfile for ARM64
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-24 17:52:21 +01:00
Richard Gee
27ebbfdccd Refactor CI and enable auto-builds for auth
Automatic builds for auth-module on x86_64 (via Travis) and on-demand on-device for arm via publish.sh

The basic-auth module is not built or pushed upon 'tag' / 'release' of the faas repo, but it should be: https://github.com/openfaas/faas/tree/master/auth.  We also don't create on-device images for this, but should do for both armhf and arm64: https://github.com/openfaas/faas/blob/master/contrib/publish-arm.sh

This change addresses these challenges and also introduces a tagAndPush script to alleviate some of the recently introduced repetition in .travis.yml.

Signed-off-by: Richard Gee <richard@technologee.co.uk>
2019-06-23 20:39:48 +01:00
Alex Ellis
9ed10f349c Add bronze sponsor
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-19 22:08:06 +01:00
Burton Rheutan
a6c9e3bb30 Remove extra customize button
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>
2019-06-17 10:20:22 +01:00
Burton Rheutan
fd39f99125 Add presentation videos to community
This adds some additional videos from previous talks
at Dockercon that have not yet been included

Signed-off-by: Burton Rheutan <rheutan7@gmail.com>
2019-06-16 16:05:01 +01:00
Radoslav Dimitrov
48c29f8ab5 Remove deploy-stack.armhf.sh script
Signed-off-by: Radoslav Dimitrov <rdimitrow@gmail.com>
2019-06-16 15:30:49 +01:00
Ron Rivera
a88c411e01 Added OpenFaaS blog post.
Signed-off-by: Ron Rivera <roncrivera@gmail.com>
2019-06-16 15:29:43 +01:00
Sargun Dhillon
b019f6ca54 Add Concurrency Limiter
This enables limiting concurrency. It is a naive approach which
will reject requests as soon as they exceed the maximum number
of in-flight requests.

It is a port of the following PR from the new watchdog code:
https://github.com/openfaas-incubator/of-watchdog/pull/54

Signed-off-by: Sargun Dhillon <sargun@sargun.me>
Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
2019-06-16 15:23:20 +01:00
Richard Gee
45cf4db4cb Update FUNDING.yml to enable github/alexellis
Detail was removed on 10th June with a comment that it will be enabled once GitHub provide access to the beta.  This access was provided on 12th June hence re-enabling.

Signed-off-by: Richard Gee <richard@technologee.co.uk>
2019-06-16 15:20:55 +01:00
Burton Rheutan
a987d2147b Add additional fields to the UI
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>
2019-06-16 14:58:20 +01:00
Vivek Singh
490d74f885 Update gateway to 0.13.9 for swarm
Signed-off-by: Vivek Singh <vivekkmr45@yahoo.in>
2019-06-15 12:24:04 +01:00
Julien Bisconti
84d58c3425 Add talk @ GoWayFest
Signed-off-by: Julien Bisconti <julien.bisconti@gmail.com>
2019-06-15 09:08:22 +01:00
Alex Ellis
6481b683f2 Add ca-certs to multi-arch gateways
Adds package to armhf / arm64 for use with plugins.

Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-14 19:19:15 +01:00
Alex Ellis
e3c976a428 Fix error handling for ExternalAuth
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>
2019-06-14 19:17:25 +01:00
Kevin Turcios
3b027d3005 Add blog post on OpenFaaS/K8s client
Signed-off-by: Kevin Turcios <kevin_turcios@outlook.com>
2019-06-11 08:36:36 +01:00
Alex Ellis
f7cfafa967
Update FUNDING.yml 2019-06-10 18:15:09 +01:00
Alex Ellis
e3b77514d0 Add error handling to basic auth injector
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>
2019-06-09 20:08:39 +01:00
Alex Ellis
d2965df9f2 Remove un-used RoutelessProxy
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-09 20:08:39 +01:00
Alex Ellis
1cf030da48 Differentiate external service auth from user auth
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-09 20:08:39 +01:00
Alex Ellis
0758e484f7 Switch to external auth
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>
2019-06-09 20:08:39 +01:00
Alex Ellis
701708fe0e Update faas-provider version
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-08 10:16:30 +01:00
Alex Ellis
678e93599e Update .gitignore
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-06-08 10:15:55 +01:00