-
Notifications
You must be signed in to change notification settings - Fork 518
/
component_types.go
66 lines (51 loc) · 2.15 KB
/
component_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
/*
Copyright 2022 The KubeSphere 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 v1beta1
// Component is optional configuration for modifying the FTP server.
type Component struct {
// ZONE is the zone of the KKCluster where can get the binaries.
// If you have problem to access https://storage.googleapis.com, you can set "zone: cn".
// +optional
ZONE string `json:"zone,omitempty"`
// Host is the host to download the binaries.
// +optional
Host string `json:"host,omitempty"`
// Overrides is a list of components download information that need to be overridden.
// +optional
Overrides []Override `json:"overrides,omitempty"`
}
// Override is a component download information that need to be overridden.
type Override struct {
// ID is the component id name. e.g. kubeadm, kubelet, containerd, etc.
ID string `json:"id,omitempty"`
// Arch is the component arch. e.g. amd64, arm64, etc.
Arch string `json:"arch,omitempty"`
// Version is the component version. e.g. v1.21.1, v1.22.0, etc.
Version string `json:"version,omitempty"`
// URL is the download url of the binaries.
URL string `json:"url,omitempty"`
// Path defines the URL path, which is the string of information that comes after the top level domain name.
Path string `json:"path,omitempty"`
// Checksum is the SHA256 checksum of the binary.
// +optional
Checksum Checksum `json:"checksum,omitempty"`
}
// Checksum is the SHA256 checksum of the binary.
type Checksum struct {
// Value is the checksum string value.
// +optional
Value string `json:"value,omitempty"`
// Path defines the URL path, which is the path of the checksum file.
// +optional
Path string `json:"path,omitempty"`
}