mirror of
https://github.com/rancher/norman.git
synced 2025-09-17 07:40:10 +00:00
Update template to use no change update env var
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user