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:
@@ -2,6 +2,7 @@ package generator
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
|
||||||
@@ -9,6 +10,10 @@ import (
|
|||||||
"github.com/rancher/norman/types/convert"
|
"github.com/rancher/norman/types/convert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
managementContextType = "mgmt"
|
||||||
|
)
|
||||||
|
|
||||||
func funcs() template.FuncMap {
|
func funcs() template.FuncMap {
|
||||||
return template.FuncMap{
|
return template.FuncMap{
|
||||||
"capitalize": convert.Capitalize,
|
"capitalize": convert.Capitalize,
|
||||||
@@ -53,3 +58,21 @@ func getCollectionOutput(output, codeName string) string {
|
|||||||
}
|
}
|
||||||
return convert.Capitalize(output)
|
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/client"
|
||||||
"github.com/rancher/lasso/pkg/controller"
|
"github.com/rancher/lasso/pkg/controller"
|
||||||
"github.com/rancher/norman/objectclient"
|
"github.com/rancher/norman/objectclient"
|
||||||
|
"github.com/rancher/norman/generator"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/client-go/rest"
|
"k8s.io/client-go/rest"
|
||||||
{{.importPackage}}
|
{{.importPackage}}
|
||||||
@@ -26,7 +27,10 @@ func NewForConfig(cfg rest.Config) (Interface, error) {
|
|||||||
if err := {{.prefix}}AddToScheme(scheme); err != nil {
|
if err := {{.prefix}}AddToScheme(scheme); err != nil {
|
||||||
return nil, err
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user