JetBrains Space Help

Production Installation

This topic shows how to install Space on-premises to a custom Kubernetes cluster using the deployment script. Alternatively, you can perform the installation using the Space Helm chart.

Prepare your cluster

  1. Decide on a list of services for your cluster.

    Space on-premises lets you reuse services that already exist in your environment. Thus, if you already have a PostgreSQL server, you can use it for storing Space data. Otherwise, Space will create a container with the service. See the table below for better understanding which services can be reused.

    Service

    Description

    NGINX Ingress controller

    You can reuse an existing controller or install a new one with the script.

    Elasticsearch

    The script creates a container with Elasticsearch itself. You cannot reuse an existing instance. Make sure the target node for Elasticsearch has the max_map_count kernel parameter set to 262144 or more.

    PostgreSQL 11+

    You can reuse an existing database server or install a new one with the script.

    MinIO 2021.6.17+ or another S3-compatible object storage

    You can reuse existing storage or install new one with the script.

    Redis

    The script creates a container with Redis itself. You cannot reuse an existing instance.

    Mail server

    Optional. If you don't provide a mail server, Space will not be able to send emails, like new user invitations.

    The script doesn't install a mail server. You must have a configured mail server in your network.

    Cert manager

    Optional. If you don't provide a cert manager, Space will work only through http.

    The script doesn't install a cert manager. You must have a configured manager in your network.

    Persistent volumes

    Space on-premises requires persistent volumes to store databases and other data. Before installing Space on-premises you must either configure dynamic provisioning in your cluster or create the required persistent volumes. The volumes must be described in a StorageClass.

  2. Create a kubectl context for the cluster.

Install Space on-premises to your cluster

  1. Download the deployment script.

  2. Grant execution permissions to the script file:

    chmod +x ./deploy_interactive.sh
  3. Run the deployment script:

    ./deploy_interactive.sh
  4. When asked for the kubectl context, provide the context of your cluster.

  5. When asked for the environment, choose custom.

  6. Follow other installation steps. Note that after the script finishes the installation, it may take some time for the Space components to start. Note that the script also creates the {your-context}-custom.yaml file in its working directory. This file contains main cluster configuration parameters and can be used for the manual Space on-premises installation.

  7. Open your Space on-premises instance in a browser.

  8. Perform post-installation steps.

Last modified: 30 June 2022