Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
0875ffe1
Commit
0875ffe1
authored
Jul 12, 2018
by
hangaoshuai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move apiserver Configuration to k8s.io/apiserver/pkg/apis/config
parent
e626d358
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
241 additions
and
0 deletions
+241
-0
doc.go
staging/src/k8s.io/apiserver/pkg/apis/config/doc.go
+19
-0
types.go
staging/src/k8s.io/apiserver/pkg/apis/config/types.go
+58
-0
defaults.go
...src/k8s.io/apiserver/pkg/apis/config/v1alpha1/defaults.go
+48
-0
doc.go
staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1/doc.go
+21
-0
register.go
...src/k8s.io/apiserver/pkg/apis/config/v1alpha1/register.go
+35
-0
types.go
...ng/src/k8s.io/apiserver/pkg/apis/config/v1alpha1/types.go
+60
-0
No files found.
staging/src/k8s.io/apiserver/pkg/apis/config/doc.go
0 → 100644
View file @
0875ffe1
/*
Copyright 2018 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.
*/
// +k8s:deepcopy-gen=package
package
config
// import "k8s.io/apiserver/pkg/apis/config"
staging/src/k8s.io/apiserver/pkg/apis/config/types.go
0 → 100644
View file @
0875ffe1
/*
Copyright 2018 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
config
import
(
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
)
// LeaderElectionConfiguration defines the configuration of leader election
// clients for components that can run with leader election enabled.
type
LeaderElectionConfiguration
struct
{
// leaderElect enables a leader election client to gain leadership
// before executing the main loop. Enable this when running replicated
// components for high availability.
LeaderElect
bool
// leaseDuration is 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.
LeaseDuration
metav1
.
Duration
// renewDeadline is 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.
RenewDeadline
metav1
.
Duration
// retryPeriod is the duration the clients should wait between attempting
// acquisition and renewal of a leadership. This is only applicable if
// leader election is enabled.
RetryPeriod
metav1
.
Duration
// resourceLock indicates the resource object type that will be used to lock
// during leader election cycles.
ResourceLock
string
}
// DebuggingConfiguration holds configuration for Debugging related features.
type
DebuggingConfiguration
struct
{
// enableProfiling enables profiling via web interface host:port/debug/pprof/
EnableProfiling
bool
// enableContentionProfiling enables lock contention profiling, if
// enableProfiling is true.
EnableContentionProfiling
bool
}
staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1/defaults.go
0 → 100644
View file @
0875ffe1
/*
Copyright 2018 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
v1alpha1
import
(
"time"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
kruntime
"k8s.io/apimachinery/pkg/runtime"
)
func
addDefaultingFuncs
(
scheme
*
kruntime
.
Scheme
)
error
{
return
RegisterDefaults
(
scheme
)
}
func
SetDefaults_LeaderElectionConfiguration
(
obj
*
LeaderElectionConfiguration
)
{
booltrue
:=
true
zero
:=
metav1
.
Duration
{}
if
obj
.
LeaseDuration
==
zero
{
obj
.
LeaseDuration
=
metav1
.
Duration
{
Duration
:
15
*
time
.
Second
}
}
if
obj
.
RenewDeadline
==
zero
{
obj
.
RenewDeadline
=
metav1
.
Duration
{
Duration
:
10
*
time
.
Second
}
}
if
obj
.
RetryPeriod
==
zero
{
obj
.
RetryPeriod
=
metav1
.
Duration
{
Duration
:
2
*
time
.
Second
}
}
if
obj
.
ResourceLock
==
""
{
obj
.
ResourceLock
=
EndpointsResourceLock
}
if
obj
.
LeaderElect
==
nil
{
obj
.
LeaderElect
=
&
booltrue
}
}
staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1/doc.go
0 → 100644
View file @
0875ffe1
/*
Copyright 2018 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.
*/
// +k8s:deepcopy-gen=package
// +k8s:conversion-gen=k8s.io/apiserver/pkg/apis/config
// +k8s:defaulter-gen=TypeMeta
package
v1alpha1
staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1/register.go
0 → 100644
View file @
0875ffe1
/*
Copyright 2018 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
v1alpha1
import
(
"k8s.io/apimachinery/pkg/runtime"
)
var
(
// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
SchemeBuilder
runtime
.
SchemeBuilder
localSchemeBuilder
=
&
SchemeBuilder
AddToScheme
=
localSchemeBuilder
.
AddToScheme
)
func
init
()
{
// We only register manually written functions here. The registration of the
// generated functions takes place in the generated files. The separation
// makes the code compile even when the generated files are missing.
localSchemeBuilder
.
Register
(
addDefaultingFuncs
)
}
staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1/types.go
0 → 100644
View file @
0875ffe1
/*
Copyright 2018 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
v1alpha1
import
(
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
)
const
EndpointsResourceLock
=
"endpoints"
// LeaderElectionConfiguration defines the configuration of leader election
// clients for components that can run with leader election enabled.
type
LeaderElectionConfiguration
struct
{
// leaderElect enables a leader election client to gain leadership
// before executing the main loop. Enable this when running replicated
// components for high availability.
LeaderElect
*
bool
`json:"leaderElect"`
// leaseDuration is 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.
LeaseDuration
metav1
.
Duration
`json:"leaseDuration"`
// renewDeadline is 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.
RenewDeadline
metav1
.
Duration
`json:"renewDeadline"`
// retryPeriod is the duration the clients should wait between attempting
// acquisition and renewal of a leadership. This is only applicable if
// leader election is enabled.
RetryPeriod
metav1
.
Duration
`json:"retryPeriod"`
// resourceLock indicates the resource object type that will be used to lock
// during leader election cycles.
ResourceLock
string
`json:"resourceLock"`
}
// DebuggingConfiguration holds configuration for Debugging related features.
type
DebuggingConfiguration
struct
{
// enableProfiling enables profiling via web interface host:port/debug/pprof/
EnableProfiling
bool
`json:"enableProfiling"`
// enableContentionProfiling enables lock contention profiling, if
// enableProfiling is true.
EnableContentionProfiling
bool
`json:"enableContentionProfiling"`
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment