Skip to main content

Requirements

When installing Witboost, the customer should provide:

Kubernetes Cluster

A Kubernetes cluster where all Witboost components will be deployed.

Version requirements

Kubernetes 1.22.0 or later is supported; Openshift is also supported, from version 4.10. It can be self-hosted or provided by a cloud provider (e.g. AKS / EKS). OpenShift 4.0.0 or later is also supported.

Hardware requirements

We recommend a cluster of at least 3 worker nodes, each with 2 vCPUs and 8 GiB RAM.

Other requirements

Image registry

The installation deploys docker images, hosted on Agilelab private registry. If the cluster cannot reach Agilelab image registry, an alternative one must be provided where the images will be imported.

Web Interfaces

Witboost exposes a Web UI that needs to be reachable by the users. As such, DNS domains and TLS certificates must be available. Witboost handles them through external-dns and cert-manager. By default, TLS certificates are installed on the external load balancer, thus providing TLS termination outside of the cluster. Custom certificates are also supported.

If working on AWS, a common scenario is to use a Network/Application Load Balancer to serve the Witboost UI. If working on Azure, a common scenario is to use an Application Gateway to serve the Witboost UI.

Database

A Postgres DBMS for storage of internal metadata. The preferred way is to use a managed instance (eg. RDS, Azure Database for PostgreSQL), so the customer can configure it with their policies (retention, accesses, backups, etc).

Version requirements

Postgres 14, 15, and 16 are supported. Older versions could work as well, but they are not officially supported.

Hardware requirements

An instance with 2 vCPU and 8 GiB of RAM is enough. For the storage, 50 GiB is recommended. It is also recommended to use multiAZ configuration for non-development scenarios.

Other requirements

  • Extensions: pgcrypto must be available
  • Networking: the DMBS must be reachable from within the Kubernetes cluster
  • Privileges: users for the needed databases must have owner permissions for automatic migrations to work
Secret Manager

A secret manager is needed to store sensitive values. A secret manager compatible with external-secrets must be provided.

If you are doing an installation on cloud, the common approach is to use the secret manager specific the cloud itself (e.g. AWS Secret Manager, Azure Vault, etc.)

Identity Provider

Witboost integrates the company organization's structure through the company Identity Provider, like Microsoft Entra ID or LDAP. This is needed to get users' and groups' details, so Witboost can correctly identify the logged user.

You can check the Authentication section for more details.

Versioning System

A versioning system like GitLab/GitHub/Bitbucket/Azure DevOps. The integration with such systems is performed through a technical user which will only perform read operations, while end users will integrate with it using their credentials by setting their token in the platform.

Other requirements

  • The versioning system must be reachable from within the Kubernetes cluster, and from the end user of Witboost.
  • Although is not a requirement, it is suggested to configure the versioning system with SSO. This will guarantee a seamless experience for the end user.