You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
* Update amazon-ecr.mdRestructured topic and added Access key section with prereqs and params* Update ECR settingsReplaced span class with code class for all CR topics* Update amazon-ecr.mdUpdated note to indicate support for integration modes* Update screenshot with IAM and access keyMinor content edits; replaced screenshot with new one showing both modes* Update amazon-ecr.md* Update x-ref link for container registry topicsFixed x-ref in all container registry topics
Copy file name to clipboardExpand all lines: _docs/gitops-integrations/container-registries/amazon-ecr.md
+50-11Lines changed: 50 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,30 @@ sub_group: container-registries
6
6
toc:true
7
7
---
8
8
9
-
Codefresh has native supportfor interacting with Amazon ECR (Elastic Container Registry),to push, pull, and deploy images.
10
-
For information on adding an Amazon ECR integration for GitOps in Codefresh, see[Container registry GitOps integrations]({{site.baseurl}}/docs/gitops-integrations/container-registries/).
9
+
Codefresh has native supportto interact with Amazon ECR (Elastic Container Registry),and push, pull, and deploy images.
10
+
Forgeneralinformation on adding an Amazon ECR integration for GitOps in Codefresh, see[Container registry GitOps integrations]({{site.baseurl}}/docs/gitops-integrations/container-registries/).
11
11
12
-
>Amazon ECR integration is supported only for Hybrid GitOps.
12
+
13
+
##GitOps Amazon ECR integration options
14
+
15
+
You can set up the integration with Amazon ECR in one of two modes:
16
+
* IAM (Identity and Access Management) role (dynamic integration)
17
+
[IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html){:target="\_blank"} roles provide temporary security credentials for applications and services to access AWS resources securely, that expire after a period of time.
18
+
* Access key and secret (static integration)
19
+
Access keys consist of an access key ID and a secret access key, used to authenticate and authorize API requests to AWS services for a specific user.
20
+
Unlike IAM roles, access keys are long-term credentials, without a default expiration date.
21
+
22
+
>Amazon ECR integration with IAM Role is supported only for Hybrid GitOps.
23
+
Access Key integration is supported for both Hosted and Hybrid GitOps.
24
+
25
+
26
+
Both IAM and access key modes use AWS Identity and Access Management (IAM) to create the integration with Amazon ECR.
27
+
For detailed information, see[How Amazon Elastic Container Registry Works with IAM](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security_iam_service-with-iam.html){:target="\_blank"} and the[AWS security blog](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/){:target="\_blank"}.
13
28
14
29
##Prerequisites
30
+
31
+
32
+
###IAM Role integration
15
33
Before you configure settings in Codefresh to integrate Amazon ECR:
16
34
*[Create an IAM (Identity and Access Management) role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html){:target="\_blank"}
17
35
@@ -27,7 +45,28 @@ For example:
27
45
"Condition":{}
28
46
}
29
47
```
30
-
For detailed information, see[How Amazon Elastic Container Registry Works with IAM](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security_iam_service-with-iam.html){:target="\_blank"} and the[AWS security blog](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/){:target="\_blank"}.
48
+
49
+
50
+
###Access Key integration
51
+
You must generate an access key ID and the access secret for the IAM user, and download or copy them to a secure location.
52
+
53
+
54
+
>The steps that follow describe access key generation through the AWS Management Console.
55
+
We assume that you have created the IAM user for whom to generate the access key. See[Creating an IAM user in your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html){:target="\_blank"}.
56
+
57
+
58
+
1. Sign in to the AWS**Management Console**, and go to the IAM dashboard.
59
+
1. In the left pane, click**Users**, and select the IAM user for whom to generate an access key.
60
+
1. Click the**Security credentials** tab.
61
+
1. Below Access keys, click**Create access key**.
62
+
1. From Access key best practices & alternatives, select**Command Line Interface (CLI)**.
63
+
1. Select**I understand the above recommendation...** and then click**Next**.
64
+
1. Enter an optional description and then click**Create access key**.
65
+
1. Click**Download .csv file**, or copy the**Access key ID**, and the**Secret access key** which is automatically generated to a secure location.
66
+
You will need to define them in the integration settings.
67
+
1. Click**Done**.
68
+
69
+
31
70
32
71
##Amazon ECR-GitOps integration settings in Codefresh
33
72
The table describes the arguments required for GitOps integrations with Amazon ECR in Codefresh.
@@ -36,23 +75,23 @@ The table describes the arguments required for GitOps integrations with Amazon E
36
75
| Setting| Description|
37
76
| ----------| --------|
38
77
|**Integration name**| A friendly name for the integration. This is the name you will reference in the third-party CI platform/tool.|
39
-
|**All Runtimes/Selected Runtimes**| {::nomarkdown} The runtimes in the account with which to share the integration resource. <br>The integration resource is created in the Git repository with the shared configuration, within <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources</span>. The exact location depends on whether the integration is shared with all or specific runtimes: <br><ul><li>All runtimes: Created in <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources/all-runtimes-all-clusters/</span></li><li>Selected runtimes: Created in <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources/runtimes/<runtime-name>/</span></li></ul> You can reference the Docker Hub integration in the CI tool. {:/}|
40
-
|**IAM Role**| The name of the IAM role you defined with the specific permissions for authentication to the ECR.|
41
-
|**Region**|The geographic region hosting thecontainer registry. Define the region nearest to you.|
78
+
|**All Runtimes/Selected Runtimes**| {::nomarkdown} The runtimes in the account with which to share the integration resource. <br>The integration resource is created in the Git repository with the shared configuration, within <codeclass="highlighter-rouge">resources</code>. The exact location depends on whether the integration is shared with all or specific runtimes: <br><ul><li>All runtimes: Created in <codeclass="highlighter-rouge">resources/all-runtimes-all-clusters/</code></li><li>Selected runtimes: Created in <codeclass="highlighter-rouge">resources/runtimes/<runtime-name></code></li></ul> You can reference the Docker Hub integration in the CI tool. {:/}|
79
+
|**IAM Role settings**|IAM Role integration is not supported for Hosted GitOps Runtimes.{::nomarkdown}<ul><li><b>IAM Role</b>:The name of the IAM role you defined with the specific permissions for authentication to the ECR registry.</li><li><b>Region</b>: The geographic region hosting the container registry. Define the region nearest to you.</li></ul>{:/}|
80
+
|**Access Key settings**|Access Key integration is supported for both Hosted and Hybrid GitOps Runtimes.{::nomarkdown}<ul><li><b>Access Key ID</b>:Theaccess key generated for the IAM user, and paired with the <b>Secret Access Key</b> for authentication to the ECR registry.</li><li><b>Secret Access Key</b>: The secret access key generated for and paired with the <b>Access Key</b> for authentication to the ECR registry.</li><li><b>Region</b>: Thegeographic region hosting theECR registry. Define the region nearest to you.</li></ul>{:/}|
42
81
|**Test connection**| Click to verify that you can connect to the specified instance before you commit changes.|
For how-to instructions, see[Configure container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#configure-container-registry-integrations-for-gitops-in-codefresh) and[Edit/delete container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#editdelete-container-registry-integrations).
94
+
For how-to instructions, see[Configure container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#configure-container-registry-integrations-for-gitops-in-codefresh) and[Edit/delete container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#editdelete-container-registry-integrations-for-gitops).
Copy file name to clipboardExpand all lines: _docs/gitops-integrations/container-registries/dockerhub.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ The table describes the arguments required for Docker Hub GitOps integration in
23
23
| Setting| Description|
24
24
| ----------| --------|
25
25
|**Integration name**| A friendly name for the integration. This is the name you will reference in the third-party CI platform/tool.|
26
-
|**All Runtimes/Selected Runtimes**| {::nomarkdown} The runtimes in the account with which to share the integration resource. <br>The integration resource is created in the Git repository with the shared configuration, within <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources</span>. The exact location depends on whether the integration is shared with all or specific runtimes: <br><ul><li>All runtimes: Created in <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources/all-runtimes-all-clusters/</span></li><li>Selected runtimes: Created in <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources/runtimes/<runtime-name>/</span></li></ul> You can reference the Docker Hub integration in the CI tool. {:/}|
26
+
|**All Runtimes/Selected Runtimes**| {::nomarkdown} The runtimes in the account with which to share the integration resource. <br>The integration resource is created in the Git repository with the shared configuration, within <codeclass="highlighter-rouge">resources</code>. The exact location depends on whether the integration is shared with all or specific runtimes: <br><ul><li>All runtimes: Created in <codeclass="highlighter-rouge">resources/all-runtimes-all-clusters/</code></li><li>Selected runtimes: Created in <codeclass="highlighter-rouge">resources/runtimes/<runtime-name></code></li></ul> You can reference the Docker Hub integration in the CI tool. {:/}|
27
27
|**Username**| The Docker Hub username.|
28
28
|**Password**| If you enabled two-factor authentication, enter the personal access token for your Docker Hub account for Codefresh to push images. Personal access tokens are more secure and can be revoked when needed. Codefresh can then push your images. If two-factor authentication is not enabled, enter the password of your Docker Hub account (not recommended).|
29
29
|**Test connection**| Click to verify that you can connect to the specified instance before you commit changes.|
@@ -39,7 +39,7 @@ The table describes the arguments required for Docker Hub GitOps integration in
39
39
max-width="50%"
40
40
%}
41
41
42
-
For how-to instructions, see[Configure container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#configure-container-registry-integrations-in-codefresh) and[Edit/delete container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#editdelete-container-registry-integrations).
42
+
For how-to instructions, see[Configure container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#configure-container-registry-integrations-in-codefresh) and[Edit/delete container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#editdelete-container-registry-integrations-for-gitops).
Copy file name to clipboardExpand all lines: _docs/gitops-integrations/container-registries/github-cr.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ Before you configure settings in Codefresh to integrate GitHub container registr
27
27
| Setting| Description|
28
28
| ----------| --------|
29
29
|**Integration name**| A friendly name for the integration. This is the name you will reference in the third-party CI platform/tool.|
30
-
|**All Runtimes/Selected Runtimes**| {::nomarkdown} The runtimes in the account with which to share the integration resource. <br> The integration resource is created in the Git repository with the shared configuration, within <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources</span>. The exact location depends on whether the integration is shared with all or specific runtimes: <br><ul><li>All runtimes: Created in <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources/all-runtimes-all-clusters/</span></li><li>Selected runtimes: Created in <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources/runtimes/<runtime-name>/</span></li></ul> {:/}|
30
+
|**All Runtimes/Selected Runtimes**| {::nomarkdown} The runtimes in the account with which to share the integration resource. <br> The integration resource is created in the Git repository with the shared configuration, within <codeclass="highlighter-rouge">resources</code>. The exact location depends on whether the integration is shared with all or specific runtimes: <br><ul><li>All runtimes: Created in <codeclass="highlighter-rouge">resources/all-runtimes-all-clusters/</code></li><li>Selected runtimes: Created in <codeclass="highlighter-rouge">resources/runtimes/<runtime-name></code></li></ul> {:/}|
31
31
|**Domain**| The GitHub registry domain and is set to`ghcr.io`.|
32
32
|**Username**| Your GitHub username.|
33
33
|**GitHub Token**| Your GitHub PAT (personal access token).|
@@ -44,7 +44,7 @@ Before you configure settings in Codefresh to integrate GitHub container registr
44
44
max-width="50%"
45
45
%}
46
46
47
-
For how-to instructions, see[Configure container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#configure-container-registry-integrations-for-gitops-in-codefresh) and[Edit/delete container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#editdelete-container-registry-integrations).
47
+
For how-to instructions, see[Configure container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#configure-container-registry-integrations-for-gitops-in-codefresh) and[Edit/delete container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#editdelete-container-registry-integrations-for-gitops).
Copy file name to clipboardExpand all lines: _docs/gitops-integrations/container-registries/jfrog.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ For information on adding a JFrog Artifactory integration in Codefresh, see [Git
17
17
| Setting| Description|
18
18
| ----------| --------|
19
19
|**Integration name**| A friendly name for the integration. This is the name you will reference in the third-party CI platform/tool.|
20
-
|**All Runtimes/Selected Runtimes**| {::nomarkdown} The runtimes in the account with which to share the integration resource. <br>The integration resource is created in the Git repository with the shared configuration, within <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources</span>. The exact location depends on whether the integration is shared with all or specific runtimes: <br><ul><li>All runtimes: Created in <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources/all-runtimes-all-clusters/</span></li><li>Selected runtimes: Created in <spanstyle="font-family:var(--font-family-monospace);font-size:87.5%;color:#ad6800;background-color:#fffbe6">resources/runtimes/<runtime-name>/</span></li></ul> {:/}|
20
+
|**All Runtimes/Selected Runtimes**| {::nomarkdown} The runtimes in the account with which to share the integration resource. <br>The integration resource is created in the Git repository with the shared configuration, within <codeclass="highlighter-rouge">resources</code>. The exact location depends on whether the integration is shared with all or specific runtimes: <br><ul><li>All runtimes: Created in <codeclass="highlighter-rouge">resources/all-runtimes-all-clusters/</code></li><li>Selected runtimes: Created in <codeclass="highlighter-rouge">resources/runtimes/<runtime-name></code></li></ul> {:/}|
21
21
|**Server Name**| The URL of the JFrog Artifactory server instance.|
22
22
|**Username**| The JFrog Artifactory username.|
23
23
|**Password**| The JFrog Artifactory password.|
@@ -34,7 +34,7 @@ For information on adding a JFrog Artifactory integration in Codefresh, see [Git
34
34
max-width="50%"
35
35
%}
36
36
37
-
For how-to instructions, see[Configure container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#configure-container-registry-integrations-in-codefresh) and[Edit/delete container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#editdelete-container-registry-integrations).
37
+
For how-to instructions, see[Configure container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#configure-container-registry-integrations-in-codefresh) and[Edit/delete container registry integrations for GitOps in Codefresh]({{site.baseurl}}/docs/gitops-integrations/container-registries/#editdelete-container-registry-integrations-for-gitops).