@@ -1500,6 +1500,41 @@ spec:
15001500 containerProxy: proxy.example.com
15011501` ` `
15021502
1503+ # ## fileRepository with an OCI registry (Azure only)
1504+
1505+ On Azure, `fileRepository` may be an `oci://` URL pointing at an Azure Container Registry.
1506+ File assets (including nodeup) are then stored in the registry as OCI artifacts and downloaded
1507+ by nodes using their managed identity, so no public file server is needed. Combined with `containerRegistry` pointing at the same registry, all of
1508+ the cluster's assets are served from one private registry.
1509+
1510+ With `managed : true`, kOps creates and manages the registry (Basic SKU) in the cluster's
1511+ resource group, grants the instances `AcrPull`, and pushes the file and image assets during
1512+ ` kops update cluster` . `kops delete cluster` deletes the registry with the rest of the cluster
1513+ resources. Without `managed`, the registry must already exist and instances must be granted
1514+ pull access.
1515+
1516+ ` ` ` yaml
1517+ spec:
1518+ assets:
1519+ managed: true
1520+ ` ` `
1521+
1522+ When `fileRepository` and `containerRegistry` are not set, they default to a registry name
1523+ derived from the subscription ID and the cluster name (registry names are global, so the
1524+ cluster name alone would not be unique). The derived values are visible with
1525+ `kops get cluster -o yaml --full`. Both locations can also be set explicitly :
1526+
1527+ ` ` ` yaml
1528+ spec:
1529+ assets:
1530+ containerRegistry: myregistry.azurecr.io
1531+ fileRepository: oci://myregistry.azurecr.io/assets
1532+ managed: true
1533+ ` ` `
1534+
1535+ With the `terraform` target the assets are not pushed during `kops update cluster`; run
1536+ ` kops get assets --copy` after `terraform apply` instead.
1537+
15031538# # sysctlParameters
15041539{{ kops_feature_table(kops_added_default='1.17') }}
15051540
0 commit comments