-
Notifications
You must be signed in to change notification settings - Fork 39.2k
/
types.go
84 lines (61 loc) · 2.71 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*
Copyright 2019 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 output
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
bootstraptokenv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// BootstrapToken represents information for the bootstrap token output produced by kubeadm
type BootstrapToken struct {
metav1.TypeMeta
bootstraptokenv1.BootstrapToken
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// Images represents information for the output produced by 'kubeadm config images list'
type Images struct {
metav1.TypeMeta
Images []string
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ComponentUpgradePlan represents information about upgrade plan for one component
type ComponentUpgradePlan struct {
metav1.TypeMeta
Name string
CurrentVersion string
NewVersion string
}
// ComponentConfigVersionState describes the current and desired version of a component config
type ComponentConfigVersionState struct {
// Group points to the Kubernetes API group that covers the config
Group string
// CurrentVersion is the currently active component config version
// NOTE: This can be empty in case the config was not found on the cluster or it was unsupported
// kubeadm generated version
CurrentVersion string
// PreferredVersion is the component config version that is currently preferred by kubeadm for use.
// NOTE: As of today, this is the only version supported by kubeadm.
PreferredVersion string
// ManualUpgradeRequired indicates if users need to manually upgrade their component config versions. This happens if
// the CurrentVersion of the config is user supplied (or modified) and no longer supported. Users should upgrade
// their component configs to PreferredVersion or any other supported component config version.
ManualUpgradeRequired bool
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// UpgradePlan represents information about upgrade plan for the output
// produced by 'kubeadm upgrade plan'
type UpgradePlan struct {
metav1.TypeMeta
Components []ComponentUpgradePlan
ConfigVersions []ComponentConfigVersionState
}