diff --git a/cmd/katib-controller/v1beta1/main.go b/cmd/katib-controller/v1beta1/main.go index ff0fdc7fadd..237ab571399 100644 --- a/cmd/katib-controller/v1beta1/main.go +++ b/cmd/katib-controller/v1beta1/main.go @@ -135,13 +135,13 @@ func main() { ctx := signals.SetupSignalHandler() certsReady := make(chan struct{}) - + defer close(certsReady) if initConfig.CertGeneratorConfig.Enable { if err = cert.AddToManager(mgr, initConfig.CertGeneratorConfig, certsReady); err != nil { log.Error(err, "Failed to set up cert-generator") } } else { - close(certsReady) + certsReady <- struct{}{} } // The setupControllers will register controllers to the manager diff --git a/docs/developer-guide.md b/docs/developer-guide.md index c48e67c1a5e..b3fd4493d8e 100644 --- a/docs/developer-guide.md +++ b/docs/developer-guide.md @@ -114,6 +114,9 @@ Once the `cert-generator` finished, the Katib controller starts to register cont You can find the `cert-generator` source code [here](../pkg/certgenerator/v1beta1). +NOTE: the Katib also supports the [cert-manager](https://cert-manager.io/) to generate certs for the admission webhooks instead of using cert-generator. +You can find the installation with the cert-manager [here](../manifests/v1beta1/installs/katib-cert-manager). + ## Implement a new algorithm and use it in Katib Please see [new-algorithm-service.md](./new-algorithm-service.md). diff --git a/pkg/certgenerator/v1beta1/generator.go b/pkg/certgenerator/v1beta1/generator.go index 6a90235b6e9..f8c1d9520fa 100644 --- a/pkg/certgenerator/v1beta1/generator.go +++ b/pkg/certgenerator/v1beta1/generator.go @@ -67,8 +67,8 @@ func (c *CertGenerator) Start(ctx context.Context) error { if err := c.generate(ctx); err != nil { return err } - // Close a certsReady means start to register controllers to the manager. - close(c.certsReady) + // Sending an empty data to a certsReady means it starts to register controllers to the manager. + c.certsReady <- struct{}{} return nil }