diff --git a/platforms.md b/platforms.md new file mode 100644 index 0000000000..06a9badc14 --- /dev/null +++ b/platforms.md @@ -0,0 +1,123 @@ + +## Supported platforms + +In general, this version of Kea will build and run on any POSIX-compliant +system with a C++ compiler, the Botan cryptographic ibrary, the log4cplus logging library and the Boost system library. + + +Required Software at Run-Time +============================= + +Running Kea uses various extra software packages which may not be +provided in the default installation of some operating systems, nor in +the standard package collections. You may need to install this required +software separately. (For the build requirements, also see :ref:`build-requirements`.) + +- Kea supports two cryptographic libraries: Botan and OpenSSL. Only one + of them is required to be installed during compilation. Kea uses the + Botan library for C++ (https://botan.randombit.net/), version 2.0 or + later. Note that support for Botan versions earlier than 2.0 was + removed in Kea 1.7.0 and later. As an alternative to Botan, Kea can + use the OpenSSL cryptographic library (https://www.openssl.org/), + version 1.0.2 or later. + +- Kea uses the log4cplus C++ logging library + (https://sourceforge.net/p/log4cplus/wiki/Home/). It requires log4cplus version + 1.0.3 or later. + +- Kea requires the Boost system library (https://www.boost.org/). + Building with the header-only version of Boost is no longer + recommended. + +Some optional features of Kea have additional dependencies. + +- To store lease information in a MySQL database, Kea requires + MySQL headers and libraries. This is an optional dependency; + Kea can be built without MySQL support. + +- To store lease information in a PostgreSQL database, Kea + requires PostgreSQL headers and libraries. This is an optional + dependency; Kea can be built without PostgreSQL support. + +- To store lease information in a Cassandra database (CQL), + Kea requires Cassandra headers and libraries. This is an optional + dependency; Kea can be built without Cassandra support. + +- Integration with RADIUS is provided in Kea via the hooks library + available to our paid support customers. Use of this library requires + the FreeRadius-client library to be present on the system where Kea + is running. This is an optional dependency; Kea can be built + without RADIUS support. + +- Kea provides a NETCONF interface with the + kea-netconf agent. This Kea module is built optionally and requires + Sysrepo software when used. Building Kea with NETCONF support + requires many dependencies to be installed, which are described in + more detail in :ref:`netconf-install`. + +--- + +ISC regularly tests Kea on many operating systems and architectures, but +lacks the resources to test all of them. Consequently, ISC is only able to +offer support on a "best effort" basis for some. + + +### Regularly tested platforms + +As of January, 2020, Kea is officially supported on CentOS, Fedora, Ubuntu, Debian, and +FreeBSD systems. Kea-|release| builds have been tested on: + +* CentOS Linux — 7, 8 +* Fedora — 29, 30 +* Ubuntu — 16.04, 18.04, 19.04 +* Debian GNU/Linux — 9, 10 + +There are currently no plans to port Kea to Windows systems. + + +### Best effort + +The following are platforms on which Kea is known to build and run. +ISC makes every effort to fix bugs on these platforms, but may be unable to +do so quickly due to lack of hardware, less familiarity on the part of +engineering staff, and other constraints. + +* FreeBSD — 11.3, 12.0 +* Alpine Linux — 3.10 +* macOS — 10.13, 10.14 + + + +### Community maintained + +These systems may not all have the required dependencies for building Kea +easily available, although it will be possible in many cases to compile +those directly from source. The community and interested parties may wish +to help with maintenance, and we welcome patch contributions, although we +cannot guarantee that we will accept them. All contributions will be +assessed against the risk of adverse effect on officially supported +platforms. + +* Platforms past or close to their respective EOL dates, such as: + * Ubuntu 14.04, 18.10 + * CentOS 6 + * Debian Jessie + * FreeBSD 10.x + +## Unsupported platforms + +These are platforms on which Kea 1.7+ is known *not* to build or run: + +* Windows (all versions) +* Windows Server (all versions) +* Any platform with OpenSSL 1.01 or earlier, which does not also have Botan as an alternative +* Any platform with log4cplus version 1.0.2 or earlier. \ No newline at end of file