Enable Git Resource Discovery
This page describes installation of the GitFusion component, allowing the portal to access Git-related information without requiring direct access to the Version Control System.
GitFusion enhances the developer experience by facilitating automated discovery of Git repositories, remote branches, and organizational structures across multiple Git providers. The service operates as an intermediary layer, securing communication between the KubeRocketCI portal and Git infrastructure while enabling rich repository browsing capabilities.
Prerequisitesβ
To install GitFusion, ensure that a KrakenD instance is installed and configured using edp-cluster-add-ons.
Installationβ
When integrating GitFusion with Bitbucket repositories, ensure your Bitbucket app password includes the account:read
permission scope. Detailed instructions for configuring Bitbucket app passwords with appropriate permissions are available in the Add Git Server documentation.
To enable the GitFusion integration in KubeRocketCI, follow the steps below:
-
Activate GitFusion service deployment by modifying the edp-cluster-add-ons repository. Set the
gitfusion.enable
flag totrue
in thevalues.yaml
file:values.yamlgitfusion:
enable: true -
Configure the KrakenD API Gateway to expose GitFusion endpoints by modifying its routing configuration.
noteReference KrakenD configurations in the edp-cluster-add-ons repository. For more information on how to work with edp-cluster-add-ons, please refer to the Install via Add-Ons page.
-
Clone your forked copy of the edp-cluster-add-ons repository.
-
Verify that KrakenD configuration includes the GitFusion API endpoints. If missing, add them in two steps:
- Navigate to the KrakenD configuration directory at
clusters/<cluster-name>/addons/krakend
. - Update the values.yaml file to include the necessary GitFusion API endpoint definitions.
- Navigate to the KrakenD configuration directory at
-
Configure the KrakenD secret to include GitFusion service connectivity details.
noteThe
GITFUSION_URL
variable should point to the GitFusion service URL, e.g.,http://gitfusion.krci:8080
.Modify the
krakend
secret configuration to include theGITFUSION_URL
environment variable:KrakenD secretkind: Secret
apiVersion: v1
metadata:
name: krakend
namespace: krakend
data:
...
GITFUSION_URL: http://gitfusion.krci:8080
type: OpaqueFor environments utilizing External Secrets Operator with AWS Parameter Store, add the
GITFUSION_URL
variable to Parameter Store configuration:AWS Parameter Store{
"SONARQUBE_URL": "http://sonar.sonar:9000",
"SONARQUBE_TOKEN": "<sonarqube-token>",
"DEPTRACK_URL": "http://dependency-track-api-server.dependency-track:8080",
"DEPTRACK_TOKEN": "<dependency-track-token>",
"JWK_URL": "https://keycloak.example.com/realms/<realmName>/protocol/openid-connect/certs",
"OPENSEARCH_URL": "https://opensearch-cluster-master.logging:9200",
"OPENSEARCH_CREDS": "<opensearch-base64-encoded-credentials>",
"GITFUSION_URL": "http://gitfusion.krci:8080"
} -
Save modifications by committing and pushing the updated files to the
edp-cluster-add-ons
repository. -
Apply the configuration changes by accessing Argo CD and synchronizing the KrakenD application deployment.
-
Verificationβ
Once GitFusion deployment is complete, validate the integration functionality through the following testing procedures:
Component Discoveryβ
-
Navigate to KubeRocketCI portal -> Components.
-
On the Components page, click + Create component -> Application -> Import.
-
Within the Create Application dialog, use the Owner dropdown to select your Git account (configured during Git Server setup):
-
Browse available repositories using the Repository dropdown to select the desired application for import:
Creating Branchesβ
-
Return to the KubeRocketCI portal, access Components, and select a specific component by clicking its name.
-
Switch to the Branches tab within the component details view and click + Create branch.
-
In the Create branch dialog, interact with the branch name field to display the list of remotely available branches: