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 string `json:"name"`
|
||||
// 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
|
||||
|
|
@ -650,10 +650,10 @@ type Customization struct {
|
|||
|
||||
// GroovyScripts defines configuration of Jenkins customization via groovy scripts
|
||||
type GroovyScripts struct {
|
||||
Customization
|
||||
Customization `json:",inline"`
|
||||
}
|
||||
|
||||
// ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin
|
||||
type ConfigurationAsCode struct {
|
||||
Customization
|
||||
Customization `json:",inline"`
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
// +build !ignore_autogenerated
|
||||
|
||||
// Code generated by openapi-gen. DO NOT EDIT.
|
||||
|
||||
// This file was autogenerated by openapi-gen. Do not edit it manually!
|
||||
|
||||
package v1alpha2
|
||||
|
|
@ -13,9 +11,9 @@ import (
|
|||
|
||||
func GetOpenAPIDefinitions(ref common.ReferenceCallback) 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),
|
||||
"github.com/jenkinsci/kubernetes-operator/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.Jenkins": schema_pkg_apis_jenkins_v1alpha2_Jenkins(ref),
|
||||
"./pkg/apis/jenkins/v1alpha2.JenkinsSpec": schema_pkg_apis_jenkins_v1alpha2_JenkinsSpec(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{
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Description: "Jenkins is the Schema for the jenkins API",
|
||||
Type: []string{"object"},
|
||||
Properties: map[string]spec.Schema{
|
||||
"kind": {
|
||||
SchemaProps: spec.SchemaProps{
|
||||
|
|
@ -46,19 +45,21 @@ func schema_pkg_apis_jenkins_v1alpha2_Jenkins(ref common.ReferenceCallback) comm
|
|||
},
|
||||
"spec": {
|
||||
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": {
|
||||
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{
|
||||
"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{
|
||||
Schema: spec.Schema{
|
||||
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{
|
||||
"master": {
|
||||
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",
|
||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsMaster"),
|
||||
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"),
|
||||
},
|
||||
},
|
||||
"seedJobs": {
|
||||
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{
|
||||
Schema: &spec.Schema{
|
||||
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": {
|
||||
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": {
|
||||
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": {
|
||||
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": {
|
||||
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{
|
||||
"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{
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Description: "JenkinsStatus defines the observed state of Jenkins",
|
||||
Type: []string{"object"},
|
||||
Properties: map[string]spec.Schema{
|
||||
"operatorVersion": {
|
||||
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"},
|
||||
Format: "",
|
||||
},
|
||||
},
|
||||
"provisionStartTime": {
|
||||
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": {
|
||||
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": {
|
||||
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{
|
||||
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{
|
||||
Schema: &spec.Schema{
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Ref: ref("github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build"),
|
||||
Type: []string{"string"},
|
||||
Format: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"restoredBackup": {
|
||||
"appliedGroovyScripts": {
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Type: []string{"integer"},
|
||||
Format: "int64",
|
||||
},
|
||||
},
|
||||
"lastBackup": {
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Type: []string{"integer"},
|
||||
Format: "int64",
|
||||
},
|
||||
},
|
||||
"pendingBackup": {
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Type: []string{"integer"},
|
||||
Format: "int64",
|
||||
Description: "AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator",
|
||||
Type: []string{"array"},
|
||||
Items: &spec.SchemaOrArray{
|
||||
Schema: &spec.Schema{
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Ref: ref("./pkg/apis/jenkins/v1alpha2.AppliedGroovyScript"),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
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