Skip to content

Commit 7ed40b9

Browse files
feat: add a global flag to enable/disable PauseRollout
1 parent 3782be1 commit 7ed40b9

File tree

7 files changed

+13
-0
lines changed

7 files changed

+13
-0
lines changed

charts/function-mesh-operator/templates/controller-manager-deployment.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ spec:
6767
- --global-backend-config-namespace={{ .Values.controllerManager.globalBackendConfigNamespace }}
6868
- --namespaced-backend-config={{ .Values.controllerManager.namespacedBackendConfig }}
6969
- --add-default-affinity={{ .Values.controllerManager.addDefaultAffinity }}
70+
- --pause-rollout={{ .Values.controllerManager.pauseRollout }}
7071
env:
7172
- name: NAMESPACE
7273
valueFrom:

charts/function-mesh-operator/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ controllerManager:
7575
globalBackendConfigNamespace: default
7676
namespacedBackendConfig: backend-config
7777
addDefaultAffinity: true
78+
pauseRollout: false
7879

7980
admissionWebhook:
8081
enabled: true

config/default/manager_auth_proxy_patch.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ spec:
1616
- "--namespaced-backend-config=backend-config"
1717
- "--global-backend-config=global-backend-config"
1818
- "--global-backend-config-namespace=sn-system"
19+
- "--pause-rollout=false"
1920
ports:
2021
- containerPort: 8443
2122
name: metrics

config/manager/manager.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ spec:
3636
- --namespaced-backend-config=backend-config
3737
- --global-backend-config=global-backend-config
3838
- --global-backend-config-namespace=sn-system
39+
- --pause-rollout=false
3940
image: controller:latest
4041
name: manager
4142
resources:

controllers/spec/common.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,11 @@ func IsManaged(object metav1.Object) bool {
310310
}
311311

312312
func IsPauseRollout(object metav1.Object) bool {
313+
// the global flag
314+
if utils.PauseRollout {
315+
return true
316+
}
317+
// the annotation flag per object
313318
pauseRollout, exists := object.GetAnnotations()[AnnotationPauseRollout]
314319
return exists && pauseRollout == "true"
315320
}

main.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ func main() {
8080
var namespacedBackendConfig string
8181
var secureMetrics bool
8282
var addDefaultAffinity bool
83+
var pauseRollout bool
8384
flag.StringVar(&metricsAddr, "metrics-addr", lookupEnvOrString("METRICS_ADDR", ":8443"),
8485
"The address the metric endpoint binds to.")
8586
flag.StringVar(&leaderElectionID, "leader-election-id",
@@ -115,6 +116,7 @@ func main() {
115116
" Use --metrics-secure=false to use HTTP instead.")
116117
flag.BoolVar(&addDefaultAffinity, "add-default-affinity", lookupEnvOrBool("ADD_DEFAULT_AFFINITY", true), "If set, the generated pod will add one default podAntiAffinity:"+
117118
" make pods prefer not be scheduled on the same node (soft rule).")
119+
flag.BoolVar(&pauseRollout, "pause-rollout", lookupEnvOrBool("PAUSE_ROLLOUT", false), "If set, the controller will not rollout the function/sink/source when its spec is not updated.")
118120
flag.Parse()
119121

120122
ctrl.SetLogger(zap.New(zap.UseDevMode(true)))
@@ -123,6 +125,7 @@ func main() {
123125
utils.GlobalBackendConfigNamespace = globalBackendConfigNamespace
124126
utils.NamespacedBackendConfig = namespacedBackendConfig
125127
utils.AddDefaultAffinity = addDefaultAffinity
128+
utils.PauseRollout = pauseRollout
126129

127130
// enable pprof
128131
if enablePprof {

utils/configs.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ var GlobalBackendConfig = ""
2323
var GlobalBackendConfigNamespace = "default"
2424
var NamespacedBackendConfig = ""
2525
var AddDefaultAffinity = true
26+
var PauseRollout = false

0 commit comments

Comments
 (0)