This is Koala, the official Web client for Kowabunga, based on AngularJS.
| Project | Release Badge |
|---|---|
| Kowabunga | |
| Kowabunga JavaScript SDK | |
| Kowabunga Koala |
koala application must be served by a proper Web server. It can be installed by either:
- extracting release content in a directory of your choice (e.g. /var/www/kowabunga)
- using dpkg or apt command on Debian/Ubuntu, e.g.:
$ apt-get install kowabunga-koalaCheck out the list of released versions.
Koala can be exposed through any Web server.
Here's a few to do so through Nginx, provided Kowabunga Kahuna engine is running on 127.0.0.1:8080 and Koala content being hosted in /var/www/kowabunga directory.
server {
server_name kowabunga.acme.com;
server_tokens off;
listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/kowabunga.acme.com/cert.pem;
ssl_certificate_key /etc/nginx/ssl/kowabunga.acme.com/key.pem;
ssl_session_cache shared:le_nginx_SSL:10m;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers off;
# HSTS
add_header Strict-Transport-Security "max-age=63072000" always;
# OCSP stapling
ssl_stapling on;
ssl_stapling_verify on;
# Timeouts
keepalive_timeout 1h;
send_timeout 1h;
client_body_timeout 1h;
client_header_timeout 1h;
etag on;
# Error Pages
error_page 404 /404.html;
location = /404.html {
root /var/www/html;
internal;
}
# Koala
root /var/www/kowabunga;
location ~ (/index.html|/pages|/auth) {
root /var/www/kowabunga;
try_files $uri /index.html;
}
# Kowabunga Orchestrator
location ~ (/api|/confirm|/confirmForgotPassword|/latest) {
proxy_pass http://127.0.0.1:8080$request_uri;
proxy_set_header Host $host;
proxy_connect_timeout 1h;
proxy_read_timeout 1h;
proxy_send_timeout 1h;
}
location ~ (/ws) {
proxy_pass http://127.0.0.1:8080$request_uri;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
}alternatively you can do the same in a much more elegant way with Caddy:
kowabunga.acme.com {
encode
@api path /api/* /confirm /confirmForgotPassword /latest/meta-data
@ws {
path /ws
header Connection *Upgrade*
header Upgrade websocket
}
# Kahuna Orchestrator
handle @api {
reverse_proxy 127.0.0.1:8080
}
handle @ws {
reverse_proxy @ws 127.0.0.1:8080
}
# Koala WebUI
handle {
root * /var/www/kowabunga
try_files {path} /index.html
file_server
}
}
Licensed under Apache License, Version 2.0, see LICENSE.
This project is based on Akveo ngx-admin, licensed under MIT.