Kolab integrates multiple components to provide you with a fully-fledged communication and collaboration solution.
This includes:
* Being able to send & receive email including:
* spam filtering
* virus scanning
* Support for important protocols that ensure secure email delivery (DKIM/DMARC/SPF)
* A variety of access protocols:
* IMAP/SMTP
* ActiveSync
* CalDAV/CardDAV
* A webmail client that includes advanced calendaring/tasks/addressbook
* A webrtc based video chat solution
* File storage
* Collaborative editing of documents
In short, it provides everything that a company/family/... needs to work and communicate together, while maintaining full control over all data.
-# Kolab 3 vs Kolab 4
-
-Kolab has undergone a major revision from generation 3 to generation 4.
-
-The following is a short list of major changes:
-
-* Kolab is now at it's core a PHP application in laravel, which integrates all services via an API.
-* Historically, groupware data has been stored in XML messages in IMAP (so called Kolab Objects). This is no longer the case. Kolab now uses Cyrus provided DAV for Calendar/Tasks/Contacts and the Kolab Files API for files.
-* Packages are no longer the primary distribution mechanism with a switch to conatinerized deployments.
-* LDAP is no longer used by Kolab.
-* The Webadmin panel has been replaced by Kolab Cockpit.
-* pykolab/kolabd/wallace functionality has been integrated into the central Kolab API.
-
# What is Kolab on Kubernetes?
Kolab on Kubernetes is a complete Kolab distribution that includes everything you need to run Kolab in production.
Kolab consists of many components that work together. All these components can be configured separately, with a great deal of flexibility.
Kolab on Kubernetes packages all components via container images and a Helm chart, into a turnkey solution that brings everything required with it.
This includes Kolab, but also everything that you require to run Kolab:
* All required services such as:
* IMAP/CalDAV/CardDAV server (Cyrus)
* SQL database server (MariaDB)
* Cache server (Redis)
* SMTP server (Postfix)
* Spam/Virus checker (Amavis)
* HTTP server (Apache)
* HTTP server/Proxy (NGINX)
* A log aggregation solution based on Vector and Loki
* A monitoring and alerting solution based on Loki/Prometheus and Alertmanager
* An optional integrated Matrix service
* Integrated collaborative editing (Collabora)
* A WebRTC video-conferencing solution (Kolab Meet)
By integrating all services into a Kubernetes deployment it is ensured that the entire solution can be tested and deployed, in the exact same configuration,
as many times as desired.
Further benefits:
* The system is described by the values.yaml along with the used images in its entirety. No more manual modifications that nobody knows about or blind spots that are not covered by ansible. If it's not reproducible, it's not available.
* Configurations that affect multiple components can be centrally managed, and the Helm chart takes care that all required configuration changes happen.
* Kolab on Kubernetes is ideal for a GitOps approach where all changes to the system are tracked in a version control system.
* Kolab on Kubernetes can be used for small single host deployments with k3s or large clustered deployments on Openshift.
* It is possible to integrate existing infrastructure, such as an existing MariaDB cluster, which can make sense if the same infrastructure is already used elsewhere.
## Who is this for
Kolab on Kubernetes is the recommended way to run Kolab.
It provides not only the software, but also a defined and recommended overall architecture.
## Who is this not for
Kolab itself is very flexible, and if that flexibility is used in an existing setup to it's full extent, it's possible that the same configuration is currently not supported by Kolab on Kubernetes.
+Kolab has undergone a major revision from generation 3 to generation 4.
+
+The following is a short list of major changes:
+
+* Kolab is now at it's core a PHP application in laravel, which integrates all services via an API.
+* Historically, groupware data has been stored in XML messages in IMAP (so called Kolab Objects). This is no longer the case. Kolab now uses Cyrus provided DAV for Calendar/Tasks/Contacts and the Kolab Files API for files.
+* Packages are no longer the primary distribution mechanism with a switch to conatinerized deployments.
+* LDAP is no longer used by Kolab.
+* The Webadmin panel has been replaced by Kolab Cockpit.
+* pykolab/kolabd/wallace functionality has been integrated into the central Kolab API.