Airgap Installation

Modified on Tue, 13 Feb at 10:41 AM

Installation Process



The airgap installation is divided into two steps:


  1. Install the Embedded Kubernetes cluster. It is delivered as a tar.gz file of approximately 4 GB. It contains everything required for the Kubernetes installation. The same process is repeated to update the cluster and its components. It is recommended to update it at least once per year;
  2. Install the Labforward App. It is delivered as an airgap file of approximately 6 GB. It contains all Labforward applications, including the container images. This exact process is repeated to install new releases. Check the Application Update section below;
  3. Add the customer-specific Labforward license. It will give access to the contracted applications.


All the files mentioned above will be available via the customer-specific download portal. Labforward will provide the link and credentials to access it. The files can be found in the portal at:



Check the Migrating from an Existing Installation session below if you are migrating from a previous, existing Labforward installation.


Step-by-step


1. Download the Embedded Kubernetes Installer from the portal;

2. Transfer it to the host machine and unpack it:


tar -xvf labforward-customer-channel.tar.gz

3. Run the installation script in the airgap mode:

sudo bash ./install.sh airgap

4. Download the Labforward Customer-specific License from the portal;

5. Download the Labforward App Bundle and name it labforward.airgap (you can use any name);

6. Execute the command below informing the App Bundle package and the license file:

 kubectl kots install labforward --airgap-bundle=labforward.airgap --license-file=license.yaml --namespace=default --with-minio=false

7.All the applications will be installed. Access the admin-console UI at http://localhost:8800 (or replace localhost with the IP/DNS of the host). The password is shown in the installation logs. It can be changed at any moment with the command:

kubectl kots reset-password


8. You will see the configuration page. The relevant configurations at this moment are:


a. Domain - define the domain mapped in your DNS and TLS certificate. Notice that the subdomains are created automatically;


b. TLS Certificate - You can provide your certificate or let Labforward create a self-signed certificate


c. Email - Configure the email host, port, and credentials.



9. After configuring the items above, click on Continue. The platform will perform a quick cluster validation. After the validation, click on Deploy. The applications will be installed. You can access them from the admin-console:



Application Update


To update the application in an air-gapped environment with Replicated kURL, download the new version of the Labforward App Bundle in Labforward’s portal. Check the Release Process documentation.


You can deploy the new version via the command line or the admin console user interface.


Command Line Update


Then, go to the admin console (https://admin-console.customer-domain) and click on Deploy in the new version. 


Adding the --deploy flag will automatically deploy this version.


Admin Console Update

Login to the admin console at https://admin-console.customer-domain (or http://localhost:8800).


Click on Upload new version and provide the Labforward App Bundle.


The new version will appear in the admin console. Click on Deploy to install it in your environment.



Migrating from an Existing Installation



To transfer the data from a previous Labfolder application to the Kubernetes version, follow these steps:


1. Install the Kubernetes cluster and deploy the application as instructed in the Step-by-step section. Notice that you will see the Stable-v2 release channel and version 2.34.0 in the download portal;


2. Follow the migration documentation: Labfolder - Migrating from a Previous Installation;


3. Inform the Labforward team that you completed the migration. We will update your license to the Customer-channel release channel;


4. Download the new license from the download portal;


5. Go to the admin console (https://admin-console.customer-domain) and upload the new license;


6. Open the terminal in the Kubernetes host machine and run the commands:


kubectl scale statefulset labfolder-labregister-chart-mysql --replicas 0
kubectl delete pvc data-labfolder-labregister-mysql 


kubectl patch pv $(kubectl get pv -o=jsonpath='{range .items[?(@.spec.claimRef.name=="data-labfolder-labregister-mysql")]}{.metadata.name}') -p '{"spec":{"claimRef":null}}'


These commands are required to preserve the data after the migration. They will not be necessary for other updates.


7. Execute the steps described in the Application Update section. Notice the new release channel and version in the download portal.


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article