@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33kind : CustomResourceDefinition
44metadata :
55 annotations :
6- controller-gen.kubebuilder.io/version : v0.19.0
6+ controller-gen.kubebuilder.io/version : v0.17.3
77 name : rosaroleconfigs.infrastructure.cluster.x-k8s.io
88spec :
99 group : infrastructure.cluster.x-k8s.io
@@ -48,31 +48,44 @@ spec:
4848 creating your ROSA cluster.
4949 properties :
5050 path :
51+ description : The arn path for the account/operator roles as well
52+ as their policies.
5153 type : string
5254 permissionsBoundaryARN :
55+ description : The ARN of the policy that is used to set the permissions
56+ boundary for the account roles.
5357 type : string
5458 prefix :
55- description : User-defined prefix for all generated AWS resources
59+ description : User-defined prefix for all generated AWS account
60+ role
5661 maxLength : 4
62+ pattern : ^[a-z]([-a-z0-9]*[a-z0-9])?$
5763 type : string
64+ x-kubernetes-validations :
65+ - message : prefix is immutable
66+ rule : self == oldSelf
5867 sharedVPCConfig :
5968 description : SharedVPCConfig is used to set up shared VPC.
6069 properties :
6170 routeRoleARN :
62- description : ' Role ARN associated with the private hosted
63- zone used for Hosted Control Plane cluster shared VPC, this
64- role contains policies to be used with Route 53'
71+ description : Role ARN associated with the private hosted zone
72+ used for Hosted Control Plane cluster shared VPC, this role
73+ contains policies to be used with Route 53
6574 type : string
6675 vpcEndpointRoleArn :
67- description : ' Role ARN associated with the shared VPC used
76+ description : Role ARN associated with the shared VPC used
6877 for Hosted Control Plane clusters, this role contains policies
69- to be used with the VPC endpoint'
78+ to be used with the VPC endpoint
7079 type : string
7180 type : object
7281 version :
73- description : ' Version of OpenShift that will be used to setup
74- policy tag, for example "4.11"'
82+ description : |-
83+ Version of OpenShift that will be used to the roles tag in formate of x.y.z example; "4.19.0"
84+ Setting the role OpenShift version tag does not affect the associated ROSAControlplane version.
7585 type : string
86+ x-kubernetes-validations :
87+ - message : version is immutable
88+ rule : self == oldSelf
7689 required :
7790 - prefix
7891 - version
93106 type : object
94107 x-kubernetes-map-type : atomic
95108 identityRef :
96- description : AWSIdentityReference specifies a identity.
109+ description : |-
110+ IdentityRef is a reference to an identity to be used when reconciling the ROSA Role Config.
111+ If no identity is specified, the default identity for this controller will be used.
97112 properties :
98113 kind :
99114 description : Kind of the identity.
@@ -110,43 +125,59 @@ spec:
110125 - kind
111126 - name
112127 type : object
128+ oidcProviderType :
129+ default : Managed
130+ description : OIDC provider type values are Managed or UnManaged. When
131+ set to Unmanged OperatorRoleConfig OIDCID field must be provided.
132+ enum :
133+ - Managed
134+ - Unmanaged
135+ type : string
113136 operatorRoleConfig :
114137 description : OperatorRoleConfig defines cluster-specific operator
115138 IAM roles based on your cluster configuration.
116139 properties :
117140 oidcID :
118141 description : |-
119142 OIDCID is the ID of the OIDC config that will be used to create the operator roles.
120- A managed OIDC-provider will be created if the OIDCID not specified
143+ Cannot be set when OidcProviderType set to Managed
121144 type : string
145+ x-kubernetes-validations :
146+ - message : oidcID is immutable
147+ rule : self == oldSelf
122148 permissionsBoundaryARN :
123149 description : The ARN of the policy that is used to set the permissions
124150 boundary for the operator roles.
125151 type : string
126152 prefix :
127153 description : ' User-defined prefix for generated AWS operator
128- policies .'
154+ roles .'
129155 maxLength : 4
156+ pattern : ^[a-z]([-a-z0-9]*[a-z0-9])?$
130157 type : string
158+ x-kubernetes-validations :
159+ - message : prefix is immutable
160+ rule : self == oldSelf
131161 sharedVPCConfig :
132162 description : SharedVPCConfig is used to set up shared VPC.
133163 properties :
134164 routeRoleARN :
135- description : ' Role ARN associated with the private hosted
136- zone used for Hosted Control Plane cluster shared VPC, this
137- role contains policies to be used with Route 53'
165+ description : Role ARN associated with the private hosted zone
166+ used for Hosted Control Plane cluster shared VPC, this role
167+ contains policies to be used with Route 53
138168 type : string
139169 vpcEndpointRoleArn :
140- description : ' Role ARN associated with the shared VPC used
170+ description : Role ARN associated with the shared VPC used
141171 for Hosted Control Plane clusters, this role contains policies
142- to be used with the VPC endpoint'
172+ to be used with the VPC endpoint
143173 type : string
144174 type : object
145175 required :
146176 - prefix
147177 type : object
148178 required :
149179 - accountRoleConfig
180+ - oidcProviderType
150181 - operatorRoleConfig
151182 type : object
152183 status :
@@ -170,8 +201,7 @@ spec:
170201 type : string
171202 type : object
172203 conditions :
173- description : Conditions provide observations of the operational state
174- of a Cluster API resource.
204+ description : Conditions specifies the ROSARoleConfig conditions
175205 items :
176206 description : Condition defines an observation of a Cluster API resource
177207 operational state.
0 commit comments