<commit_before>Ozwillo Kernel Installation
===========================

The Ozwillo Kernel is a standalone Java application (no application server needed)
and is distributed as a Debian package.

Prerequisites
-------------

The only software dependency needed on the server running the Ozwillo Kernel
is a Java Virtual Machine, version 1.7 at a minimum.

The Ozwillo Kernel however depends on companion services:
 * A reverse proxy as a TLS termination endpoint.
   It must forward the `Host` header as-is (no `X-Forwarded-Host`)
   and send an `X-Forwarded-Proto: https` header
   (it must also ensure `X-Forwarded-Proto` cannot be faked from the outside.)
   No need to say it must redirect HTTP traffic to HTTPS,
   with an appropriate `Strict-Transport-Security` header.
 * an SMTP server
 * a MongoDB database (tested with version 2.6)
 * an ElasticSearch server reachable through HTTP

In production, when installed through the Debian package,
it also depends on a Logstash agent
listening on TCP port 11111
and generally routing messages (JSON, one message per line) to an ElasticSearch server.

Building from sources
---------------------

The Debian package is not deployed to any public repository (yet),
so it must be built from sources.

Building the Ozwillo Kernel only requires
a Java Development Kit (same version as will be used in production),
Internet access (to download dependencies, including the build tool itself),
and Git (necessary to compute the version number).

Just run `./gradlew build` to download all dependencies and build the project;
the Debian package will be created in `oasis-dist/build/dists/oasis_{version}.deb`,
along with an `oasis-dist/build/dists/oasis_{version}.changes` file
for easy deployment to a Debian repository (such as reprepro).

Installing the package
----------------------

When installing the Debian package:
 * `oasis` user and group are created
 * the application is installed in `/usr/lib/oasis`
 * configuration is created in `/etc/oasis/` and `/etc/default/oasis`
 * a SystemV service is created at `/etc/init.d/oasis`
 * logs will be output in `/var/log/oasis`,<commit_msg>fix: link to generated Debian package<commit_after>Ozwillo Kernel Installation
===========================

The Ozwillo Kernel is a standalone Java application (no application server needed)
and is distributed as a Debian package.

Prerequisites
-------------

The only software dependency needed on the server running the Ozwillo Kernel
is a Java Virtual Machine, version 1.7 at a minimum.

The Ozwillo Kernel however depends on companion services:
 * A reverse proxy as a TLS termination endpoint.
   It must forward the `Host` header as-is (no `X-Forwarded-Host`)
   and send an `X-Forwarded-Proto: https` header
   (it must also ensure `X-Forwarded-Proto` cannot be faked from the outside.)
   No need to say it must redirect HTTP traffic to HTTPS,
   with an appropriate `Strict-Transport-Security` header.
 * an SMTP server
 * a MongoDB database (tested with version 2.6)
 * an ElasticSearch server reachable through HTTP

In production, when installed through the Debian package,
it also depends on a Logstash agent
listening on TCP port 11111
and generally routing messages (JSON, one message per line) to an ElasticSearch server.

Building from sources
---------------------

The Debian package is not deployed to any public repository (yet),
so it must be built from sources.

Building the Ozwillo Kernel only requires
a Java Development Kit (same version as will be used in production),
Internet access (to download dependencies, including the build tool itself),
and Git (necessary to compute the version number).

Just run `./gradlew build` to download all dependencies and build the project;
the Debian package will be created in `oasis-dist/build/distributions/oasis_{version}.deb`,
along with an `oasis-dist/build/distributions/oasis_{version}.changes` file
for easy deployment to a Debian repository (such as reprepro).

Installing the package
----------------------

When installing the Debian package:
 * `oasis` user and group are created
 * the application is installed in `/usr/lib/oasis`
 * configuration is created in `/etc/oasis/` and `/etc/default/oasis`
 * a SystemV service is created at `/etc/init.d/oasis`
 * logs will be output in `/var/log/oasis`,
{'fraction_non_alphanumeric': 0.09749884205650765, 'fraction_numerical': 0.0041685965724872626, 'mean_word_length': 3.930365296803653, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2908494', 'n_tokens_mistral': 1166, 'n_tokens_neox': 1106, 'n_words': 574}