github.com/jingruilea/kubeedge@v1.2.0-beta.0.0.20200410162146-4bb8902b3879/pkg/apis/componentconfig/cloudcore/v1alpha1/default.go (about) 1 /* 2 Copyright 2019 The KubeEdge Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package v1alpha1 18 19 import ( 20 "path" 21 22 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 23 24 "github.com/kubeedge/kubeedge/common/constants" 25 metaconfig "github.com/kubeedge/kubeedge/pkg/apis/componentconfig/meta/v1alpha1" 26 ) 27 28 // NewDefaultCloudCoreConfig returns a full CloudCoreConfig object 29 func NewDefaultCloudCoreConfig() *CloudCoreConfig { 30 return &CloudCoreConfig{ 31 TypeMeta: metav1.TypeMeta{ 32 Kind: Kind, 33 APIVersion: path.Join(GroupName, APIVersion), 34 }, 35 KubeAPIConfig: &KubeAPIConfig{ 36 Master: "", 37 ContentType: constants.DefaultKubeContentType, 38 QPS: constants.DefaultKubeQPS, 39 Burst: constants.DefaultKubeBurst, 40 KubeConfig: constants.DefaultKubeConfig, 41 }, 42 Modules: &Modules{ 43 CloudHub: &CloudHub{ 44 Enable: true, 45 KeepaliveInterval: 30, 46 NodeLimit: 10, 47 TLSCAFile: constants.DefaultCAFile, 48 TLSCertFile: constants.DefaultCertFile, 49 TLSPrivateKeyFile: constants.DefaultKeyFile, 50 WriteTimeout: 30, 51 Quic: &CloudHubQUIC{ 52 Enable: false, 53 Address: "0.0.0.0", 54 Port: 10001, 55 MaxIncomingStreams: 10000, 56 }, 57 UnixSocket: &CloudHubUnixSocket{ 58 Enable: true, 59 Address: "unix:///var/lib/kubeedge/kubeedge.sock", 60 }, 61 WebSocket: &CloudHubWebSocket{ 62 Enable: true, 63 Port: 10000, 64 Address: "0.0.0.0", 65 }, 66 }, 67 EdgeController: &EdgeController{ 68 Enable: true, 69 NodeUpdateFrequency: 10, 70 Buffer: &EdgeControllerBuffer{ 71 UpdatePodStatus: constants.DefaultUpdatePodStatusBuffer, 72 UpdateNodeStatus: constants.DefaultUpdateNodeStatusBuffer, 73 QueryConfigmap: constants.DefaultQueryConfigMapBuffer, 74 QuerySecret: constants.DefaultQuerySecretBuffer, 75 QueryService: constants.DefaultQueryServiceBuffer, 76 QueryEndpoints: constants.DefaultQueryEndpointsBuffer, 77 PodEvent: constants.DefaultPodEventBuffer, 78 ConfigmapEvent: constants.DefaultConfigMapEventBuffer, 79 SecretEvent: constants.DefaultSecretEventBuffer, 80 ServiceEvent: constants.DefaultServiceEventBuffer, 81 EndpointsEvent: constants.DefaultEndpointsEventBuffer, 82 QueryPersistentVolume: constants.DefaultQueryPersistentVolumeBuffer, 83 QueryPersistentVolumeClaim: constants.DefaultQueryPersistentVolumeClaimBuffer, 84 QueryVolumeAttachment: constants.DefaultQueryVolumeAttachmentBuffer, 85 QueryNode: constants.DefaultQueryNodeBuffer, 86 UpdateNode: constants.DefaultUpdateNodeBuffer, 87 }, 88 Context: &EdgeControllerContext{ 89 SendModule: metaconfig.ModuleNameCloudHub, 90 ReceiveModule: metaconfig.ModuleNameEdgeController, 91 ResponseModule: metaconfig.ModuleNameCloudHub, 92 }, 93 Load: &EdgeControllerLoad{ 94 UpdatePodStatusWorkers: constants.DefaultUpdatePodStatusWorkers, 95 UpdateNodeStatusWorkers: constants.DefaultUpdateNodeStatusWorkers, 96 QueryConfigmapWorkers: constants.DefaultQueryConfigMapWorkers, 97 QuerySecretWorkers: constants.DefaultQuerySecretWorkers, 98 QueryServiceWorkers: constants.DefaultQueryServiceWorkers, 99 QueryEndpointsWorkers: constants.DefaultQueryEndpointsWorkers, 100 QueryPersistentVolumeWorkers: constants.DefaultQueryPersistentVolumeWorkers, 101 QueryPersistentVolumeClaimWorkers: constants.DefaultQueryPersistentVolumeClaimWorkers, 102 QueryVolumeAttachmentWorkers: constants.DefaultQueryVolumeAttachmentWorkers, 103 QueryNodeWorkers: constants.DefaultQueryNodeWorkers, 104 UpdateNodeWorkers: constants.DefaultUpdateNodeWorkers, 105 }, 106 }, 107 DeviceController: &DeviceController{ 108 Enable: true, 109 Context: &DeviceControllerContext{ 110 SendModule: metaconfig.ModuleNameCloudHub, 111 ReceiveModule: metaconfig.ModuleNameDeviceController, 112 ResponseModule: metaconfig.ModuleNameCloudHub, 113 }, 114 Buffer: &DeviceControllerBuffer{ 115 UpdateDeviceStatus: constants.DefaultUpdateDeviceStatusBuffer, 116 DeviceEvent: constants.DefaultDeviceEventBuffer, 117 DeviceModelEvent: constants.DefaultDeviceModelEventBuffer, 118 }, 119 Load: &DeviceControllerLoad{ 120 UpdateDeviceStatusWorkers: constants.DefaultUpdateDeviceStatusWorkers, 121 }, 122 }, 123 SyncController: &SyncController{ 124 Enable: true, 125 }, 126 }, 127 } 128 } 129 130 // NewMinCloudCoreConfig returns a min CloudCoreConfig object 131 func NewMinCloudCoreConfig() *CloudCoreConfig { 132 return &CloudCoreConfig{ 133 TypeMeta: metav1.TypeMeta{ 134 Kind: Kind, 135 APIVersion: path.Join(GroupName, APIVersion), 136 }, 137 KubeAPIConfig: &KubeAPIConfig{ 138 Master: "", 139 KubeConfig: constants.DefaultKubeConfig, 140 }, 141 Modules: &Modules{ 142 CloudHub: &CloudHub{ 143 NodeLimit: 10, 144 TLSCAFile: constants.DefaultCAFile, 145 TLSCertFile: constants.DefaultCertFile, 146 TLSPrivateKeyFile: constants.DefaultKeyFile, 147 UnixSocket: &CloudHubUnixSocket{ 148 Enable: true, 149 Address: "unix:///var/lib/kubeedge/kubeedge.sock", 150 }, 151 WebSocket: &CloudHubWebSocket{ 152 Enable: true, 153 Port: 10000, 154 Address: "0.0.0.0", 155 }, 156 }, 157 }, 158 } 159 }