Harness GitOps continues to evolve to meet the needs of modern DevOps teams. With the recent introduction of multi-source application support, you can now configure and manage applications that pull from multiple repositories seamlessly. This feature enables teams to consolidate resources from various sources into a single application, enhancing flexibility and streamlining workflows.
Harness GitOps continues to evolve to meet the needs of modern DevOps teams. With the recent introduction of multi-source application support, you can now configure and manage applications that pull from multiple repositories seamlessly. This feature enables teams to consolidate resources from various sources into a single application, enhancing flexibility and streamlining workflows.
Let’s explore what this feature entails and how you can leverage it.
Multi-source application support allows you to configure a single application to draw from multiple repositories. Whether you're dealing with separate repositories for manifests, Helm charts, or configuration files, this feature makes it easy to bring them together under one roof.
Here’s a quick rundown of how it works:
Configuring a multi-source application is straightforward. Follow these steps to set it up:
Ensure that the feature flag GITOPS_MULTI_SOURCE_ENABLED is activated by contacting Harness Support.
Follow the instructions to add a Harness GitOps Application in our docs.
During that process you will be asked to add a source. At that step do the following:
It should look like this:
Complete the application setup by adding all necessary sources. Once configured, your application will be ready to sync with multiple repositories.
The application yaml will look like this after using multiple sources:
sources:
- repoURL: https://github.com/argoproj/argocd-example-apps
targetRevision: master
kustomize:
images:
- weaveworksdemos/carts:0.4.8
- mongo:undefined
- weaveworksdemos/catalogue:0.3.5
- weaveworksdemos/catalogue-db:0.3.0
- weaveworksdemos/front-end:0.3.12
- weaveworksdemos/orders:0.4.7
- mongo:undefined
- weaveworksdemos/payment:0.4.3
- weaveworksdemos/queue-master:0.3.1
- rabbitmq:3.6.8-management
- kbudde/rabbitmq-exporter:undefined
- redis:alpine
- weaveworksdemos/shipping:0.4.8
- weaveworksdemos/user:0.4.8
- weaveworksdemos/user-db:0.3.0
replicas: []
- repoURL: https://github.com/argoproj/argocd-example-apps
targetRevision: master
helm:
valueFiles:
- values-production.yaml
- values.yaml
values: vals
applicationName: m1
agentId: account.ashintoarmcluster
targetRevision: master
With a multi-source application configured, you can control which sources to sync during the synchronization process. Here’s how:
By default, all configured sources are synced when you initiate a synchronization operation.
This selective sync feature allows you to control which components of your application are updated during each operation.
For a more in depth look at syncing your applications, please go to our docs on Syncing GitOps Applications.
When the GITOPS_MULTI_SOURCE_ENABLED feature flag is enabled, the Update GitOps App step becomes compatible with multi-source applications:
Once your multi-source application is updated, you can use the GitOps Sync step to deploy the changes and synchronize your application state with the repositories.
The ability to configure applications with multiple sources opens new doors for teams leveraging Harness GitOps. If you're ready to explore this beta feature, contact Harness Support to enable the GITOPS_MULTI_SOURCE_ENABLED flag and start experimenting with multi-source applications.
For detailed instructions and best practices, check out the Support for Multiple Sources documentation.
With multi-source support, Harness GitOps continues to empower teams with the tools they need for streamlined, efficient, and powerful application management. Give it a try and unlock the potential of your multi-repository workflows!
Use these resources to learn more about and get started with Harness GitOps: