BUGFIX: cainjector leaderelection defaults were missing

Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
This commit is contained in:
Tim Ramlot 2024-03-05 19:21:35 +01:00
parent fd551160b1
commit 620d6ff679
No known key found for this signature in database
GPG Key ID: 47428728E0C2878D
2 changed files with 34 additions and 0 deletions

View File

@ -17,6 +17,8 @@ limitations under the License.
package v1alpha1
import (
time "time"
"k8s.io/apimachinery/pkg/runtime"
logsapi "k8s.io/component-base/logs/api/v1"
"k8s.io/utils/ptr"
@ -24,6 +26,14 @@ import (
"github.com/cert-manager/cert-manager/pkg/apis/config/cainjector/v1alpha1"
)
var (
defaultLeaderElect = true
defaultLeaderElectionNamespace = "kube-system"
defaultLeaderElectionLeaseDuration = 60 * time.Second
defaultLeaderElectionRenewDeadline = 40 * time.Second
defaultLeaderElectionRetryPeriod = 15 * time.Second
)
func addDefaultingFuncs(scheme *runtime.Scheme) error {
return RegisterDefaults(scheme)
}
@ -36,6 +46,29 @@ func SetDefaults_CAInjectorConfiguration(obj *v1alpha1.CAInjectorConfiguration)
logsapi.SetRecommendedLoggingConfiguration(&obj.Logging)
}
func SetDefaults_LeaderElectionConfig(obj *v1alpha1.LeaderElectionConfig) {
if obj.Enabled == nil {
obj.Enabled = &defaultLeaderElect
}
if obj.Namespace == "" {
obj.Namespace = defaultLeaderElectionNamespace
}
// TODO: Does it make sense to have a duration of 0?
if obj.LeaseDuration == time.Duration(0) {
obj.LeaseDuration = defaultLeaderElectionLeaseDuration
}
if obj.RenewDeadline == time.Duration(0) {
obj.RenewDeadline = defaultLeaderElectionRenewDeadline
}
if obj.RetryPeriod == time.Duration(0) {
obj.RetryPeriod = defaultLeaderElectionRetryPeriod
}
}
func SetDefaults_EnableDataSourceConfig(obj *v1alpha1.EnableDataSourceConfig) {
if obj.Certificates == nil {
obj.Certificates = ptr.To(true)

View File

@ -38,6 +38,7 @@ func RegisterDefaults(scheme *runtime.Scheme) error {
func SetObjectDefaults_CAInjectorConfiguration(in *v1alpha1.CAInjectorConfiguration) {
SetDefaults_CAInjectorConfiguration(in)
SetDefaults_LeaderElectionConfig(&in.LeaderElectionConfig)
SetDefaults_EnableDataSourceConfig(&in.EnableDataSourceConfig)
SetDefaults_EnableInjectableConfig(&in.EnableInjectableConfig)
}