dashboard-shell-shell 3.0.5-test.2 → 3.0.5-test.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icons/iconfont.css +4 -1
- package/assets/images/pl/dark/logo.png +0 -0
- package/assets/styles/all.scss +3 -1
- package/assets/styles/base/_variables.scss +5 -5
- package/assets/styles/global/_button.scss +8 -8
- package/assets/styles/global/_select.scss +1 -1
- package/assets/styles/global/_tooltip.scss +9 -5
- package/assets/styles/themes/_light.scss +3 -1
- package/assets/styles/vendor/vue-select.scss +2 -1
- package/assets/translations/zh-hans.yaml +140 -11
- package/components/ActionDropdown.vue +1 -1
- package/components/ButtonDropdown.vue +3 -1
- package/components/CodeMirror.vue +6 -4
- package/components/ContainerResourceLimit.vue +2 -2
- package/components/CopyToClipboard.vue +15 -0
- package/components/Drawer/Chrome.vue +2 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +30 -27
- package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
- package/components/Drawer/ResourceDetailDrawer/index.vue +5 -4
- package/components/ExplorerMembers.vue +28 -4
- package/components/GlobalRoleBindings.vue +48 -112
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +1 -3
- package/components/Resource/Detail/Metadata/KeyValue.vue +8 -4
- package/components/Resource/Detail/Metadata/index.vue +3 -1
- package/components/Resource/Detail/TitleBar/Title.vue +4 -3
- package/components/Resource/Detail/TitleBar/Top.vue +2 -0
- package/components/Resource/Detail/TitleBar/composables.ts +16 -1
- package/components/Resource/Detail/TitleBar/index.vue +113 -25
- package/components/ResourceDetail/Masthead/index.vue +1 -1
- package/components/ResourceDetail/Masthead/latest.vue +1 -1
- package/components/ResourceDetail/Masthead/legacy.vue +236 -165
- package/components/ResourceDetail/legacy.vue +44 -28
- package/components/ResourceList/Masthead.vue +11 -15
- package/components/SideNav.vue +1 -1
- package/components/SortableTable/index.vue +9 -4
- package/components/Tabbed/index.vue +6 -1
- package/components/auth/Principal.vue +42 -13
- package/components/auth/RoleDetailEdit.vue +11 -7
- package/components/breadcrumb/index.vue +124 -0
- package/components/form/ArrayList.vue +164 -147
- package/components/form/ArrayListGrouped.vue +3 -1
- package/components/form/ChangePassword.vue +1 -1
- package/components/form/Command.vue +4 -5
- package/components/form/Footer.vue +1 -0
- package/components/form/HealthCheck.vue +0 -2
- package/components/form/HookOption.vue +87 -58
- package/components/form/InputWithSelect.vue +8 -7
- package/components/form/KeyValue.vue +20 -2
- package/components/form/LabeledSelect.vue +6 -3
- package/components/form/Labels.vue +2 -2
- package/components/form/MatchExpressions.vue +3 -4
- package/components/form/Members/ClusterMembershipEditor.vue +1 -1
- package/components/form/Members/ClusterPermissionsEditor.vue +5 -5
- package/components/form/Members/MembershipEditor.vue +2 -2
- package/components/form/NameNsDescription.vue +1 -1
- package/components/form/Networking.vue +6 -9
- package/components/form/NodeAffinity.vue +29 -28
- package/components/form/PodAffinity.vue +23 -23
- package/components/form/Probe.vue +15 -11
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +11 -9
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +36 -30
- package/components/form/ResourceSelector.vue +1 -1
- package/components/form/Security.vue +1 -3
- package/components/form/Select.vue +6 -1
- package/components/form/ServiceNameSelect.vue +2 -5
- package/components/form/ServicePorts.vue +149 -75
- package/components/form/Taints.vue +2 -1
- package/components/form/Tolerations.vue +12 -9
- package/components/form/ValueFromResource.vue +110 -96
- package/components/form/WorkloadPorts.vue +143 -123
- package/components/nav/Header.vue +3 -4
- package/components/nav/NamespaceFilter.vue +15 -21
- package/components/nav/TopLevelMenu.vue +99 -125
- package/components/nav/Type.vue +3 -3
- package/config/product/explorer.js +4 -1
- package/config/router/navigation-guards/index.js +52 -3
- package/detail/node.vue +28 -23
- package/dialog/AddCustomBadgeDialog.vue +17 -9
- package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
- package/edit/autoscaling.horizontalpodautoscaler/index.vue +3 -1
- package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
- package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
- package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
- package/edit/networking.k8s.io.ingress/Certificate.vue +7 -5
- package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
- package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
- package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
- package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -3
- package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
- package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +12 -11
- package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
- package/edit/persistentvolume/index.vue +3 -1
- package/edit/persistentvolumeclaim.vue +2 -0
- package/edit/secret/index.vue +2 -2
- package/edit/service.vue +4 -1
- package/edit/storage.k8s.io.storageclass/index.vue +10 -8
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
- package/edit/workload/Job.vue +31 -34
- package/edit/workload/Upgrading.vue +5 -5
- package/edit/workload/index.vue +21 -17
- package/edit/workload/storage/Mount.vue +1 -0
- package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
- package/edit/workload/storage/azureDisk.vue +14 -10
- package/edit/workload/storage/azureFile.vue +9 -7
- package/edit/workload/storage/csi/index.vue +6 -9
- package/edit/workload/storage/emptyDir.vue +7 -5
- package/edit/workload/storage/gcePersistentDisk.vue +9 -7
- package/edit/workload/storage/hostPath.vue +7 -5
- package/edit/workload/storage/nfs.vue +8 -6
- package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
- package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
- package/edit/workload/storage/secret.vue +9 -6
- package/edit/workload/storage/vsphereVolume.vue +11 -7
- package/initialize/app-extended.js +7 -1
- package/package.json +1 -1
- package/pages/account/index.vue +95 -115
- package/pages/auth/setup.vue +35 -16
- package/pages/c/_cluster/auth/roles/index.vue +38 -5
- package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
- package/pages/c/_cluster/explorer/tools/index.vue +6 -6
- package/pages/home.vue +3 -4
- package/pkg/tsconfig.json +9 -9
- package/pkg/vue.config.js +1 -1
- package/plugins/dashboard-store/resource-class.js +28 -27
- package/rancher-components/BadgeState/BadgeState.vue +33 -52
- package/rancher-components/Banner/Banner.vue +6 -3
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +31 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +8 -7
- package/scripts/publish-shell.sh +1 -1
- package/store/i18n.js +4 -0
- package/store/type-map.js +1 -1
- package/types/shell/index.d.ts +4 -30
- package/utils/error.js +3 -1
- package/utils/errorTranslate.json +247 -2
- package/vue.config.js +1 -1
|
@@ -298,7 +298,7 @@ export default {
|
|
|
298
298
|
:label="t('persistentVolume.customize.label')"
|
|
299
299
|
:weight="0"
|
|
300
300
|
>
|
|
301
|
-
<div class="row
|
|
301
|
+
<div class="row">
|
|
302
302
|
<div class="col span-6">
|
|
303
303
|
<h3>{{ t('persistentVolume.customize.accessModes.label') }}</h3>
|
|
304
304
|
<div>
|
|
@@ -323,6 +323,8 @@ export default {
|
|
|
323
323
|
/>
|
|
324
324
|
</div>
|
|
325
325
|
</div>
|
|
326
|
+
</div>
|
|
327
|
+
<div class="row">
|
|
326
328
|
<div class="col span-6">
|
|
327
329
|
<ArrayList
|
|
328
330
|
v-model:value="value.spec.mountOptions"
|
package/edit/secret/index.vue
CHANGED
|
@@ -444,7 +444,7 @@ export default {
|
|
|
444
444
|
v-if="isCustomSecretCreate"
|
|
445
445
|
class="row"
|
|
446
446
|
>
|
|
447
|
-
<div class="col span-
|
|
447
|
+
<div class="col span-6">
|
|
448
448
|
<LabeledSelect
|
|
449
449
|
v-model:value="secretType"
|
|
450
450
|
:options="secretTypes"
|
|
@@ -458,7 +458,7 @@ export default {
|
|
|
458
458
|
/>
|
|
459
459
|
</div>
|
|
460
460
|
|
|
461
|
-
<div class="col span-
|
|
461
|
+
<div class="col span-6">
|
|
462
462
|
<LabeledInput
|
|
463
463
|
v-if="showCustomSecretType"
|
|
464
464
|
ref="customType"
|
package/edit/service.vue
CHANGED
|
@@ -420,7 +420,7 @@ export default {
|
|
|
420
420
|
>
|
|
421
421
|
<div
|
|
422
422
|
v-if="hasClusterIp"
|
|
423
|
-
class="row
|
|
423
|
+
class="row"
|
|
424
424
|
>
|
|
425
425
|
<div class="col span-6">
|
|
426
426
|
<LabeledInput
|
|
@@ -485,6 +485,7 @@ export default {
|
|
|
485
485
|
:tooltip="t('servicesPage.affinity.helpText')"
|
|
486
486
|
>
|
|
487
487
|
<div class="row session-affinity">
|
|
488
|
+
<div style="min-width: 160px;padding-top: 3px;">会话保持</div>
|
|
488
489
|
<div class="col span-6">
|
|
489
490
|
<RadioGroup
|
|
490
491
|
v-model:value="value.spec.sessionAffinity"
|
|
@@ -495,6 +496,8 @@ export default {
|
|
|
495
496
|
:mode="mode"
|
|
496
497
|
/>
|
|
497
498
|
</div>
|
|
499
|
+
</div>
|
|
500
|
+
<div class="row">
|
|
498
501
|
<div
|
|
499
502
|
v-if="showAffinityTimeout"
|
|
500
503
|
class="col span-6"
|
|
@@ -224,9 +224,9 @@ export default {
|
|
|
224
224
|
:mode="modeOverride"
|
|
225
225
|
:searchable="true"
|
|
226
226
|
:taggable="true"
|
|
227
|
-
class="mb-20"
|
|
228
227
|
@update:value="updateProvisioner($event)"
|
|
229
228
|
/>
|
|
229
|
+
<div style="height: 20px;"></div>
|
|
230
230
|
<Banner
|
|
231
231
|
v-if="provisionerIsDeprecated"
|
|
232
232
|
color="warning"
|
|
@@ -259,8 +259,8 @@ export default {
|
|
|
259
259
|
:label="t('storageClass.customize.label')"
|
|
260
260
|
>
|
|
261
261
|
<div class="row mt-20">
|
|
262
|
-
<div class="
|
|
263
|
-
<div class="row
|
|
262
|
+
<div class="span-6">
|
|
263
|
+
<div class="row">
|
|
264
264
|
<div class="col span-12">
|
|
265
265
|
<RadioGroup
|
|
266
266
|
v-model:value="value.reclaimPolicy"
|
|
@@ -271,7 +271,7 @@ export default {
|
|
|
271
271
|
/>
|
|
272
272
|
</div>
|
|
273
273
|
</div>
|
|
274
|
-
<div class="row
|
|
274
|
+
<div class="row">
|
|
275
275
|
<div class="col span-12">
|
|
276
276
|
<RadioGroup
|
|
277
277
|
v-model:value="value.allowVolumeExpansion"
|
|
@@ -283,8 +283,10 @@ export default {
|
|
|
283
283
|
</div>
|
|
284
284
|
</div>
|
|
285
285
|
</div>
|
|
286
|
-
|
|
287
|
-
|
|
286
|
+
</div>
|
|
287
|
+
<div class="row">
|
|
288
|
+
<div style="display: flex;">
|
|
289
|
+
<div style="min-width: 160px;padding-top: 10px;">{{ t('storageClass.customize.mountOptions.label') }}</div>
|
|
288
290
|
<ArrayList
|
|
289
291
|
v-model:value="value.mountOptions"
|
|
290
292
|
:mode="mode"
|
|
@@ -293,8 +295,8 @@ export default {
|
|
|
293
295
|
/>
|
|
294
296
|
</div>
|
|
295
297
|
</div>
|
|
296
|
-
<div class="row">
|
|
297
|
-
<div class="col
|
|
298
|
+
<div class="row" style="margin-top: -24px;">
|
|
299
|
+
<div class="col">
|
|
298
300
|
<RadioGroup
|
|
299
301
|
v-model:value="value.volumeBindingMode"
|
|
300
302
|
name="volumeBindingMode"
|
|
@@ -104,34 +104,34 @@ export default {
|
|
|
104
104
|
</script>
|
|
105
105
|
<template>
|
|
106
106
|
<div>
|
|
107
|
-
<div class="row
|
|
108
|
-
<div class="col
|
|
107
|
+
<div class="row">
|
|
108
|
+
<div class="col">
|
|
109
109
|
<RadioGroup
|
|
110
110
|
v-model:value="value.parameters.type"
|
|
111
111
|
name="volumeType"
|
|
112
112
|
:label="t('storageClass.aws-ebs.volumeType.label')"
|
|
113
113
|
:mode="mode"
|
|
114
114
|
:options="volumeTypeOptions"
|
|
115
|
+
class="mb-20"
|
|
115
116
|
/>
|
|
116
117
|
<UnitInput
|
|
117
118
|
v-if="value.parameters.type === 'io1' || value.parameters.type === 'gp3'"
|
|
118
119
|
v-model:value="iopsPerGB"
|
|
119
|
-
class="mt-10"
|
|
120
120
|
:label="t('storageClass.aws-ebs.volumeType.provisionedIops.label')"
|
|
121
121
|
:suffix="t('storageClass.aws-ebs.volumeType.provisionedIops.suffix')"
|
|
122
122
|
:mode="mode"
|
|
123
123
|
/>
|
|
124
|
-
<
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
:placeholder="t('storageClass.aws-ebs.filesystemType.placeholder')"
|
|
128
|
-
:label="t('storageClass.aws-ebs.filesystemType.label')"
|
|
129
|
-
:mode="mode"
|
|
124
|
+
<div v-if="value.parameters.type === 'io1' || value.parameters.type === 'gp3'" style="height: 24px;"></div>
|
|
125
|
+
<LabeledInput
|
|
126
|
+
v-model:value="value.parameters.fsType"
|
|
127
|
+
:placeholder="t('storageClass.aws-ebs.filesystemType.placeholder')"
|
|
128
|
+
:label="t('storageClass.aws-ebs.filesystemType.label')"
|
|
129
|
+
:mode="mode"
|
|
130
130
|
/>
|
|
131
131
|
</div>
|
|
132
132
|
</div>
|
|
133
|
-
<div class="row
|
|
134
|
-
<div class="col
|
|
133
|
+
<div class="row">
|
|
134
|
+
<div class="col">
|
|
135
135
|
<RadioGroup
|
|
136
136
|
v-model:value="availabilityZone"
|
|
137
137
|
name="availabilityZone"
|
|
@@ -139,17 +139,20 @@ export default {
|
|
|
139
139
|
:mode="mode"
|
|
140
140
|
:options="availabilityZoneOptions"
|
|
141
141
|
/>
|
|
142
|
-
<
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
142
|
+
<div style="display: flex;">
|
|
143
|
+
<div style="width: 160px;"></div>
|
|
144
|
+
<LabeledInput
|
|
145
|
+
v-if="availabilityZone === 'manual'"
|
|
146
|
+
v-model:value="value.parameters.zones"
|
|
147
|
+
class="mt-10"
|
|
148
|
+
:placeholder="t('storageClass.aws-ebs.availabilityZone.placeholder')"
|
|
149
|
+
:mode="mode"
|
|
150
|
+
/>
|
|
151
|
+
</div>
|
|
149
152
|
</div>
|
|
150
153
|
</div>
|
|
151
154
|
<div class="row">
|
|
152
|
-
<div class="col
|
|
155
|
+
<div class="col">
|
|
153
156
|
<RadioGroup
|
|
154
157
|
v-model:value="value.parameters.encrypted"
|
|
155
158
|
name="encryption"
|
|
@@ -158,22 +161,26 @@ export default {
|
|
|
158
161
|
:options="encryptionOptions"
|
|
159
162
|
/>
|
|
160
163
|
</div>
|
|
161
|
-
|
|
164
|
+
</div>
|
|
165
|
+
<div class="row">
|
|
166
|
+
<div class="col">
|
|
162
167
|
<RadioGroup
|
|
163
168
|
v-if="value.parameters.encrypted === 'true'"
|
|
164
169
|
v-model:value="keyId"
|
|
165
|
-
class="mt-10"
|
|
166
170
|
name="keyId"
|
|
167
171
|
:label="t('storageClass.aws-ebs.keyId.label')"
|
|
168
172
|
:mode="mode"
|
|
169
173
|
:options="keyIdOptions"
|
|
170
174
|
/>
|
|
171
|
-
<
|
|
172
|
-
v-if="keyId === 'manual'"
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
<div class="row">
|
|
176
|
+
<div v-if="keyId === 'manual'" style="min-width: 160px;"></div>
|
|
177
|
+
<LabeledInput
|
|
178
|
+
v-if="keyId === 'manual'"
|
|
179
|
+
v-model:value="value.parameters.kmsKeyId"
|
|
180
|
+
class="mt-10"
|
|
181
|
+
:mode="mode"
|
|
182
|
+
/>
|
|
183
|
+
</div>
|
|
177
184
|
</div>
|
|
178
185
|
</div>
|
|
179
186
|
</div>
|
|
@@ -68,7 +68,7 @@ export default {
|
|
|
68
68
|
</script>
|
|
69
69
|
<template>
|
|
70
70
|
<div>
|
|
71
|
-
<div class="row
|
|
71
|
+
<div class="row">
|
|
72
72
|
<div class="col span-6">
|
|
73
73
|
<RadioGroup
|
|
74
74
|
v-model:value="value.parameters.type"
|
|
@@ -77,14 +77,16 @@ export default {
|
|
|
77
77
|
:mode="mode"
|
|
78
78
|
:options="volumeTypeOptions"
|
|
79
79
|
/>
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
:placeholder="t('storageClass.gce-pd.filesystemType.placeholder')"
|
|
84
|
-
:label="t('storageClass.gce-pd.filesystemType.label')"
|
|
85
|
-
:mode="mode"
|
|
80
|
+
<div style="height: 24px;"></div>
|
|
81
|
+
<LabeledInput
|
|
82
|
+
v-model:value="value.parameters.fsType"
|
|
83
|
+
:placeholder="t('storageClass.gce-pd.filesystemType.placeholder')"
|
|
84
|
+
:label="t('storageClass.gce-pd.filesystemType.label')"
|
|
85
|
+
:mode="mode"
|
|
86
86
|
/>
|
|
87
87
|
</div>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="row">
|
|
88
90
|
<div class="col span-6">
|
|
89
91
|
<RadioGroup
|
|
90
92
|
v-model:value="availabilityZone"
|
|
@@ -93,12 +95,12 @@ export default {
|
|
|
93
95
|
:mode="mode"
|
|
94
96
|
:options="availabilityZoneOptions"
|
|
95
97
|
/>
|
|
96
|
-
<LabeledInput
|
|
97
|
-
v-if="availabilityZone === 'manual'"
|
|
98
|
-
v-model:value="value.parameters.zones"
|
|
99
|
-
class="mt-10"
|
|
100
|
-
:placeholder="t('storageClass.gce-pd.availabilityZone.placeholder')"
|
|
101
|
-
:mode="mode"
|
|
98
|
+
<LabeledInput
|
|
99
|
+
v-if="availabilityZone === 'manual'"
|
|
100
|
+
v-model:value="value.parameters.zones"
|
|
101
|
+
class="mt-10"
|
|
102
|
+
:placeholder="t('storageClass.gce-pd.availabilityZone.placeholder')"
|
|
103
|
+
:mode="mode"
|
|
102
104
|
/>
|
|
103
105
|
</div>
|
|
104
106
|
</div>
|
|
@@ -41,55 +41,57 @@ export default {
|
|
|
41
41
|
</script>
|
|
42
42
|
<template>
|
|
43
43
|
<div>
|
|
44
|
-
<div class="row
|
|
45
|
-
<div class="col span-
|
|
46
|
-
<LabeledSelect
|
|
47
|
-
v-model:value="value.parameters.diskformat"
|
|
48
|
-
:options="diskFormatOptions"
|
|
49
|
-
:label="t('storageClass.vsphere-volume.diskFormat.label')"
|
|
50
|
-
:mode="mode"
|
|
51
|
-
/>
|
|
52
|
-
</div>
|
|
53
|
-
<div class="col span-4">
|
|
54
|
-
<LabeledInput
|
|
55
|
-
v-model:value="value.parameters.storagePolicyName"
|
|
56
|
-
:placeholder="t('storageClass.vsphere-volume.storagePolicyName.placeholder')"
|
|
57
|
-
:label="t('storageClass.vsphere-volume.storagePolicyName.label')"
|
|
58
|
-
:mode="mode"
|
|
44
|
+
<div class="row">
|
|
45
|
+
<div class="col span-6">
|
|
46
|
+
<LabeledSelect
|
|
47
|
+
v-model:value="value.parameters.diskformat"
|
|
48
|
+
:options="diskFormatOptions"
|
|
49
|
+
:label="t('storageClass.vsphere-volume.diskFormat.label')"
|
|
50
|
+
:mode="mode"
|
|
59
51
|
/>
|
|
60
52
|
</div>
|
|
61
|
-
<div class="col span-
|
|
62
|
-
<LabeledInput
|
|
63
|
-
v-model:value="value.parameters.
|
|
64
|
-
:placeholder="t('storageClass.vsphere-volume.
|
|
65
|
-
:label="t('storageClass.vsphere-volume.
|
|
66
|
-
:mode="mode"
|
|
53
|
+
<div class="col span-6">
|
|
54
|
+
<LabeledInput
|
|
55
|
+
v-model:value="value.parameters.storagePolicyName"
|
|
56
|
+
:placeholder="t('storageClass.vsphere-volume.storagePolicyName.placeholder')"
|
|
57
|
+
:label="t('storageClass.vsphere-volume.storagePolicyName.label')"
|
|
58
|
+
:mode="mode"
|
|
67
59
|
/>
|
|
68
60
|
</div>
|
|
69
61
|
</div>
|
|
70
62
|
<div class="row">
|
|
71
|
-
<div class="col span-
|
|
72
|
-
<LabeledInput
|
|
73
|
-
v-model:value="value.parameters.
|
|
74
|
-
:placeholder="t('storageClass.vsphere-volume.
|
|
75
|
-
:label="t('storageClass.vsphere-volume.
|
|
76
|
-
:mode="mode"
|
|
63
|
+
<div class="col span-6">
|
|
64
|
+
<LabeledInput
|
|
65
|
+
v-model:value="value.parameters.datastore"
|
|
66
|
+
:placeholder="t('storageClass.vsphere-volume.datastore.placeholder')"
|
|
67
|
+
:label="t('storageClass.vsphere-volume.datastore.label')"
|
|
68
|
+
:mode="mode"
|
|
77
69
|
/>
|
|
78
70
|
</div>
|
|
79
|
-
<div class="col span-
|
|
80
|
-
<LabeledInput
|
|
81
|
-
v-model:value="value.parameters.
|
|
82
|
-
:placeholder="t('storageClass.vsphere-volume.
|
|
83
|
-
:label="t('storageClass.vsphere-volume.
|
|
84
|
-
:mode="mode"
|
|
71
|
+
<div class="col span-6">
|
|
72
|
+
<LabeledInput
|
|
73
|
+
v-model:value="value.parameters.hostFailuresToTolerate"
|
|
74
|
+
:placeholder="t('storageClass.vsphere-volume.hostFailuresToTolerate.placeholder')"
|
|
75
|
+
:label="t('storageClass.vsphere-volume.hostFailuresToTolerate.label')"
|
|
76
|
+
:mode="mode"
|
|
77
|
+
/>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
<div class="row">
|
|
81
|
+
<div class="col span-6">
|
|
82
|
+
<LabeledInput
|
|
83
|
+
v-model:value="value.parameters.cachereservation"
|
|
84
|
+
:placeholder="t('storageClass.vsphere-volume.cacheReservation.placeholder')"
|
|
85
|
+
:label="t('storageClass.vsphere-volume.cacheReservation.label')"
|
|
86
|
+
:mode="mode"
|
|
85
87
|
/>
|
|
86
88
|
</div>
|
|
87
|
-
<div class="col span-
|
|
88
|
-
<LabeledInput
|
|
89
|
-
v-model:value="value.parameters.fstype"
|
|
90
|
-
:placeholder="t('storageClass.vsphere-volume.filesystemType.placeholder')"
|
|
91
|
-
:label="t('storageClass.vsphere-volume.filesystemType.label')"
|
|
92
|
-
:mode="mode"
|
|
89
|
+
<div class="col span-6">
|
|
90
|
+
<LabeledInput
|
|
91
|
+
v-model:value="value.parameters.fstype"
|
|
92
|
+
:placeholder="t('storageClass.vsphere-volume.filesystemType.placeholder')"
|
|
93
|
+
:label="t('storageClass.vsphere-volume.filesystemType.label')"
|
|
94
|
+
:mode="mode"
|
|
93
95
|
/>
|
|
94
96
|
</div>
|
|
95
97
|
</div>
|
package/edit/workload/Job.vue
CHANGED
|
@@ -150,7 +150,7 @@ export default {
|
|
|
150
150
|
|
|
151
151
|
<template>
|
|
152
152
|
<form>
|
|
153
|
-
<div class="row
|
|
153
|
+
<div class="row">
|
|
154
154
|
<div
|
|
155
155
|
data-testid="input-job-completions"
|
|
156
156
|
class="col span-6"
|
|
@@ -178,7 +178,7 @@ export default {
|
|
|
178
178
|
/>
|
|
179
179
|
</div>
|
|
180
180
|
</div>
|
|
181
|
-
<div class="row
|
|
181
|
+
<div class="row">
|
|
182
182
|
<div
|
|
183
183
|
data-testid="input-job-backoffLimit"
|
|
184
184
|
class="col span-6"
|
|
@@ -208,7 +208,7 @@ export default {
|
|
|
208
208
|
</div>
|
|
209
209
|
|
|
210
210
|
<template v-if="isCronJob">
|
|
211
|
-
<div class="row
|
|
211
|
+
<div class="row ">
|
|
212
212
|
<div
|
|
213
213
|
data-testid="input-job-successful"
|
|
214
214
|
class="col span-6"
|
|
@@ -234,7 +234,7 @@ export default {
|
|
|
234
234
|
/>
|
|
235
235
|
</div>
|
|
236
236
|
</div>
|
|
237
|
-
<div class="row
|
|
237
|
+
<div class="row">
|
|
238
238
|
<div
|
|
239
239
|
data-testid="input-job-startingDeadlineSeconds"
|
|
240
240
|
class="col span-6"
|
|
@@ -274,36 +274,33 @@ export default {
|
|
|
274
274
|
</UnitInput>
|
|
275
275
|
</div>
|
|
276
276
|
</div>
|
|
277
|
-
<div
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
@update:value="update"
|
|
305
|
-
/>
|
|
306
|
-
</div>
|
|
277
|
+
<div
|
|
278
|
+
data-testid="input-job-concurrencyPolicy"
|
|
279
|
+
class="col span-8"
|
|
280
|
+
>
|
|
281
|
+
<RadioGroup
|
|
282
|
+
v-model:value="concurrencyPolicy"
|
|
283
|
+
:mode="mode"
|
|
284
|
+
:label="t('workload.upgrading.concurrencyPolicy.label')"
|
|
285
|
+
name="concurrency"
|
|
286
|
+
:options="['Allow', 'Forbid', 'Replace']"
|
|
287
|
+
:labels="[t('workload.upgrading.concurrencyPolicy.options.allow'), t('workload.upgrading.concurrencyPolicy.options.forbid'), t('workload.upgrading.concurrencyPolicy.options.replace')]"
|
|
288
|
+
@update:value="update"
|
|
289
|
+
/>
|
|
290
|
+
</div>
|
|
291
|
+
<div
|
|
292
|
+
data-testid="input-job-suspend"
|
|
293
|
+
class="col span-8"
|
|
294
|
+
>
|
|
295
|
+
<RadioGroup
|
|
296
|
+
v-model:value="suspend"
|
|
297
|
+
:mode="mode"
|
|
298
|
+
:label="t('workload.job.suspend')"
|
|
299
|
+
name="suspend"
|
|
300
|
+
:options="[true, false]"
|
|
301
|
+
:labels="['Yes', 'No']"
|
|
302
|
+
@update:value="update"
|
|
303
|
+
/>
|
|
307
304
|
</div>
|
|
308
305
|
</template>
|
|
309
306
|
<div
|
|
@@ -223,7 +223,7 @@ export default {
|
|
|
223
223
|
<!--workload spec.upgradeStrategy -->
|
|
224
224
|
<div
|
|
225
225
|
v-if="strategyOptions && !noDeploymentSpec"
|
|
226
|
-
class="row
|
|
226
|
+
class="row"
|
|
227
227
|
>
|
|
228
228
|
<div
|
|
229
229
|
class="col"
|
|
@@ -241,7 +241,7 @@ export default {
|
|
|
241
241
|
</div>
|
|
242
242
|
<div
|
|
243
243
|
v-if="isStatefulSet && !noDeploymentSpec"
|
|
244
|
-
class="row
|
|
244
|
+
class="row"
|
|
245
245
|
>
|
|
246
246
|
<div
|
|
247
247
|
class="col span-6"
|
|
@@ -252,7 +252,7 @@ export default {
|
|
|
252
252
|
name="podManagement"
|
|
253
253
|
:mode="mode"
|
|
254
254
|
:label="t('workload.upgrading.podManagementPolicy.label')"
|
|
255
|
-
:options="['OrderedReady', 'Parallel']"
|
|
255
|
+
:options="['OrderedReady (顺序就绪模式)', 'Parallel (并行模式)']"
|
|
256
256
|
@update:value="update"
|
|
257
257
|
/>
|
|
258
258
|
</div>
|
|
@@ -260,7 +260,7 @@ export default {
|
|
|
260
260
|
<template v-if="strategy === 'RollingUpdate' && !noDeploymentSpec">
|
|
261
261
|
<div
|
|
262
262
|
v-if="isDeployment || isDaemonSet"
|
|
263
|
-
class="row
|
|
263
|
+
class="row"
|
|
264
264
|
data-testid="input-policy-surge"
|
|
265
265
|
>
|
|
266
266
|
<div
|
|
@@ -299,7 +299,7 @@ export default {
|
|
|
299
299
|
<!-- workload spec -->
|
|
300
300
|
<div
|
|
301
301
|
v-if="!noDeploymentSpec"
|
|
302
|
-
class="row
|
|
302
|
+
class="row"
|
|
303
303
|
>
|
|
304
304
|
<div
|
|
305
305
|
v-if="!isStatefulSet"
|
package/edit/workload/index.vue
CHANGED
|
@@ -108,7 +108,7 @@ export default {
|
|
|
108
108
|
>
|
|
109
109
|
<div
|
|
110
110
|
v-if="isCronJob"
|
|
111
|
-
class="col span-
|
|
111
|
+
class="col span-6"
|
|
112
112
|
>
|
|
113
113
|
<LabeledInput
|
|
114
114
|
v-model:value="spec.schedule"
|
|
@@ -122,7 +122,7 @@ export default {
|
|
|
122
122
|
</div>
|
|
123
123
|
<div
|
|
124
124
|
v-if="isReplicable"
|
|
125
|
-
class="col span-
|
|
125
|
+
class="col span-6"
|
|
126
126
|
>
|
|
127
127
|
<LabeledInput
|
|
128
128
|
v-model:value.number="spec.replicas"
|
|
@@ -135,7 +135,7 @@ export default {
|
|
|
135
135
|
</div>
|
|
136
136
|
<div
|
|
137
137
|
v-if="isStatefulSet"
|
|
138
|
-
class="col span-
|
|
138
|
+
class="col span-6"
|
|
139
139
|
>
|
|
140
140
|
<LabeledSelect
|
|
141
141
|
v-model:value="spec.serviceName"
|
|
@@ -186,6 +186,7 @@ export default {
|
|
|
186
186
|
type="button"
|
|
187
187
|
class="btn-sm role-link"
|
|
188
188
|
@click="removeContainer(tab)"
|
|
189
|
+
style="min-width: auto;padding-left: 0;"
|
|
189
190
|
>
|
|
190
191
|
{{ t('workload.container.removeContainer') }}
|
|
191
192
|
</button>
|
|
@@ -193,7 +194,7 @@ export default {
|
|
|
193
194
|
<div>
|
|
194
195
|
<div
|
|
195
196
|
:style="{'align-items':'center'}"
|
|
196
|
-
class="row
|
|
197
|
+
class="row"
|
|
197
198
|
>
|
|
198
199
|
<div class="col span-6">
|
|
199
200
|
<LabeledInput
|
|
@@ -213,8 +214,8 @@ export default {
|
|
|
213
214
|
/>
|
|
214
215
|
</div>
|
|
215
216
|
</div>
|
|
216
|
-
<h3>{{ t('workload.container.titles.image') }}</h3>
|
|
217
|
-
<div class="row
|
|
217
|
+
<h3 class="mt-20">{{ t('workload.container.titles.image') }}</h3>
|
|
218
|
+
<div class="row">
|
|
218
219
|
<div class="col span-6">
|
|
219
220
|
<LabeledInput
|
|
220
221
|
v-model:value.trim="allContainers[i].image"
|
|
@@ -250,9 +251,8 @@ export default {
|
|
|
250
251
|
</div>
|
|
251
252
|
</div>
|
|
252
253
|
</div>
|
|
253
|
-
<div class="spacer" />
|
|
254
254
|
<div>
|
|
255
|
-
<h3>
|
|
255
|
+
<h3 class="mt-20">
|
|
256
256
|
{{ t('workload.container.ports.expose') }}
|
|
257
257
|
<i
|
|
258
258
|
v-clean-tooltip="{content: t('workload.container.ports.toolTip'), triggers: ['hover', 'touch', 'focus'] }"
|
|
@@ -274,8 +274,7 @@ export default {
|
|
|
274
274
|
/>
|
|
275
275
|
</div>
|
|
276
276
|
</div>
|
|
277
|
-
<div class="
|
|
278
|
-
<div>
|
|
277
|
+
<div class="mt-40">
|
|
279
278
|
<h3>{{ t('workload.container.titles.command') }}</h3>
|
|
280
279
|
<Command
|
|
281
280
|
v-model:value="allContainers[i]"
|
|
@@ -295,8 +294,7 @@ export default {
|
|
|
295
294
|
:loading="isLoadingSecondaryResources"
|
|
296
295
|
@update:value="updateServiceAccount"
|
|
297
296
|
/>
|
|
298
|
-
<div class="
|
|
299
|
-
<div>
|
|
297
|
+
<div class="mt-40">
|
|
300
298
|
<h3>{{ t('workload.container.titles.lifecycle') }}</h3>
|
|
301
299
|
<LifecycleHooks
|
|
302
300
|
v-model:value="allContainers[i].lifecycle"
|
|
@@ -449,8 +447,7 @@ export default {
|
|
|
449
447
|
</div>
|
|
450
448
|
</div>
|
|
451
449
|
|
|
452
|
-
<div>
|
|
453
|
-
<div class="spacer" />
|
|
450
|
+
<div class="mt-40">
|
|
454
451
|
<h3 class="mb-10">
|
|
455
452
|
<t k="workload.scheduling.titles.priority" />
|
|
456
453
|
</h3>
|
|
@@ -563,7 +560,7 @@ export default {
|
|
|
563
560
|
>
|
|
564
561
|
<div>
|
|
565
562
|
<h3>{{ t('workload.container.titles.podLabels') }}</h3>
|
|
566
|
-
<div class="row
|
|
563
|
+
<div class="row">
|
|
567
564
|
<KeyValue
|
|
568
565
|
key="labels"
|
|
569
566
|
v-model:value="podLabels"
|
|
@@ -573,8 +570,7 @@ export default {
|
|
|
573
570
|
:protip="false"
|
|
574
571
|
/>
|
|
575
572
|
</div>
|
|
576
|
-
<
|
|
577
|
-
<h3>{{ t('workload.container.titles.podAnnotations') }}</h3>
|
|
573
|
+
<h3 class="mt-40">{{ t('workload.container.titles.podAnnotations') }}</h3>
|
|
578
574
|
<div class="row">
|
|
579
575
|
<KeyValue
|
|
580
576
|
key="annotations"
|
|
@@ -666,8 +662,16 @@ export default {
|
|
|
666
662
|
border-bottom: 1px solid var(--border);
|
|
667
663
|
margin-bottom: 20px;
|
|
668
664
|
}
|
|
665
|
+
|
|
666
|
+
> .tab-container{
|
|
667
|
+
border: none !important;
|
|
668
|
+
}
|
|
669
669
|
}
|
|
670
670
|
.padded {
|
|
671
671
|
padding-bottom: 10px;
|
|
672
672
|
}
|
|
673
|
+
|
|
674
|
+
H3{
|
|
675
|
+
font-size: 14px;
|
|
676
|
+
}
|
|
673
677
|
</style>
|