Skip to content

Commit 6b6441c

Browse files
committed
Update README
Clarify aims and status of the component within the project. Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
1 parent 8cce858 commit 6b6441c

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

README.md

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
# of-watchdog
22

3+
Reverse proxy for HTTP microservices and STDIO
4+
35
[![Go Report Card](https://goreportcard.com/badge/github.com/openfaas/of-watchdog)](https://goreportcard.com/report/github.com/openfaas/of-watchdog) [![Build Status](https://travis-ci.org/openfaas/of-watchdog.svg?branch=master)](https://travis-ci.org/openfaas/of-watchdog)
46
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
57
[![OpenFaaS](https://img.shields.io/badge/openfaas-serverless-blue.svg)](https://www.openfaas.com)
68

7-
The `of-watchdog` is a new version of the OpenFaaS watchdog which provides the original STDIO mode from the Classic Watchdog along with a new HTTP `mode`.
9+
The `of-watchdog` implements a HTTP server listening on port 8080, and acts as a reverse proxy for running functions and microservices. It can be used independently, or as the entrypoint for a container with OpenFaaS.
810

9-
See also: [Classic Watchdog](https://github.com/openfaas/faas/tree/master/watchdog)
11+
This version of the OpenFaaS watchdog adds support for HTTP proxying as well as STDIO, which enables re-use of memory and very fast serving of requests. It does not aim to replace the [Classic Watchdog](https://github.com/openfaas/faas/tree/master/watchdog), but offers another option for those who need these features.
1012

1113
### Goals:
12-
* Cleaner abstractions for maintenance
13-
* Keep function process warm for lower latency / caching / persistent connections
14-
* Explore streaming for large files (beyond disk/RAM capacity)
1514

16-
![](https://camo.githubusercontent.com/61c169ab5cd01346bc3dc7a11edc1d218f0be3b4/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f4447536344626c554941416f34482d2e6a70673a6c61726765)
15+
* Keep function process warm for lower latency / caching / persistent connections through using HTTP
16+
* Enable streaming of large responses from functions, beyond the RAM or disk capacity of the container
17+
* Cleaner abstractions for each "mode"
1718

18-
## Watchdog modes:
19+
![](https://camo.githubusercontent.com/61c169ab5cd01346bc3dc7a11edc1d218f0be3b4/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f4447536344626c554941416f34482d2e6a70673a6c61726765)
1920

20-
History/context: the original watchdog supported mode the Serializing fork mode only and Afterburn was available for testing via a pull request.
21+
## Modes
2122

22-
When the of-watchdog is complete this version will support five modes as listed below. We may consolidate or remove some of these modes before going to 1.0 so please consider modes 2-4 experimental.
23+
There are several modes available for the of-watchdog which changes how it interacts with your microservice or function code.
2324

2425
### 1. HTTP (mode=http)
2526

@@ -114,11 +115,17 @@ HTTP headers cannot be sent after function starts executing due to input/output
114115

115116
* Exec timeout: supported.
116117

117-
### 4. Afterburn (mode=afterburn)
118+
### 4. Static (mode=static)
119+
120+
This mode starts an HTTP file server for serving static content found at the directory specified by `static_path`.
121+
122+
See an example in the [Hugo blog post](https://www.openfaas.com/blog/serverless-static-sites/).
123+
124+
### 5. Afterburn (mode=afterburn)
118125

119-
### 4.1 Status
126+
### 5.1 Status
120127

121-
Afterburn should be considered for deprecation in favour of the HTTP mode.
128+
Afterburn has been deprecated in favour of the HTTP mode.
122129

123130
Several sample templates are available under the OpenFaaS incubator organisation.
124131

@@ -128,7 +135,7 @@ https://github.com/openfaas/python-afterburn
128135

129136
https://github.com/openfaas/java-afterburn
130137

131-
### 4.2 Details
138+
### 5.2 Details
132139

133140
Uses a single process for all requests, if that request dies the container dies.
134141

@@ -142,10 +149,6 @@ Vastly accelerated processing speed but requires a client library for each langu
142149

143150
* Exec timeout: not supported.
144151

145-
### 5. Static (mode=static)
146-
147-
This mode starts an HTTP file server for serving static content found at the directory specified by `static_path`.
148-
149152
## Configuration
150153

151154
Environmental variables:

0 commit comments

Comments
 (0)