Generate OpenAPI validation schema
This commit is contained in:
parent
018c8cc709
commit
11231b690c
File diff suppressed because it is too large
Load Diff
|
|
@ -629,7 +629,7 @@ type AppliedGroovyScript struct {
|
||||||
// Name is the name of the groovy script
|
// Name is the name of the groovy script
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
// Hash is the hash of the groovy script and secrets which it uses
|
// Hash is the hash of the groovy script and secrets which it uses
|
||||||
Hash string
|
Hash string `json:"hash"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// SecretRef is reference to Kubernetes secret
|
// SecretRef is reference to Kubernetes secret
|
||||||
|
|
@ -650,10 +650,10 @@ type Customization struct {
|
||||||
|
|
||||||
// GroovyScripts defines configuration of Jenkins customization via groovy scripts
|
// GroovyScripts defines configuration of Jenkins customization via groovy scripts
|
||||||
type GroovyScripts struct {
|
type GroovyScripts struct {
|
||||||
Customization
|
Customization `json:",inline"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin
|
// ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin
|
||||||
type ConfigurationAsCode struct {
|
type ConfigurationAsCode struct {
|
||||||
Customization
|
Customization `json:",inline"`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
// +build !ignore_autogenerated
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
// Code generated by openapi-gen. DO NOT EDIT.
|
|
||||||
|
|
||||||
// This file was autogenerated by openapi-gen. Do not edit it manually!
|
// This file was autogenerated by openapi-gen. Do not edit it manually!
|
||||||
|
|
||||||
package v1alpha2
|
package v1alpha2
|
||||||
|
|
@ -13,9 +11,9 @@ import (
|
||||||
|
|
||||||
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
|
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
|
||||||
return map[string]common.OpenAPIDefinition{
|
return map[string]common.OpenAPIDefinition{
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Jenkins": schema_pkg_apis_jenkins_v1alpha2_Jenkins(ref),
|
"./pkg/apis/jenkins/v1alpha2.Jenkins": schema_pkg_apis_jenkins_v1alpha2_Jenkins(ref),
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsSpec": schema_pkg_apis_jenkins_v1alpha2_JenkinsSpec(ref),
|
"./pkg/apis/jenkins/v1alpha2.JenkinsSpec": schema_pkg_apis_jenkins_v1alpha2_JenkinsSpec(ref),
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsStatus": schema_pkg_apis_jenkins_v1alpha2_JenkinsStatus(ref),
|
"./pkg/apis/jenkins/v1alpha2.JenkinsStatus": schema_pkg_apis_jenkins_v1alpha2_JenkinsStatus(ref),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -24,6 +22,7 @@ func schema_pkg_apis_jenkins_v1alpha2_Jenkins(ref common.ReferenceCallback) comm
|
||||||
Schema: spec.Schema{
|
Schema: spec.Schema{
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Description: "Jenkins is the Schema for the jenkins API",
|
Description: "Jenkins is the Schema for the jenkins API",
|
||||||
|
Type: []string{"object"},
|
||||||
Properties: map[string]spec.Schema{
|
Properties: map[string]spec.Schema{
|
||||||
"kind": {
|
"kind": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
|
|
@ -46,19 +45,21 @@ func schema_pkg_apis_jenkins_v1alpha2_Jenkins(ref common.ReferenceCallback) comm
|
||||||
},
|
},
|
||||||
"spec": {
|
"spec": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsSpec"),
|
Description: "Spec defines the desired state of the Jenkins",
|
||||||
|
Ref: ref("./pkg/apis/jenkins/v1alpha2.JenkinsSpec"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsStatus"),
|
Description: "Status defines the observed state of Jenkins",
|
||||||
|
Ref: ref("./pkg/apis/jenkins/v1alpha2.JenkinsStatus"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Dependencies: []string{
|
Dependencies: []string{
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsSpec", "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
|
"./pkg/apis/jenkins/v1alpha2.JenkinsSpec", "./pkg/apis/jenkins/v1alpha2.JenkinsStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,21 +67,36 @@ func schema_pkg_apis_jenkins_v1alpha2_JenkinsSpec(ref common.ReferenceCallback)
|
||||||
return common.OpenAPIDefinition{
|
return common.OpenAPIDefinition{
|
||||||
Schema: spec.Schema{
|
Schema: spec.Schema{
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Description: "JenkinsSpec defines the desired state of Jenkins",
|
Description: "JenkinsSpec defines the desired state of the Jenkins",
|
||||||
|
Type: []string{"object"},
|
||||||
Properties: map[string]spec.Schema{
|
Properties: map[string]spec.Schema{
|
||||||
"master": {
|
"master": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Description: "INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run \"operator-sdk generate k8s\" to regenerate code after modifying this file",
|
Description: "Master represents Jenkins master pod properties and Jenkins plugins. Every single change here requires a pod restart.",
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsMaster"),
|
Ref: ref("./pkg/apis/jenkins/v1alpha2.JenkinsMaster"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"seedJobs": {
|
"seedJobs": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Type: []string{"array"},
|
Description: "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",
|
||||||
|
Type: []string{"array"},
|
||||||
Items: &spec.SchemaOrArray{
|
Items: &spec.SchemaOrArray{
|
||||||
Schema: &spec.Schema{
|
Schema: &spec.Schema{
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SeedJob"),
|
Ref: ref("./pkg/apis/jenkins/v1alpha2.SeedJob"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"notifications": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "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",
|
||||||
|
Type: []string{"array"},
|
||||||
|
Items: &spec.SchemaOrArray{
|
||||||
|
Schema: &spec.Schema{
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Ref: ref("./pkg/apis/jenkins/v1alpha2.Notification"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -88,29 +104,71 @@ func schema_pkg_apis_jenkins_v1alpha2_JenkinsSpec(ref common.ReferenceCallback)
|
||||||
},
|
},
|
||||||
"service": {
|
"service": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service"),
|
Description: "Service is Kubernetes service of Jenkins master HTTP pod Defaults to : port: 8080 type: ClusterIP",
|
||||||
|
Ref: ref("./pkg/apis/jenkins/v1alpha2.Service"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"slaveService": {
|
"slaveService": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service"),
|
Description: "Service is Kubernetes service of Jenkins slave pods Defaults to : port: 50000 type: ClusterIP",
|
||||||
|
Ref: ref("./pkg/apis/jenkins/v1alpha2.Service"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"backup": {
|
"backup": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Backup"),
|
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"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"restore": {
|
"restore": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Restore"),
|
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"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"groovyScripts": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "GroovyScripts defines configuration of Jenkins customization via groovy scripts",
|
||||||
|
Ref: ref("./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"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"roles": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "Roles defines list of extra RBAC roles for the Jenkins Master pod service account",
|
||||||
|
Type: []string{"array"},
|
||||||
|
Items: &spec.SchemaOrArray{
|
||||||
|
Schema: &spec.Schema{
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Ref: ref("k8s.io/api/rbac/v1.RoleRef"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"serviceAccount": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "ServiceAccount defines Jenkins master service account attributes",
|
||||||
|
Ref: ref("./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"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Required: []string{"jenkinsAPISettings"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Dependencies: []string{
|
Dependencies: []string{
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Backup", "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsMaster", "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Restore", "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SeedJob", "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service"},
|
"./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"},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,63 +177,99 @@ func schema_pkg_apis_jenkins_v1alpha2_JenkinsStatus(ref common.ReferenceCallback
|
||||||
Schema: spec.Schema{
|
Schema: spec.Schema{
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Description: "JenkinsStatus defines the observed state of Jenkins",
|
Description: "JenkinsStatus defines the observed state of Jenkins",
|
||||||
|
Type: []string{"object"},
|
||||||
Properties: map[string]spec.Schema{
|
Properties: map[string]spec.Schema{
|
||||||
"operatorVersion": {
|
"operatorVersion": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Description: "INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run \"operator-sdk generate k8s\" to regenerate code after modifying this file",
|
Description: "OperatorVersion is the operator version which manages this CR",
|
||||||
Type: []string{"string"},
|
Type: []string{"string"},
|
||||||
Format: "",
|
Format: "",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"provisionStartTime": {
|
"provisionStartTime": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
|
Description: "ProvisionStartTime is a time when Jenkins master pod has been created",
|
||||||
|
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"baseConfigurationCompletedTime": {
|
"baseConfigurationCompletedTime": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
|
Description: "BaseConfigurationCompletedTime is a time when Jenkins base configuration phase has been completed",
|
||||||
|
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"userConfigurationCompletedTime": {
|
"userConfigurationCompletedTime": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
|
Description: "UserConfigurationCompletedTime is a time when Jenkins user configuration phase has been completed",
|
||||||
|
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"builds": {
|
"restoredBackup": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Type: []string{"array"},
|
Description: "RestoredBackup is the restored backup number after Jenkins master pod restart",
|
||||||
|
Type: []string{"integer"},
|
||||||
|
Format: "int64",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"lastBackup": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "LastBackup is the latest backup number",
|
||||||
|
Type: []string{"integer"},
|
||||||
|
Format: "int64",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"pendingBackup": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "PendingBackup is the pending backup number",
|
||||||
|
Type: []string{"integer"},
|
||||||
|
Format: "int64",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"backupDoneBeforePodDeletion": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "BackupDoneBeforePodDeletion tells if backup before pod deletion has been made",
|
||||||
|
Type: []string{"boolean"},
|
||||||
|
Format: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"userAndPasswordHash": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "UserAndPasswordHash is a SHA256 hash made from user and password",
|
||||||
|
Type: []string{"string"},
|
||||||
|
Format: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"createdSeedJobs": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "CreatedSeedJobs contains list of seed job id already created in Jenkins",
|
||||||
|
Type: []string{"array"},
|
||||||
Items: &spec.SchemaOrArray{
|
Items: &spec.SchemaOrArray{
|
||||||
Schema: &spec.Schema{
|
Schema: &spec.Schema{
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build"),
|
Type: []string{"string"},
|
||||||
|
Format: "",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"restoredBackup": {
|
"appliedGroovyScripts": {
|
||||||
SchemaProps: spec.SchemaProps{
|
SchemaProps: spec.SchemaProps{
|
||||||
Type: []string{"integer"},
|
Description: "AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator",
|
||||||
Format: "int64",
|
Type: []string{"array"},
|
||||||
},
|
Items: &spec.SchemaOrArray{
|
||||||
},
|
Schema: &spec.Schema{
|
||||||
"lastBackup": {
|
SchemaProps: spec.SchemaProps{
|
||||||
SchemaProps: spec.SchemaProps{
|
Ref: ref("./pkg/apis/jenkins/v1alpha2.AppliedGroovyScript"),
|
||||||
Type: []string{"integer"},
|
},
|
||||||
Format: "int64",
|
},
|
||||||
},
|
},
|
||||||
},
|
|
||||||
"pendingBackup": {
|
|
||||||
SchemaProps: spec.SchemaProps{
|
|
||||||
Type: []string{"integer"},
|
|
||||||
Format: "int64",
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Dependencies: []string{
|
Dependencies: []string{
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"},
|
"./pkg/apis/jenkins/v1alpha2.AppliedGroovyScript", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue