Mark Master as required and omitempty fields as +optional
This commit is contained in:
		
							parent
							
								
									a445c0e3ab
								
							
						
					
					
						commit
						110b750ab3
					
				|  | @ -2939,6 +2939,7 @@ spec: | |||
|               type: object | ||||
|           required: | ||||
|           - jenkinsAPISettings | ||||
|           - master | ||||
|           type: object | ||||
|         status: | ||||
|           description: Status defines the observed state of Jenkins | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ import ( | |||
| type JenkinsSpec struct { | ||||
| 	// Master represents Jenkins master pod properties and Jenkins plugins.
 | ||||
| 	// Every single change here requires a pod restart.
 | ||||
| 	Master JenkinsMaster `json:"master,omitempty"` | ||||
| 	Master JenkinsMaster `json:"master"` | ||||
| 
 | ||||
| 	// SeedJobs defines list of Jenkins Seed Job configurations
 | ||||
| 	// More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines
 | ||||
|  | @ -20,6 +20,7 @@ type JenkinsSpec struct { | |||
| 
 | ||||
| 	// Notifications defines list of a services which are used to inform about Jenkins status
 | ||||
| 	// Can be used to integrate chat services like Slack, Microsoft Teams or Mailgun
 | ||||
| 	// +optional
 | ||||
| 	Notifications []Notification `json:"notifications,omitempty"` | ||||
| 
 | ||||
| 	// Service is Kubernetes service of Jenkins master HTTP pod
 | ||||
|  | @ -294,6 +295,7 @@ type JenkinsMaster struct { | |||
| 	// List of containers belonging to the pod.
 | ||||
| 	// Containers cannot currently be added or removed.
 | ||||
| 	// There must be at least one container in a Pod.
 | ||||
| 	// +optional
 | ||||
| 	// Defaults to:
 | ||||
| 	// - image: jenkins/jenkins:lts
 | ||||
| 	//   imagePullPolicy: Always
 | ||||
|  | @ -344,6 +346,7 @@ type JenkinsMaster struct { | |||
| 	Tolerations []corev1.Toleration `json:"tolerations,omitempty"` | ||||
| 
 | ||||
| 	// BasePlugins contains plugins required by operator
 | ||||
| 	// +optional
 | ||||
| 	// Defaults to :
 | ||||
| 	// - name: kubernetes
 | ||||
| 	// version: 1.15.7
 | ||||
|  | @ -386,6 +389,7 @@ type Service struct { | |||
| 	// modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
 | ||||
| 	// Ignored if type is ExternalName.
 | ||||
| 	// More info: https://kubernetes.io/docs/concepts/services-networking/service/
 | ||||
| 	// +optional
 | ||||
| 	Labels map[string]string `json:"labels,omitempty"` | ||||
| 
 | ||||
| 	// Type determines how the Service is exposed. Defaults to ClusterIP. Valid
 | ||||
|  |  | |||
|  | @ -9,16 +9,15 @@ import ( | |||
| 	common "k8s.io/kube-openapi/pkg/common" | ||||
| ) | ||||
| 
 | ||||
| // GetOpenAPIDefinitions return OpenAPI definitions
 | ||||
| func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { | ||||
| 	return map[string]common.OpenAPIDefinition{ | ||||
| 		"./pkg/apis/jenkins/v1alpha2.Jenkins":       schemaPkgApisJenkinsV1alpha2Jenkins(ref), | ||||
| 		"./pkg/apis/jenkins/v1alpha2.JenkinsSpec":   schemaPkgApisJenkinsV1alpha2Jenkinsspec(ref), | ||||
| 		"./pkg/apis/jenkins/v1alpha2.JenkinsStatus": schemaPkgApisJenkinsV1alpha2Jenkinsstatus(ref), | ||||
| 		"github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Jenkins":       schema_pkg_apis_jenkins_v1alpha2_Jenkins(ref), | ||||
| 		"github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsSpec":   schema_pkg_apis_jenkins_v1alpha2_JenkinsSpec(ref), | ||||
| 		"github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsStatus": schema_pkg_apis_jenkins_v1alpha2_JenkinsStatus(ref), | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func schemaPkgApisJenkinsV1alpha2Jenkins(ref common.ReferenceCallback) common.OpenAPIDefinition { | ||||
| func schema_pkg_apis_jenkins_v1alpha2_Jenkins(ref common.ReferenceCallback) common.OpenAPIDefinition { | ||||
| 	return common.OpenAPIDefinition{ | ||||
| 		Schema: spec.Schema{ | ||||
| 			SchemaProps: spec.SchemaProps{ | ||||
|  | @ -47,24 +46,24 @@ func schemaPkgApisJenkinsV1alpha2Jenkins(ref common.ReferenceCallback) common.Op | |||
| 					"spec": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "Spec defines the desired state of the Jenkins", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.JenkinsSpec"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsSpec"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"status": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "Status defines the observed state of Jenkins", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.JenkinsStatus"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsStatus"), | ||||
| 						}, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, | ||||
| 		}, | ||||
| 		Dependencies: []string{ | ||||
| 			"./pkg/apis/jenkins/v1alpha2.JenkinsSpec", "./pkg/apis/jenkins/v1alpha2.JenkinsStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, | ||||
| 			"github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsSpec", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func schemaPkgApisJenkinsV1alpha2Jenkinsspec(ref common.ReferenceCallback) common.OpenAPIDefinition { | ||||
| func schema_pkg_apis_jenkins_v1alpha2_JenkinsSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { | ||||
| 	return common.OpenAPIDefinition{ | ||||
| 		Schema: spec.Schema{ | ||||
| 			SchemaProps: spec.SchemaProps{ | ||||
|  | @ -74,7 +73,7 @@ func schemaPkgApisJenkinsV1alpha2Jenkinsspec(ref common.ReferenceCallback) commo | |||
| 					"master": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "Master represents Jenkins master pod properties and Jenkins plugins. Every single change here requires a pod restart.", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.JenkinsMaster"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsMaster"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"seedJobs": { | ||||
|  | @ -84,7 +83,7 @@ func schemaPkgApisJenkinsV1alpha2Jenkinsspec(ref common.ReferenceCallback) commo | |||
| 							Items: &spec.SchemaOrArray{ | ||||
| 								Schema: &spec.Schema{ | ||||
| 									SchemaProps: spec.SchemaProps{ | ||||
| 										Ref: ref("./pkg/apis/jenkins/v1alpha2.SeedJob"), | ||||
| 										Ref: ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SeedJob"), | ||||
| 									}, | ||||
| 								}, | ||||
| 							}, | ||||
|  | @ -97,7 +96,7 @@ func schemaPkgApisJenkinsV1alpha2Jenkinsspec(ref common.ReferenceCallback) commo | |||
| 							Items: &spec.SchemaOrArray{ | ||||
| 								Schema: &spec.Schema{ | ||||
| 									SchemaProps: spec.SchemaProps{ | ||||
| 										Ref: ref("./pkg/apis/jenkins/v1alpha2.Notification"), | ||||
| 										Ref: ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Notification"), | ||||
| 									}, | ||||
| 								}, | ||||
| 							}, | ||||
|  | @ -106,37 +105,37 @@ func schemaPkgApisJenkinsV1alpha2Jenkinsspec(ref common.ReferenceCallback) commo | |||
| 					"service": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "Service is Kubernetes service of Jenkins master HTTP pod Defaults to : port: 8080 type: ClusterIP", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.Service"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"slaveService": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "Service is Kubernetes service of Jenkins slave pods Defaults to : port: 50000 type: ClusterIP", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.Service"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"backup": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "Backup defines configuration of Jenkins backup More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.Backup"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Backup"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"restore": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "Backup defines configuration of Jenkins backup restore More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.Restore"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Restore"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"groovyScripts": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "GroovyScripts defines configuration of Jenkins customization via groovy scripts", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.GroovyScripts"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.GroovyScripts"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"configurationAsCode": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.ConfigurationAsCode"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigurationAsCode"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"roles": { | ||||
|  | @ -155,25 +154,25 @@ func schemaPkgApisJenkinsV1alpha2Jenkinsspec(ref common.ReferenceCallback) commo | |||
| 					"serviceAccount": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "ServiceAccount defines Jenkins master service account attributes", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.ServiceAccount"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ServiceAccount"), | ||||
| 						}, | ||||
| 					}, | ||||
| 					"jenkinsAPISettings": { | ||||
| 						SchemaProps: spec.SchemaProps{ | ||||
| 							Description: "JenkinsAPISettings defines configuration used by the operator to gain admin access to the Jenkins API", | ||||
| 							Ref:         ref("./pkg/apis/jenkins/v1alpha2.JenkinsAPISettings"), | ||||
| 							Ref:         ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsAPISettings"), | ||||
| 						}, | ||||
| 					}, | ||||
| 				}, | ||||
| 				Required: []string{"jenkinsAPISettings"}, | ||||
| 				Required: []string{"master", "jenkinsAPISettings"}, | ||||
| 			}, | ||||
| 		}, | ||||
| 		Dependencies: []string{ | ||||
| 			"./pkg/apis/jenkins/v1alpha2.Backup", "./pkg/apis/jenkins/v1alpha2.ConfigurationAsCode", "./pkg/apis/jenkins/v1alpha2.GroovyScripts", "./pkg/apis/jenkins/v1alpha2.JenkinsAPISettings", "./pkg/apis/jenkins/v1alpha2.JenkinsMaster", "./pkg/apis/jenkins/v1alpha2.Notification", "./pkg/apis/jenkins/v1alpha2.Restore", "./pkg/apis/jenkins/v1alpha2.SeedJob", "./pkg/apis/jenkins/v1alpha2.Service", "./pkg/apis/jenkins/v1alpha2.ServiceAccount", "k8s.io/api/rbac/v1.RoleRef"}, | ||||
| 			"github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Backup", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigurationAsCode", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.GroovyScripts", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsAPISettings", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsMaster", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Notification", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Restore", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SeedJob", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service", "github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ServiceAccount", "k8s.io/api/rbac/v1.RoleRef"}, | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func schemaPkgApisJenkinsV1alpha2Jenkinsstatus(ref common.ReferenceCallback) common.OpenAPIDefinition { | ||||
| func schema_pkg_apis_jenkins_v1alpha2_JenkinsStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { | ||||
| 	return common.OpenAPIDefinition{ | ||||
| 		Schema: spec.Schema{ | ||||
| 			SchemaProps: spec.SchemaProps{ | ||||
|  | @ -261,7 +260,7 @@ func schemaPkgApisJenkinsV1alpha2Jenkinsstatus(ref common.ReferenceCallback) com | |||
| 							Items: &spec.SchemaOrArray{ | ||||
| 								Schema: &spec.Schema{ | ||||
| 									SchemaProps: spec.SchemaProps{ | ||||
| 										Ref: ref("./pkg/apis/jenkins/v1alpha2.AppliedGroovyScript"), | ||||
| 										Ref: ref("github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript"), | ||||
| 									}, | ||||
| 								}, | ||||
| 							}, | ||||
|  | @ -271,6 +270,6 @@ func schemaPkgApisJenkinsV1alpha2Jenkinsstatus(ref common.ReferenceCallback) com | |||
| 			}, | ||||
| 		}, | ||||
| 		Dependencies: []string{ | ||||
| 			"./pkg/apis/jenkins/v1alpha2.AppliedGroovyScript", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, | ||||
| 			"github.com/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, | ||||
| 	} | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue