1
0
mirror of https://github.com/rancher/norman.git synced 2025-09-17 15:49:53 +00:00

Update template to use no change update env var

This commit is contained in:
Ricardo Weir
2022-04-15 16:22:46 -07:00
parent 5a324b6fc6
commit 777953ddaf
2 changed files with 28 additions and 1 deletions

View File

@@ -2,6 +2,7 @@ package generator
import (
"net/http"
"os"
"strings"
"text/template"
@@ -9,6 +10,10 @@ import (
"github.com/rancher/norman/types/convert"
)
const (
managementContextType = "mgmt"
)
func funcs() template.FuncMap {
return template.FuncMap{
"capitalize": convert.Capitalize,
@@ -53,3 +58,21 @@ func getCollectionOutput(output, codeName string) string {
}
return convert.Capitalize(output)
}
// SyncOnlyChangedObjects check whether the CATTLE_SKIP_NO_CHANGE_UPDATE env var is
// configured to skip the update handler for events on the management context
// that do not contain a change to the object.
func SyncOnlyChangedObjects() bool {
skipNoChangeUpdate := os.Getenv("CATTLE_SYNC_ONLY_CHANGED_OBJECTS")
if skipNoChangeUpdate == "" {
return false
}
parts := strings.Split(skipNoChangeUpdate, ",")
for _, part := range parts {
if part == managementContextType {
return true
}
}
return false
}

View File

@@ -6,6 +6,7 @@ import (
"github.com/rancher/lasso/pkg/client"
"github.com/rancher/lasso/pkg/controller"
"github.com/rancher/norman/objectclient"
"github.com/rancher/norman/generator"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/rest"
{{.importPackage}}
@@ -26,7 +27,10 @@ func NewForConfig(cfg rest.Config) (Interface, error) {
if err := {{.prefix}}AddToScheme(scheme); err != nil {
return nil, err
}
controllerFactory, err := controller.NewSharedControllerFactoryFromConfig(&cfg, scheme)
sharedOpts := &controller.SharedControllerFactoryOptions{
SyncOnlyChangedObjects: generator.SyncOnlyChangedObjects(),
}
controllerFactory, err := controller.NewSharedControllerFactoryFromConfigWithOptions(&cfg, scheme, sharedOpts)
if err != nil {
return nil, err
}