Commit Graph

86 Commits

Author SHA1 Message Date
Michael Snoyman
6476bdc53e Beginning of stanza work 2013-07-25 14:10:09 +03:00
Michael Snoyman
3d02ddfbd0 Rename PortManager to HostManager 2013-07-25 13:07:48 +03:00
Michael Snoyman
f99f8cfe5a Removed Keter.Process 2013-07-14 16:28:43 +03:00
Michael Snoyman
f4aefc0634 Major rearrangement of types 2013-07-14 15:55:05 +03:00
Michael Snoyman
c3c8c1260b Config -> KeterConfig 2013-07-14 15:30:55 +03:00
Michael Snoyman
3fc984866a Started versioning of data types 2013-07-14 15:28:48 +03:00
Michael Snoyman
35688d2d4f Better app config loading 2013-07-14 13:02:18 +03:00
Michael Snoyman
88980e01a5 Moved TempDir to TempTarball 2013-07-10 14:15:18 +03:00
Michael Snoyman
708737019d Refactor Keter.TempFolder and Keter.App a bit 2013-07-10 14:09:14 +03:00
Michael Snoyman
0faa41cf21 More generic plugin system 2013-07-10 13:27:36 +03:00
Michael Snoyman
235ceca5bb Move log file code into unix-process-conduit 2013-07-10 12:48:46 +03:00
Michael Snoyman
fb0259d068 Add back the waitForProcess call 2013-07-10 12:48:20 +03:00
Michael Snoyman
f65d21cdb0 Removed Keter.SSL 2013-07-10 10:00:02 +03:00
Michael Snoyman
9750270cb2 Data.Yaml.FilePath 2013-07-10 09:57:38 +03:00
Michael Snoyman
946a1429fe Moved process tracker to unix-process-conduit 2013-07-10 09:03:03 +03:00
Michael Snoyman
f1c1f3255b Fix some warnings 2013-06-04 09:42:54 +03:00
Michael Snoyman
d8b33c96b6 Remove another usage of encode 2013-06-04 09:41:22 +03:00
Michael Snoyman
47cb011a52 IP address headers #8 2013-06-03 14:50:29 +03:00
Michael Snoyman
e32dca73cf Use WAI proxying 2013-06-03 14:50:29 +03:00
Michael Snoyman
7ec7275669 Avoid encode from system-filepath (is not cross-platform safe) 2013-06-03 14:49:57 +03:00
Michael Snoyman
a72eac5c15 Switch to fsnotify 2013-06-03 14:49:57 +03:00
Michael Snoyman
3f8cc81189 HUP signal to refresh apps #15 2013-05-29 09:46:25 +03:00
Aaron Friel
9dc7ed9b56 Remove unneeded imports in ReverseProxy 2013-04-16 13:35:32 -05:00
Jenkins
0e5cf2e35a Add configurable timeout. 2013-04-16 12:57:39 -05:00
Aaron Friel
c4463a03d1 Fixes for working with legacy servers that poorly handle chunked transfers.
Essentially, some servers when receiving a chunked transfer are observed to
behave poorly on the response side when receiving a chunked encoded request
body from the client.
2013-03-31 18:35:10 -05:00
Aaron Friel
e8b6c7c7f6 Debugging - print chunk sizes of HTTP bodies through proxy 2013-03-24 13:33:36 -05:00
Aaron Friel
6a8fb4db82 Demonstrate issue with consuming last "chunk" from http-conduit.
This puts the nail in the coffin, altering the integer passed to isolate will
varyingly cause the response to error out and never reach the second "print"
or cause Keter to respond with a truncated message.
2013-03-23 12:50:37 -05:00
Aaron Friel
b328081daa Demonstrates issue with consuming request from http-conduit.
This attempts to consume the request from http-conduit by using $$+- and
printing a string before and after. The "after" never happens under the
following response header conditions:

  1. HTTP/1.1
  2. Connection: Close
  3. *no* Content-Length
  4. *no* Transfer-Encoding
2013-03-23 12:39:21 -05:00
Aaron Friel
ccccd9f252 Experimental support for legacy / malformed responses from proxied server.
This is entirely to support behavior of broken web servers that might be
proxied.

The culprit, in this case, is a Jenkins server on Ubuntu 12.04 (installed using
their repositories and running in the default Servlet container). This server
for whatever reason generates responses that have this rare ill-formed set of
headers:

  HTTP/1.1 200 OK
  Connection: Close

With *no content-length* and *no transfer-encoding*.

So this is an initial attempt at working around this.
2013-03-23 03:54:57 -05:00
root
a382522580 Clean up a comment from an earlier version of the code. 2013-03-20 00:24:48 -05:00
root
03dbc0807d Built-in reverse proxy now supports rewriting headers
This is necessary for using Keter as a front-end to other web
services that may require hacks like Jenkins does, where the
"Location" header needs to be rewritten to use https on every
response.

Example:

```
root: ..
port: 80
ssl:
  # host:
  port:
  key:
  certificate:
reverse-proxy:
  - reversed-host: jenkins-internal.corp.example.com
    reversed-port: 8080
    reversing-host: jenkins.example.com
    ssl: False
    rewrite-response:
      - header: Location
        from: ^http://jenkins.example.com
        to: https://jenkins.example.com
```
2013-03-20 00:01:43 -05:00
root
a2475db419 Add static reverse proxy support for Keter.
No longer have to set up keter bundles for mighttpd or other proxies.
2013-03-16 16:36:57 -05:00
Michael Snoyman
36469f703a App itself is now optional 2013-01-28 09:09:02 +02:00
Imran Hameed
1aba8aa4fa support default bundles
keter bundles configured with a primary hostname of "*" will serve as
the default target for all requests that aren't associated with an
explicit host mapping

this is useful when running keter as a deployment manager for a single
application on multiple machines with distinct hostnames behind a
load-balancing reverse proxy that modifies the http host header:
cluster-wide deployments no longer require the generation of a unique
keter bundle for each machine

managing two separate wildcard applications with the same keter instance
will result in an obvious race
2013-01-02 06:55:15 -08:00
Michael Snoyman
2fd2919640 Correctly set UID/GID on all created folders (#4) 2012-12-27 11:52:55 +02:00
Michael Snoyman
c1e49dc1cf Kill processes when Keter shuts down (#3) 2012-11-19 10:31:40 +02:00
Michael Snoyman
93676eeb07 Slightly more helpful error messages 2012-11-04 10:35:21 +02:00
Michael Snoyman
bd876edd3a setuid support 2012-10-24 16:31:18 +02:00
Michael Snoyman
52971e4b6f Removed host list on Keter welcome page 2012-10-21 07:11:46 +02:00
Michael Snoyman
b0c173a8c1 Host name redirects 2012-10-21 07:07:26 +02:00
Michael Snoyman
99739e3f84 Slightly better error message 2012-10-21 06:51:35 +02:00
Michael Snoyman
30804ae341 unix-process-conduit 0.2 2012-10-16 21:21:11 +02:00
Michael Snoyman
da6ea6735c onException killProcess 2012-10-16 15:13:26 +02:00
Michael Snoyman
bc095450b2 CloseOnExec for creating files
This should solve the text file busy issue. The problem was that while
one green thread was writing a file to disk, another would already be
forking a process for executing a separate app. That new process would
retain a write FD to the file being created, which prevented that file
from eventually being executed.
2012-10-15 14:35:43 +02:00
Michael Snoyman
cbd0f9d19e New static hosts format 2012-10-14 18:17:01 +02:00
Michael Snoyman
6955fe93e0 static-hosts 2012-10-12 12:59:46 +02:00
Michael Snoyman
a16f532880 extra-hosts 2012-10-12 12:17:00 +02:00
Michael Snoyman
e0fa8d7bac Avoid Tar.unpack 2012-10-12 12:02:58 +02:00
Michael Snoyman
3a54ae43af network-conduit-tls and unix version bumps 2012-10-11 10:25:17 +02:00
Michael Snoyman
309ee985b0 unix-process-conduit 2012-10-04 19:16:45 +02:00