diff --git a/_docs/deployments/gitops/application-configuration-settings.md b/_docs/deployments/gitops/application-configuration-settings.md index 5e28a19fb..2b4a96400 100644 --- a/_docs/deployments/gitops/application-configuration-settings.md +++ b/_docs/deployments/gitops/application-configuration-settings.md @@ -57,7 +57,7 @@ See [Application Groups]({{site.baseurl}}/docs/deployments/gitops/gitops-app-gro ### Source The Git repository with the application resources. -{::nomarkdown}{:/} +{::nomarkdown}{:/} diff --git a/_docs/installation/gitops/git-sources.md b/_docs/installation/gitops/git-sources.md index 73e5bb607..7d43601cc 100644 --- a/_docs/installation/gitops/git-sources.md +++ b/_docs/installation/gitops/git-sources.md @@ -4,7 +4,7 @@ description: "Add Standard/Restricted Git Sources to GitOps Runtimes" toc: true --- - +## Git Sources in GitOps Runtimes A Git Source is a unique entity created for use with GitOps Runtimes in Codefresh. The Git Source connects to a Git repository within your organization, serving as an easy way to manage the deployment and configuration of Argo CD applications on clusters. @@ -15,12 +15,12 @@ Watch this video: ##### Types of Git Sources -Codefresh allows you to create two types of Git Sources: Standard and Restricted Git Sources. +Codefresh allows you to create two types of Git Sources: **Standard** and **Restricted** Git Sources. Both types of Git Sources sync Argo CD application manifests. The main difference lies in the namespace to which Argo CD applications are synced. With a Restricted Git Source, you can sync Argo CD applications to the namespace of your choice, instead of to the default namespace which is the Runtime's namespace. -##### More on Restricted Git Sources +##### Restricted Git Sources Restricted Git Sources: * Are optimized for multi-tenant organizations where multiple development teams create and deploy applications for different customers on the same cluster * Control which teams can create what applications and where they can deploy them @@ -52,11 +52,12 @@ The Standard Git Source is created as an Argo CD application within the GitOps R ##### Features of Standard Git Sources -* Application Project +* **Application Project** The default or user-defined Application Project allows deployments from any Git repository, to any destination cluster and namespace(s). -* Git repository - The Git repository linked to the Standard Git Source can store different types of resources, from Argo CD applications to config maps, Argo Workflow templates, and more. +* **Git repository** + The Git repository linked to the Standard Git Source can store different types of resources, from Argo CD applications to config maps, Argo Workflow templates, and more. + Git repo URLs must use HTTPS as their permissions are verified using Personal Access Tokens (PATs). ### Restricted Git Source @@ -68,7 +69,7 @@ The most notable feature of the Restricted Git Source is its ability to control ##### Features of Restricted Git Sources -* Application Projects +* **Application Projects** All Argo CD applications synced to the same Restricted Git Source must belong to the same Application Project. Codefresh simplifies this by automatically creating the Application Project for the Restricted Git Source. As a user, you do not have the option to manually select the Application Project to which your applications should belong to when working with Restricted Git Sources. Whenever you create a Restricted Git Source, Codefresh generates two Application Projects for the Git Source with the same name as the Restricted Git Source: @@ -76,10 +77,12 @@ The most notable feature of the Restricted Git Source is its ability to control * Application Project controlling the Argo CD applications synced to the Restricted Git Source. -* Git repository - The Git repository referenced by the Restricted Git Source can house only manifests of Argo CD applications, Application sets, and Application Projects. +* **Git repository** + The Git repository referenced by the Restricted Git Source can house only manifests of Argo CD applications, Application sets, and Application Projects.
+ Git repo URLs must use HTTPS as their permissions are verified using Personal Access Tokens (PATs). + -* Deployment destinations +* **Deployment destinations** The destination clusters and namespaces defined by the Restricted Git Source defines the deployment destinations allowed for applications. @@ -296,10 +299,10 @@ For how-to instructions, see [Create a Git Source](#create-a-git-source). |-------------------|----------------------| | **Name**| The name of the Git Source, which must be unique within the cluster. The syntax must conform to that of Kubernetes objects.| | **Type**| The type of Git Source to create. {::nomarkdown}{:/}| -| **Source**| The Git repository where the application manifests, including that of the Git Source application, are stored. {::nomarkdown}{:/}| +| **Source**| The Git repository where the application manifests, including that of the Git Source application, are stored. {::nomarkdown}{:/}| | **Include Files** and **Exclude Files** |The file or files to include or exclude from the Git repo when syncing to the destination cluster.
Use GLOB to define patterns using wildcards to match path names in the source Git repo.

For example, `workflows/**/*.yaml`, in the Include Files field would include all files in the `workflows` directory and all its child directories, with `.yaml` as the extension.

`**/images/**/*` in the Exclude Files field, would ignore all directories entitled `images`.
For GLOB guidelines and examples, see this [article](https://deepsource.io/blog/glob-file-patterns/){:target="\_blank"}.| |**Namespace** | Applies to Restricted Git Sources only.
The namespace in the cluster to which to deploy the manifests of Argo CD applications synced with this Git Source, and _must start_ with the prefix `cf-`.
If the namespace doesn't exist on the cluster, Codefresh automatically creates it.

These namespaces are added to the configmap `argocd-cmd-params-cm` in `data.application.namespaces` as `cf-*`. You can define a different prefix for the namespaces by replacing `cf` with your preferred prefix, `-*` and use that prefix in Restricted Git Sources. Argo CD monitors these additional namespaces for application reconciliation. | -| **Application Project Scope** | Applies to Restricted Git Sources only.
The destination clusters and namespaces to which the applications synced to the Git Source and belonging to this Application Project can be deployed, and the trusted Git repos for the applications.{::nomarkdown}{:/}| +| **Application Project Scope** | Applies to Restricted Git Sources only.
The destination clusters and namespaces to which the applications synced to the Git Source and belonging to this Application Project can be deployed, and the trusted Git repos for the applications.{::nomarkdown}{:/}| diff --git a/_docs/installation/gitops/manage-runtimes.md b/_docs/installation/gitops/manage-runtimes.md index 2d12b8c11..4070ac80a 100644 --- a/_docs/installation/gitops/manage-runtimes.md +++ b/_docs/installation/gitops/manage-runtimes.md @@ -331,11 +331,16 @@ If you are using Git Runtime tokens for authentication, you can also update them ## Configure SSH for GitOps Runtimes By default, Git repositories use the HTTPS protocol. You can also use SSH to connect Git repositories by entering the SSH private key. + +When SSH is configured for a GitOps Runtime, on creating/editing Argo CD applications linked to a Git Source (Git Source Apps) assigned to the Runtime , you can select SSH as the protocol to connect to the Git repository instead of HTTPS. See [Repository URL in Application Source definitions]({{site.baseurl}}/docs/deployments/gitops/create-application/#source). ->**NOTE** -When SSH is configured for a GitOps Runtime, when creating/editing Git-Source applications, you can select HTTPS OR SSH as the protocol to connect to the Git repository. See [Repository URL in Application Source definitions]({{site.baseurl}}/docs/deployments/gitops/create-application/#source). +{{site.data.callout.callout_warning}} +**IMPORTANT** +SSH URLs are supported only for Argo CD applications and used by Argo CD.
+Git Sources cannot use SSH URLs as they are verified using Personal Access Tokens (PAT). +{{site.data.callout.end}} -**SSH keys** +##### SSH keys For more information on generating SSH private keys, see the official documentation: * [GitHub](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent){:target="\_blank"} {% if page.collection != site.gitops_collection %} @@ -345,13 +350,14 @@ For more information on generating SSH private keys, see the official documentat * [Gerrit](https://gerrit-review.googlesource.com/Documentation/user-upload.html#ssh){:target="\_blank"} {% endif %} -**Before you begin** +##### Before you begin Copy the SSH private key for your Git provider -**How to** -1. In the Codefresh UI, make sure you are in [GitOps Runtimes](https://g.codefresh.io/2.0/account-settings/runtimes){:target="\_blank"}. -1. From the **List View**, select the runtime for which to configure SSH. +##### How to +1. In the Codefresh UI, on the toolbar, click the **Settings** icon. +1. From the sidebar, select **GitOps Runtimes**. +1. From the **List View**, select the Runtime for which to configure SSH. 1. From the context menu with the additional actions on the top-right, select **Update Git Runtime Credentials**. {% include