gitspace-infra-ui-aws
This is your first step in configuring Self Hosted Gitspaces on AWS Cloud Infrastructure.
In order to get started with Self Hosted Gitspaces, you'll first need to configure your infrastructure. This infrastructure is where your Gitspaces will be hosted, so you must define and configure it from Harness UI. This guide will take you through the detailed steps to configure your AWS infrastructure using the Harness UI.
Prerequisites
- Enable the feature flag
CDE_HYBRID_ENABLEDin your Harness account since Self Hosted Gitspaces are currently available behind this feature flag. Contact Harness Support to enable this feature flag. - Read Selt Hosted Gitspaces Overview & Key Concepts to gain a deeper understanding of the basic concepts and setup steps.
- Only users with Account-level access can configure Gitspace infrastructure for now. Go to Permissions Hierarchy for more details.
- Only users with powerUserAccess permissions as an AWS user can configure self hosted Gitspaces in your AWS infrastructure. Go to PowerUserAccess to learn more about the same.
Configure AWS Cloud Infrastructure
Configuring your Gitspace Infrastructure involves adding your infrastructure details in the Harness UI using the steps below. This process generates an Infra Config YAML — a YAML file that captures your entire infrastructure configuration. This YAML is a required input when running the Harness Gitspace Terraform Module to provision the necessary AWS infrastructure.
Access Gitspace Infrastructure
- Only users with the Account-level access can configure Gitspace Infrastructure.
- Navigate to the Cloud Development Environments module and open your Account Settings.
- In the side navbar under Account Settings, select Gitspace Infrastructure.

Provide Basic Infrastructure Details
- Infrastructure Name: Provide a name for your Gitspace infrastructure. This name will be used while referencing your infrastructure for creating Gitspaces.
- VPC CIDR Block: Enter your VPC CIDR Block to specify the IP range for the VPC.
- Domain: Provide the domain under which all Gitspaces created in this infrastructure will be accessible.
- CDE Gateway Instance Type: Specify the instance type for your CDE Gateway.

Configure Regions
Add and configure regions for Gitspaces.
You can only be able to host Gitspaces in these defined regions.
Click on New Region to add a new region. For AWS Cloud Infrastructure for your Self Hosted Gitspaces, ensure that you have the following:
- At least two availability zones for each region in your infrastructure.
- For every availability zone, provide the private subnet CIDR block and public subnet CIDR block.

For a custom gateway AMI ID, only ubuntu image variants are currently supported.
Use the following input parameters:
- AWS Region: Select the AWS region. Refer to the AWS documentation to view available regions.
- Gateway AMI ID: Specify the AMI ID for your Gateway (AWS Machine Image). AMI ID is configured for every region in AWS infrastructure.
- Subdomain: Provide the subdomain for the region.
- Zones: It's mandatory to add at least two availability zones for each region in your infrastructure. Select the availability zones from this field. You can add more than two availability zones if needed using the "New Zone" button.
- IP Details: Provide the IP configuration for each availability zone per region.
- Private Subnet CIDR Block: This is the private IP range required for the subnet. Ensure this IP range is within the VPC CIDR block.
- Public Subnet CIDR Block: This is the corresponding public IP range required for the subnet. Ensure this IP range is within the VPC CIDR block.

Configure VM for Runner & Delegate
You'll have to configure the VM for Runner & Delegate to ensure that the AWS VM instance required for hosting the VM Runner and Delegate is provisioned as per these details.
For a custom AMI ID, only ubuntu image variants are currently supported.
Use the following input parameters:
- Region: Choose the region from the list of regions added for your infrastructure to host your VM instance.
- Availability Zone: Choose the availability zone from the region selected above for your VM instance.
- AMI ID: Specify the AMI ID for your VM instance.

Download the Infrastructure Config YAML
Once all details have been entered, click on Download and Apply YAML. This will generate the Infra Config YAML, which contains the entire Gitspace Infra configuration. This YAML is a mandatory input for configuring and setting up the Harness Gitspaces Terraform Module, which provisions the AWS infrastructure in your selected account.

This is what a sample Infrastructure Config YAML looks like:
account_identifier: <ACCOUNT_IDENTIFIER>
infra_provider_config_identifier: <INFRA_PROVIDER_CONFIG_IDENTIFIER>
name: <INFRA_NAME>
domain: <DOMAIN>
vpc_cidr_block: <VPC_CIDR_BLOCK>
gateway:
instance_type: <INSTANCE_TYPE>
instances: 1
version: 1.16.0
shared_secret: <SHARED_SECRET>
cde_manager_url: https://app.harness.io/gateway/cde
region_configs:
<REGION_NAME>:
region_name: <REGION_NAME>
availability_zones:
- zone: <AVAILABILITY_ZONE_1>
public_cidr_block: <PUBLIC_CIDR_BLOCK_1>
private_cidr_block: <PRIVATE_CIDR_BLOCK_1>
- zone: <AVAILABILITY_ZONE_2>
public_cidr_block: <PUBLIC_CIDR_BLOCK_2>
private_cidr_block: <PRIVATE_CIDR_BLOCK_2>
domain: <DOMAIN>
gateway_ami_id: <GATEWAY_AMI_ID>
Manage Gitspace Infrastructure
Edit Gitspace Infrastructure
Once your infrastructure is configured, you also have the option to edit and update it. Please note that only Gitspace Admins with Account-level access are permitted to make changes.
Here's how you can edit your infrastructure:
- Go to your Gitspace Infrastructure UI.
- Click on the Edit button on the top-right corner.

- Whenever you make changes to your infrastructure configuration, you'll need to download the updated Infra Config YAML. Use this updated YAML to reapply your Terraform module to reflect the changes. You can learn more about this process in the next steps.
Delete Gitspace Infrastructure
Deleting your infrastructure is permanent and cannot be undone. This action will permanently remove your entire infrastructure configuration.
Please proceed only if you are absolutely certain you want to delete this infrastructure.
You can delete your infrastructure from the Gitspace Infrastructure UI. Please note that only users with account-level access are permitted to perform this action.
You can delete the Gitspace Infrastructure only if the following conditions are met:
- All Gitspaces associated with this infrastructure have been deleted.
- All Machines associated with this infrastructure have been deleted.
If these conditions are not met, you will not be able to delete the Gitspace Infrastructure.
Deleting Gitspaces
You can delete Gitspaces (created within a specific infrastructure) using the Harness UI. Refer to the documentation for detailed steps on deleting a Gitspace.
Deleting Machines
Follow this documentation to get detailed instructions on how to delete Machines from your Gitspace Infrastructure.
Deleting Infrastructure
Here's how you can delete your infrastructure:
- Go to your Gitspace Infrastructure UI.
- Scroll down to the bottom of the page. You'll find the option to Delete Infrastructure. Click this button to permanently delete the selected infrastructure.

Assess Gateway Group Health for Gitspace Infrastructure
You can assess the Gateway Group Health for your Gitspace infrastructure from the Infra Details UI. Go to Locations and Machines, and click on the region for which you want to assess the Gateway health. In case the Gateway is Unhealthy, you will not be able to create any Gitspaces since no requests will be routed forward. You can find the following details:
- Gateway Group Name: System-generated name of the Gateway Group
- Gateway Group Health: Health status of the Gateway Group
- Gateway Instance Name: System-generated name of the Gateway Group instance
- Envoy Health: Health status of Envoy
- Gateway Version Number: Gateway image version number

Next Steps
Now that you have the Infrastructure Config YAML downloaded, proceed to configure and apply the Terraform module to provision your self-hosted Gitspaces.