Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions api/hypershift/v1alpha1/hostedcluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -1574,6 +1574,46 @@ type AzurePlatformSpec struct {
SubnetID string `json:"subnetID"`
SubscriptionID string `json:"subscriptionID"`
SecurityGroupID string `json:"securityGroupID"`

// MSIClientIDs contains the client IDs related to the managed identities needed for the following control plane
// components: cluster-image-registry, cluster-ingress, cluster-storage, and cluster-network operators.
//
// +optional
MSIClientIDs *ControlPlaneManagedServiceIdentities `json:"msiClientIDs,omitempty"`
}

type ControlPlaneManagedServiceIdentities struct {
// ImageRegistryMSIClientID is the client ID of a pre-existing managed identity ID of that will be associated with
// the cluster-image-registry-operator. The managed identity will be in a different resource group other than
// ResourceGroupName.
//
// +kubebuilder:validation:Required
// +required
ImageRegistryMSIClientID string `json:"imageRegistryMSIClientID,omitempty"`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

required fields should not have omitempty
same comment for the rest of the fields.


// IngressMSIClientID is the client ID of a pre-existing managed identity ID of that will be associated with
// the cluster-ingress-operator. The managed identity will be in a different resource group other than
// ResourceGroupName.
//
// +kubebuilder:validation:Required
// +required
IngressMSIClientID string `json:"ingressMSIClientID,omitempty"`

// NetworkMSIClientID is the client ID of a pre-existing managed identity ID of that will be associated with
// the cluster-network-operator. The managed identity will be in a different resource group other than
// ResourceGroupName.
//
// +kubebuilder:validation:Required
// +required
NetworkMSIClientID string `json:"networkMSIClientID,omitempty"`

// StorageMSIClientID is the client ID of a pre-existing managed identity ID of that will be associated with
// the cluster-storage-operator. The managed identity will be in a different resource group other than
// ResourceGroupName.
//
// +kubebuilder:validation:Required
// +required
StorageMSIClientID string `json:"storageMSIClientID,omitempty"`
}

// Release represents the metadata for an OCP release payload image.
Expand Down
22 changes: 21 additions & 1 deletion api/hypershift/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

43 changes: 42 additions & 1 deletion api/hypershift/v1beta1/hostedcluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ const (
type HostedClusterSpec struct {
// Release specifies the desired OCP release payload for the hosted cluster.
//
//
// Updating this field will trigger a rollout of the control plane. The
// behavior of the rollout will be driven by the ControllerAvailabilityPolicy
// and InfrastructureAvailabilityPolicy.
Expand Down Expand Up @@ -1785,7 +1786,7 @@ type AzurePlatformSpec struct {
//
// Resource group naming requirements can be found here: https://azure.github.io/PSRule.Rules.Azure/en/rules/Azure.ResourceGroup.Name/.
//
//Example: if your resource group ID is /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>, your
// Example: if your resource group ID is /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>, your
// ResourceGroupName is <resourceGroupName>.
//
// +kubebuilder:default:=default
Expand Down Expand Up @@ -1839,6 +1840,46 @@ type AzurePlatformSpec struct {
// +immutable
// +required
SecurityGroupID string `json:"securityGroupID,omitempty"`

// MSIClientIDs contains the client IDs related to the managed identities needed for the following control plane
// components: cluster-image-registry, cluster-ingress, cluster-storage, and cluster-network operators.
//
// +optional
MSIClientIDs *ControlPlaneManagedServiceIdentities `json:"msiClientIDs,omitempty"`
}

type ControlPlaneManagedServiceIdentities struct {
// ImageRegistryMSIClientID is the client ID of a pre-existing managed identity ID of that will be associated with
// the cluster-image-registry-operator. The managed identity will be in a different resource group other than
// ResourceGroupName.
//
// +kubebuilder:validation:Required
// +required
ImageRegistryMSIClientID string `json:"imageRegistryMSIClientID,omitempty"`

// IngressMSIClientID is the client ID of a pre-existing managed identity ID of that will be associated with
// the cluster-ingress-operator. The managed identity will be in a different resource group other than
// ResourceGroupName.
//
// +kubebuilder:validation:Required
// +required
IngressMSIClientID string `json:"ingressMSIClientID,omitempty"`

// NetworkMSIClientID is the client ID of a pre-existing managed identity ID of that will be associated with
// the cluster-network-operator. The managed identity will be in a different resource group other than
// ResourceGroupName.
//
// +kubebuilder:validation:Required
// +required
NetworkMSIClientID string `json:"networkMSIClientID,omitempty"`

// StorageMSIClientID is the client ID of a pre-existing managed identity ID of that will be associated with
// the cluster-storage-operator. The managed identity will be in a different resource group other than
// ResourceGroupName.
//
// +kubebuilder:validation:Required
// +required
StorageMSIClientID string `json:"storageMSIClientID,omitempty"`
}

// OpenStackPlatformSpec specifies configuration for clusters running on OpenStack.
Expand Down
22 changes: 21 additions & 1 deletion api/hypershift/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 17 additions & 8 deletions client/applyconfiguration/hypershift/v1alpha1/azureplatformspec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 17 additions & 8 deletions client/applyconfiguration/hypershift/v1beta1/azureplatformspec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading