1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- Copyright 2017 The Kubernetes Authors.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- package leaderelectionconfig
- import (
- "github.com/spf13/pflag"
- componentbaseconfig "k8s.io/component-base/config"
- )
- // BindFlags binds the LeaderElectionConfiguration struct fields to a flagset
- func BindFlags(l *componentbaseconfig.LeaderElectionConfiguration, fs *pflag.FlagSet) {
- fs.BoolVar(&l.LeaderElect, "leader-elect", l.LeaderElect, ""+
- "Start a leader election client and gain leadership before "+
- "executing the main loop. Enable this when running replicated "+
- "components for high availability.")
- fs.DurationVar(&l.LeaseDuration.Duration, "leader-elect-lease-duration", l.LeaseDuration.Duration, ""+
- "The duration that non-leader candidates will wait after observing a leadership "+
- "renewal until attempting to acquire leadership of a led but unrenewed leader "+
- "slot. This is effectively the maximum duration that a leader can be stopped "+
- "before it is replaced by another candidate. This is only applicable if leader "+
- "election is enabled.")
- fs.DurationVar(&l.RenewDeadline.Duration, "leader-elect-renew-deadline", l.RenewDeadline.Duration, ""+
- "The interval between attempts by the acting master to renew a leadership slot "+
- "before it stops leading. This must be less than or equal to the lease duration. "+
- "This is only applicable if leader election is enabled.")
- fs.DurationVar(&l.RetryPeriod.Duration, "leader-elect-retry-period", l.RetryPeriod.Duration, ""+
- "The duration the clients should wait between attempting acquisition and renewal "+
- "of a leadership. This is only applicable if leader election is enabled.")
- fs.StringVar(&l.ResourceLock, "leader-elect-resource-lock", l.ResourceLock, ""+
- "The type of resource object that is used for locking during "+
- "leader election. Supported options are `endpoints` (default) and `configmaps`.")
- fs.StringVar(&l.ResourceName, "leader-elect-resource-name", l.ResourceName, ""+
- "The name of resource object that is used for locking during "+
- "leader election.")
- fs.StringVar(&l.ResourceNamespace, "leader-elect-resource-namespace", l.ResourceNamespace, ""+
- "The namespace of resource object that is used for locking during "+
- "leader election.")
- }
|