Skip to content

Commit c63f362

Browse files
authored
Merge pull request #862 from fluxcd/oci-auto-login-docs-clarifications
OCIRepo docs: auto-login setup details
2 parents 478a182 + c1723d4 commit c63f362

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

docs/spec/v1beta2/ocirepositories.md

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,15 @@ If you do not specify `.spec.provider`, it defaults to `generic`.
120120

121121
#### AWS
122122

123-
The `aws` provider can be used when the source-controller service account
124-
is associated with an AWS IAM Role using IRSA that grants read-only access to ECR.
123+
The `aws` provider can be used to authenticate automatically using the EKS
124+
worker node IAM role or IAM Role for Service Accounts (IRSA), and by extension
125+
gain access to ECR.
125126

126-
To enable access to ECR, add the following patch to your bootstrap repository,
127-
in the `flux-system/kustomization.yaml` file:
127+
When the worker node IAM role has access to ECR, source-controller running on it
128+
will also have access to ECR.
129+
130+
When using IRSA to enable access to ECR, add the following patch to your
131+
bootstrap repository, in the `flux-system/kustomization.yaml` file:
128132

129133
```yaml
130134
apiVersion: kustomize.config.k8s.io/v1beta1
@@ -150,11 +154,15 @@ to the IAM role when using IRSA.
150154

151155
#### Azure
152156

153-
The `azure` provider can be used when the source-controller pods are associated
154-
with an Azure AAD Pod Identity that grants read-only access to ACR.
157+
The `azure` provider can be used to authenticate automatically using kubelet
158+
managed identity or Azure Active Directory pod-managed identity (aad-pod-identity),
159+
and by extension gain access to ACR.
160+
161+
When the kubelet managed identity has access to ACR, source-controller running
162+
on it will also have access to ACR.
155163

156-
To enable access to ACR, add the following patch to your bootstrap repository,
157-
in the `flux-system/kustomization.yaml` file:
164+
When using aad-pod-identity to enable access to ECR, add the following patch to
165+
your bootstrap repository, in the `flux-system/kustomization.yaml` file:
158166

159167
```yaml
160168
apiVersion: kustomize.config.k8s.io/v1beta1
@@ -172,7 +180,7 @@ patches:
172180
name: source-controller
173181
```
174182

175-
When using managed identity on an AKS cluster, AAD Pod Identity
183+
When using pod-managed identity on an AKS cluster, AAD Pod Identity
176184
has to be used to give the `source-controller` pod access to the ACR.
177185
To do this, you have to install `aad-pod-identity` on your cluster, create a managed identity
178186
that has access to the container registry (this can also be the Kubelet identity
@@ -185,13 +193,15 @@ if you want to use AKS pod-managed identities add-on that is in preview.
185193

186194
#### GCP
187195

188-
The `gcp` provider can be used when the source-controller service account
189-
is associated with a GCP IAM Role using Workload Identity that grants
190-
read-only access to Artifact Registry.
196+
The `gcp` provider can be used to authenticate automatically using OAuth scopes
197+
or Workload Identity, and by extension gain access to GCR or Artifact Registry.
198+
199+
When the GKE nodes have the appropriate OAuth scope for accessing GCR and
200+
Artifact Registry, source-controller running on it will also have access to them.
191201

192-
To enable access to Google Artifact Registry or GCR,
193-
add the following patch to your bootstrap repository,
194-
in the `flux-system/kustomization.yaml` file:
202+
When using Workload Identity to enable access to GCR or Artifact Registry, add
203+
the following patch to your bootstrap repository, in the
204+
`flux-system/kustomization.yaml` file:
195205

196206
```yaml
197207
apiVersion: kustomize.config.k8s.io/v1beta1

0 commit comments

Comments
 (0)