@@ -180,6 +180,71 @@ type RosaControlPlaneSpec struct { //nolint: maligned
180180	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. 
181181	// +optional 
182182	ControlPlaneEndpoint  clusterv1.APIEndpoint  `json:"controlPlaneEndpoint"` 
183+ 
184+ 	// ClusterRegistryConfig represents registry config used with the cluster. 
185+ 	// +optional 
186+ 	ClusterRegistryConfig  * RegistryConfig  `json:"clusterRegistryConfig,omitempty"` 
187+ }
188+ 
189+ // RegistryConfig for ROSA-HCP cluster 
190+ type  RegistryConfig  struct  {
191+ 	// AdditionalTrustedCa containing the registry hostname as the key, and the PEM-encoded certificate as the value, 
192+ 	// for each additional registry CA to trust. 
193+ 	// +optional 
194+ 	AdditionalTrustedCa  map [string ]string  `json:"additionalTrustedCa,omitempty"` 
195+ 
196+ 	// AllowedRegistriesForImport limits the container image registries that normal users may import 
197+ 	// images from. Set this list to the registries that you trust to contain valid Docker 
198+ 	// images and that you want applications to be able to import from. 
199+ 	// +optional 
200+ 	AllowedRegistriesForImport  []RegistryLocation  `json:"allowedRegistriesForImport,omitempty"` 
201+ 
202+ 	// PlatformAllowlistID contains a reference to whitelisted internal registries for the platform to work. 
203+ 	// +optional 
204+ 	PlatformAllowlistID  string  `json:"platformAllowlistID,omitempty"` 
205+ 
206+ 	// RegistrySources contains configuration that determines how the container runtime 
207+ 	// should treat individual registries when accessing images. It does not contain configuration 
208+ 	// for the internal cluster registry. 
209+ 	// +optional 
210+ 	RegistrySources  * RegistrySources  `json:"registrySources,omitempty"` 
211+ }
212+ 
213+ // RegistryLocation contains a location of the registry specified by the registry domain name. 
214+ type  RegistryLocation  struct  {
215+ 	// domainName specifies a domain name for the registry. The domain name might include wildcards, like '*' or '??'. 
216+ 	// In case the registry use non-standard (80 or 443) port, the port should be included in the domain name as well. 
217+ 	// +optional 
218+ 	DomainName  string  `json:"domainName,omitempty"` 
219+ 
220+ 	// insecure indicates whether the registry is secure (https) or insecure (http), default is secured. 
221+ 	// +kubebuilder:default=false 
222+ 	// +optional 
223+ 	Insecure  bool  `json:"insecure,omitempty"` 
224+ }
225+ 
226+ // RegistrySources contains registries configuration. 
227+ type  RegistrySources  struct  {
228+ 	// AllowedRegistries: registries for which image pull and push actions are allowed. 
229+ 	// To specify all subdomains, add the asterisk (*) wildcard character as a prefix to the domain name. 
230+ 	// For example, *.example.com. You can specify an individual repository within a registry. 
231+ 	// For example: reg1.io/myrepo/myapp:latest. All other registries are blocked. 
232+ 	// +optional 
233+ 	AllowedRegistries  []string  `json:"allowedRegistries,omitempty"` 
234+ 
235+ 	// BlockedRegistries: registries for which image pull and push actions are denied. 
236+ 	// To specify all subdomains, add the asterisk (*) wildcard character as a prefix to the domain name. 
237+ 	// For example, *.example.com. You can specify an individual repository within a registry. 
238+ 	// For example: reg1.io/myrepo/myapp:latest. All other registries are allowed. 
239+ 	// +optional 
240+ 	BlockedRegistries  []string  `json:"blockedRegistries,omitempty"` 
241+ 
242+ 	// InsecureRegistries are registries which do not have a valid TLS certificate or only support HTTP connections. 
243+ 	// To specify all subdomains, add the asterisk (*) wildcard character as a prefix to the domain name. 
244+ 	// For example, *.example.com. You can specify an individual repository within a registry. 
245+ 	// For example: reg1.io/myrepo/myapp:latest. 
246+ 	// +optional 
247+ 	InsecureRegistries  []string  `json:"insecureRegistries,omitempty"` 
183248}
184249
185250// NetworkSpec for ROSA-HCP. 
0 commit comments