diff --git a/docs/book/src/multiversion-tutorial/testdata/project/cmd/main.go b/docs/book/src/multiversion-tutorial/testdata/project/cmd/main.go index f1101015f87..8a1cecc3798 100644 --- a/docs/book/src/multiversion-tutorial/testdata/project/cmd/main.go +++ b/docs/book/src/multiversion-tutorial/testdata/project/cmd/main.go @@ -121,6 +121,8 @@ func main() { tlsOpts = append(tlsOpts, disableHTTP2) } + // +kubebuilder:docs-gen:collapse=Manager Setup + // Initial webhook TLS options webhookTLSOpts := tlsOpts webhookServerOptions := webhook.Options{ diff --git a/docs/book/src/multiversion-tutorial/testdata/project/internal/webhook/v2/cronjob_webhook.go b/docs/book/src/multiversion-tutorial/testdata/project/internal/webhook/v2/cronjob_webhook.go index 137cf7a4ccd..f628f4442d9 100644 --- a/docs/book/src/multiversion-tutorial/testdata/project/internal/webhook/v2/cronjob_webhook.go +++ b/docs/book/src/multiversion-tutorial/testdata/project/internal/webhook/v2/cronjob_webhook.go @@ -37,6 +37,8 @@ import ( batchv2 "tutorial.kubebuilder.io/project/api/v2" ) +// +kubebuilder:docs-gen:collapse=Imports + // nolint:unused // log is for logging in this package. var cronjoblog = logf.Log.WithName("cronjob-resource") @@ -157,6 +159,8 @@ func (d *CronJobCustomDefaulter) applyDefaults(cronJob *batchv2.CronJob) { } } +// +kubebuilder:docs-gen:collapse=Webhook Setup and Defaulting + // validateCronJob validates the fields of a CronJob object. func validateCronJob(cronjob *batchv2.CronJob) error { var allErrs field.ErrorList diff --git a/hack/docs/internal/multiversion-tutorial/generate_multiversion.go b/hack/docs/internal/multiversion-tutorial/generate_multiversion.go index 8884319bf9e..bdff0c2628b 100644 --- a/hack/docs/internal/multiversion-tutorial/generate_multiversion.go +++ b/hack/docs/internal/multiversion-tutorial/generate_multiversion.go @@ -354,6 +354,16 @@ func (sp *Sample) updateWebhookV2() { ) hackutils.CheckError("replacing imports in v2", err) + // Add collapse marker after the import block to hide imports + err = pluginutil.InsertCode( + filepath.Join(sp.ctx.Dir, path), + `batchv2 "tutorial.kubebuilder.io/project/api/v2" +)`, + ` + +// +kubebuilder:docs-gen:collapse=Imports`) + hackutils.CheckError("adding imports collapse marker to webhook v2", err) + err = pluginutil.ReplaceInFile( filepath.Join(sp.ctx.Dir, path), `// TODO(user): Add more fields as needed for defaulting`, @@ -493,17 +503,14 @@ CronJob controller's `+"`SetupWithManager`"+` method. err = pluginutil.InsertCode( filepath.Join(sp.ctx.Dir, path), - `if err := (&controller.CronJobReconciler{ - Client: mgr.GetClient(), - Scheme: mgr.GetScheme(), - }).SetupWithManager(mgr); err != nil { - setupLog.Error(err, "unable to create controller", "controller", "CronJob") - os.Exit(1) + `if !enableHTTP2 { + tlsOpts = append(tlsOpts, disableHTTP2) }`, ` - `, + + // +kubebuilder:docs-gen:collapse=Manager Setup`, ) - hackutils.CheckError("insert doc marker existing setup main.go", err) + hackutils.CheckError("adding manager setup collapse marker main.go", err) err = pluginutil.ReplaceInFile( filepath.Join(sp.ctx.Dir, path), diff --git a/hack/docs/internal/multiversion-tutorial/webhook_v2_implementaton.go b/hack/docs/internal/multiversion-tutorial/webhook_v2_implementaton.go index 798f048ad7e..030216fd042 100644 --- a/hack/docs/internal/multiversion-tutorial/webhook_v2_implementaton.go +++ b/hack/docs/internal/multiversion-tutorial/webhook_v2_implementaton.go @@ -44,12 +44,14 @@ func (d *CronJobCustomDefaulter) applyDefaults(cronJob *batchv2.CronJob) { } if cronJob.Spec.FailedJobsHistoryLimit == nil { cronJob.Spec.FailedJobsHistoryLimit = new(int32) - *cronJob.Spec.FailedJobsHistoryLimit = d.DefaultFailedJobsHistoryLimit + *cronJob.Spec .FailedJobsHistoryLimit = d.DefaultFailedJobsHistoryLimit } } ` const cronJobValidationFunction = ` +// +kubebuilder:docs-gen:collapse=Webhook Setup and Defaulting + // validateCronJob validates the fields of a CronJob object. func validateCronJob(cronjob *batchv2.CronJob) error { var allErrs field.ErrorList