@@ -46,20 +46,20 @@ const (
4646type CloudKittySpecBase struct {
4747 CloudKittyTemplate `json:",inline"`
4848
49- // +kubebuilder:validation:Required
49+ // +kubebuilder:validation:Optional
5050 // +kubebuilder:default=openstack
5151 // MariaDB instance name
5252 // Right now required by the maridb-operator to get the credentials from the instance to create the DB
5353 // Might not be required in future
5454 DatabaseInstance string `json:"databaseInstance"`
5555
56- // +kubebuilder:validation:Required
56+ // +kubebuilder:validation:Optional
5757 // +kubebuilder:default=rabbitmq
5858 // RabbitMQ instance name
5959 // Needed to request a transportURL that is created and used in CloudKitty
6060 RabbitMqClusterName string `json:"rabbitMqClusterName"`
6161
62- // +kubebuilder:validation:Required
62+ // +kubebuilder:validation:Optional
6363 // +kubebuilder:default=memcached
6464 // Memcached instance name.
6565 MemcachedInstance string `json:"memcachedInstance"`
@@ -111,11 +111,11 @@ type CloudKittySpecBase struct {
111111type CloudKittySpecCore struct {
112112 CloudKittySpecBase `json:",inline"`
113113
114- // +kubebuilder:validation:Required
114+ // +kubebuilder:validation:Optional
115115 // CloudKittyAPI - Spec definition for the API service of this CloudKitty deployment
116116 CloudKittyAPI CloudKittyAPITemplateCore `json:"cloudKittyAPI"`
117117
118- // +kubebuilder:validation:Required
118+ // +kubebuilder:validation:Optional
119119 // CloudKittyProc - Spec definition for the Scheduler service of this CloudKitty deployment
120120 CloudKittyProc CloudKittyProcTemplateCore `json:"cloudKittyProc"`
121121}
@@ -124,11 +124,11 @@ type CloudKittySpecCore struct {
124124type CloudKittySpec struct {
125125 CloudKittySpecBase `json:",inline"`
126126
127- // +kubebuilder:validation:Required
127+ // +kubebuilder:validation:Optional
128128 // CloudKittyAPI - Spec definition for the API service of this CloudKitty deployment
129129 CloudKittyAPI CloudKittyAPITemplate `json:"cloudKittyAPI"`
130130
131- // +kubebuilder:validation:Required
131+ // +kubebuilder:validation:Optional
132132 // CloudKittyProc - Spec definition for the Scheduler service of this CloudKitty deployment
133133 CloudKittyProc CloudKittyProcTemplate `json:"cloudKittyProc"`
134134}
@@ -145,7 +145,7 @@ type CloudKittyTemplate struct {
145145 // DatabaseAccount - optional MariaDBAccount used for cloudkitty DB, defaults to cloudkitty
146146 DatabaseAccount string `json:"databaseAccount"`
147147
148- // +kubebuilder:validation:Required
148+ // +kubebuilder:validation:Optional
149149 // Secret containing OpenStack password information
150150 Secret string `json:"secret"`
151151
@@ -171,6 +171,7 @@ type CloudKittyServiceTemplate struct {
171171 CustomServiceConfig string `json:"customServiceConfig,omitempty"`
172172
173173 // +kubebuilder:validation:Optional
174+ // +listType=atomic
174175 // CustomServiceConfigSecrets - customize the service config using this parameter to specify Secrets
175176 // that contain sensitive service config data. The content of each Secret gets added to the
176177 // /etc/<service>/<service>.conf.d directory as a custom config file.
@@ -182,6 +183,7 @@ type CloudKittyServiceTemplate struct {
182183 Resources corev1.ResourceRequirements `json:"resources,omitempty"`
183184
184185 // +kubebuilder:validation:Optional
186+ // +listType=atomic
185187 // NetworkAttachments is a list of NetworkAttachment resource names to expose the services to the given network
186188 NetworkAttachments []string `json:"networkAttachments,omitempty"`
187189
0 commit comments