Use controller-runtime manager instead of errorgroup.
Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
This commit is contained in:
parent
5141dddf2c
commit
80e3960f91
@ -40,7 +40,6 @@ go.uber.org/zap,https://github.com/uber-go/zap/blob/v1.25.0/LICENSE.txt,MIT
|
||||
golang.org/x/exp,https://cs.opensource.google/go/x/exp/+/92128663:LICENSE,BSD-3-Clause
|
||||
golang.org/x/net,https://cs.opensource.google/go/x/net/+/v0.17.0:LICENSE,BSD-3-Clause
|
||||
golang.org/x/oauth2,https://cs.opensource.google/go/x/oauth2/+/v0.12.0:LICENSE,BSD-3-Clause
|
||||
golang.org/x/sync/errgroup,https://cs.opensource.google/go/x/sync/+/v0.3.0:LICENSE,BSD-3-Clause
|
||||
golang.org/x/sys/unix,https://cs.opensource.google/go/x/sys/+/v0.13.0:LICENSE,BSD-3-Clause
|
||||
golang.org/x/term,https://cs.opensource.google/go/x/term/+/v0.13.0:LICENSE,BSD-3-Clause
|
||||
golang.org/x/text,https://cs.opensource.google/go/x/text/+/v0.13.0:LICENSE,BSD-3-Clause
|
||||
|
||||
@ -23,7 +23,6 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"golang.org/x/sync/errgroup"
|
||||
apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
@ -32,6 +31,7 @@ import (
|
||||
ctrl "sigs.k8s.io/controller-runtime"
|
||||
"sigs.k8s.io/controller-runtime/pkg/cache"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
"sigs.k8s.io/controller-runtime/pkg/manager"
|
||||
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
|
||||
|
||||
config "github.com/cert-manager/cert-manager/internal/apis/config/cainjector"
|
||||
@ -76,8 +76,6 @@ func Run(opts *config.CAInjectorConfiguration, ctx context.Context) error {
|
||||
return fmt.Errorf("error creating manager: %v", err)
|
||||
}
|
||||
|
||||
g, gctx := errgroup.WithContext(ctx)
|
||||
|
||||
// if a PprofAddr is provided, start the pprof listener
|
||||
if opts.EnablePprof {
|
||||
pprofListener, err := net.Listen("tcp", opts.PprofAddress)
|
||||
@ -92,23 +90,23 @@ func Run(opts *config.CAInjectorConfiguration, ctx context.Context) error {
|
||||
server := &http.Server{
|
||||
Handler: profilerMux,
|
||||
}
|
||||
g.Go(func() error {
|
||||
<-gctx.Done()
|
||||
|
||||
mgr.Add(manager.RunnableFunc(func(ctx context.Context) error {
|
||||
<-ctx.Done()
|
||||
|
||||
// allow a timeout for graceful shutdown
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
shutdownCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
|
||||
if err := server.Shutdown(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
g.Go(func() error {
|
||||
return server.Shutdown(shutdownCtx)
|
||||
}))
|
||||
|
||||
mgr.Add(manager.RunnableFunc(func(ctx context.Context) error {
|
||||
if err := server.Serve(pprofListener); err != http.ErrServerClosed {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}))
|
||||
}
|
||||
|
||||
// If cainjector has been configured to watch Certificate CRDs (true by default)
|
||||
@ -152,13 +150,16 @@ func Run(opts *config.CAInjectorConfiguration, ctx context.Context) error {
|
||||
cainjector.CustomResourceDefinitionName: opts.EnableInjectableConfig.CustomResourceDefinitions,
|
||||
},
|
||||
}
|
||||
err = cainjector.RegisterAllInjectors(gctx, mgr, setupOptions)
|
||||
|
||||
err = cainjector.RegisterAllInjectors(ctx, mgr, setupOptions)
|
||||
if err != nil {
|
||||
log.Error(err, "failed to register controllers", err)
|
||||
return err
|
||||
}
|
||||
if err = mgr.Start(gctx); err != nil {
|
||||
|
||||
if err = mgr.Start(ctx); err != nil {
|
||||
return fmt.Errorf("error running manager: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -12,7 +12,6 @@ require (
|
||||
github.com/cert-manager/cert-manager v0.0.0-00010101000000-000000000000
|
||||
github.com/spf13/cobra v1.7.0
|
||||
github.com/spf13/pflag v1.0.5
|
||||
golang.org/x/sync v0.3.0
|
||||
k8s.io/apiextensions-apiserver v0.28.1
|
||||
k8s.io/apimachinery v0.28.1
|
||||
k8s.io/client-go v0.28.1
|
||||
|
||||
@ -164,8 +164,6 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
|
||||
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
|
||||
Loading…
Reference in New Issue
Block a user