@rancher/shell 0.1.21 → 0.2.1
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/styles/global/_button.scss +1 -0
- package/assets/translations/en-us.yaml +48 -6
- package/assets/translations/zh-hans.yaml +18 -0
- package/components/HarvesterServiceAddOnConfig.vue +10 -10
- package/components/ResourceList/index.vue +34 -14
- package/components/ResourceTable.vue +19 -0
- package/components/SortableTable/THead.vue +311 -70
- package/components/SortableTable/advanced-filtering.js +272 -0
- package/components/SortableTable/filtering.js +90 -29
- package/components/SortableTable/index.vue +474 -271
- package/components/form/WorkloadPorts.vue +2 -2
- package/config/product/settings.js +1 -0
- package/config/product/uiplugins.js +1 -0
- package/config/uiplugins.js +13 -0
- package/creators/app/init +2 -2
- package/creators/app/package.json +1 -1
- package/creators/pkg/package.json +1 -1
- package/detail/provisioning.cattle.io.cluster.vue +1 -1
- package/edit/provisioning.cattle.io.cluster/ACE.vue +2 -1
- package/edit/provisioning.cattle.io.cluster/DrainOptions.vue +0 -1
- package/edit/provisioning.cattle.io.cluster/rke2.vue +25 -24
- package/edit/service.vue +1 -1
- package/models/management.cattle.io.cluster.js +9 -1
- package/package.json +1 -1
- package/pages/c/_cluster/apps/charts/install.vue +119 -31
- package/pages/c/_cluster/uiplugins/InstallDialog.vue +1 -1
- package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +5 -2
- package/pages/c/_cluster/uiplugins/UninstallDialog.vue +1 -1
- package/pages/c/_cluster/uiplugins/index.vue +48 -11
- package/promptRemove/mixin/roleDeletionCheck.js +15 -1
- package/scripts/record-deps.js +3 -3
- package/store/type-map.js +2 -0
|
@@ -752,8 +752,6 @@ backupRestoreOperator:
|
|
|
752
752
|
useDefault: Use the default storage location configured during installation
|
|
753
753
|
targetBackup: Target Backup
|
|
754
754
|
|
|
755
|
-
|
|
756
|
-
|
|
757
755
|
catalog:
|
|
758
756
|
app:
|
|
759
757
|
managed: Managed
|
|
@@ -767,6 +765,13 @@ catalog:
|
|
|
767
765
|
busy: The related resources will appear when {app} is fully installed.
|
|
768
766
|
values: Values YAML
|
|
769
767
|
chart:
|
|
768
|
+
registry:
|
|
769
|
+
label: Container Registry
|
|
770
|
+
tooltip: Container images are pulled from the Cluster Container or, failing that, the System Container Registry Setting. To change this default behavior enter or update the registry here
|
|
771
|
+
custom:
|
|
772
|
+
checkBoxLabel: Container Registry for Rancher System Container Images
|
|
773
|
+
inputLabel: Container Registry
|
|
774
|
+
placeholder: Registry domain and ports, ex. registry.io:5000
|
|
770
775
|
header:
|
|
771
776
|
charts: Charts
|
|
772
777
|
info:
|
|
@@ -1566,6 +1571,9 @@ cluster:
|
|
|
1566
1571
|
label: Roles
|
|
1567
1572
|
labels:
|
|
1568
1573
|
label: Kubernetes Node Labels
|
|
1574
|
+
noAccessBanner: "You do not have access to see this machine pool's configuration."
|
|
1575
|
+
configNotFound: "We could not find this machine pool's configuration. We recommend that you create a new cluster with the desired configuration."
|
|
1576
|
+
noPoolsDisclaimer: You do not have any machine pools defined, click the plus to add one.
|
|
1569
1577
|
autoReplace:
|
|
1570
1578
|
label: Auto Replace
|
|
1571
1579
|
toolTip: If greater than 0, nodes that are unreachable for this duration will be automatically deleted and replaced.
|
|
@@ -1581,10 +1589,10 @@ cluster:
|
|
|
1581
1589
|
noResults: No results found
|
|
1582
1590
|
privateRegistry:
|
|
1583
1591
|
systemDefaultRegistry:
|
|
1584
|
-
label: Registry hostname for
|
|
1592
|
+
label: Registry hostname for Rancher System Container Images
|
|
1585
1593
|
mode:
|
|
1586
|
-
public: Use default global registry for
|
|
1587
|
-
private: Use specified private registry for
|
|
1594
|
+
public: Use default global registry for Rancher System Container Images
|
|
1595
|
+
private: Use specified private registry for Rancher System Container Images
|
|
1588
1596
|
advanced: Configure advanced containerd mirroring and registry authentication options
|
|
1589
1597
|
provider:
|
|
1590
1598
|
aliyunecs: Aliyun ECS
|
|
@@ -1642,6 +1650,7 @@ cluster:
|
|
|
1642
1650
|
upcloud: UpCloud
|
|
1643
1651
|
vmwarevsphere: VMware vSphere
|
|
1644
1652
|
zstack: ZStack
|
|
1653
|
+
machineinventoryselectortemplate: Elemental Cluster
|
|
1645
1654
|
providerTag:
|
|
1646
1655
|
rke2:
|
|
1647
1656
|
harvester: '{tag}'
|
|
@@ -3677,6 +3686,7 @@ plugins:
|
|
|
3677
3686
|
descriptions:
|
|
3678
3687
|
experimental: This Extension is marked as experimental
|
|
3679
3688
|
third-party: This Extension is provided by a Third-Party
|
|
3689
|
+
built-in: This Extension is built-in
|
|
3680
3690
|
error:
|
|
3681
3691
|
title: Error loading extension
|
|
3682
3692
|
message: Could not load extension code
|
|
@@ -3707,6 +3717,7 @@ plugins:
|
|
|
3707
3717
|
updates: No updates available for installed Extensions
|
|
3708
3718
|
loadError: An error occurred loading the code for this extension
|
|
3709
3719
|
helmError: "An error occurred installing the extension via Helm"
|
|
3720
|
+
manageRepos: Manage Repositories
|
|
3710
3721
|
tabs:
|
|
3711
3722
|
all: All
|
|
3712
3723
|
available: Available
|
|
@@ -4246,8 +4257,10 @@ resourceTable:
|
|
|
4246
4257
|
namespace: Group by Namespace
|
|
4247
4258
|
project: Group by Project
|
|
4248
4259
|
node: Group by Node
|
|
4260
|
+
cluster: Group by Cluster
|
|
4249
4261
|
groupLabel:
|
|
4250
4262
|
cluster: "<span>Cluster:</span> {name}"
|
|
4263
|
+
notInACluster: Not in a Cluster
|
|
4251
4264
|
namespace: "<span>Namespace:</span> {name}"
|
|
4252
4265
|
notInAMachinePool: "Not In A Deployment"
|
|
4253
4266
|
machinePool: "<span>Pool:</span> {name}"
|
|
@@ -4437,6 +4450,24 @@ servicesPage:
|
|
|
4437
4450
|
placeholder: e.g. my.database.example.com
|
|
4438
4451
|
input:
|
|
4439
4452
|
label: DNS Name
|
|
4453
|
+
harvester:
|
|
4454
|
+
title: Add-on Config
|
|
4455
|
+
ipam:
|
|
4456
|
+
label: IPAM
|
|
4457
|
+
healthCheckPort:
|
|
4458
|
+
label: Health Check Port
|
|
4459
|
+
healthCheckSuccessThreshold:
|
|
4460
|
+
label: Health Check Success Threshold
|
|
4461
|
+
description: If the number of times the prober continuously detects an address successfully reaches the success threshold, then the backend server can start to forward traffic.
|
|
4462
|
+
healthCheckFailureThreshold:
|
|
4463
|
+
label: Health Check Failure Threshold
|
|
4464
|
+
description: The backend server will stop forwarding traffic if the number of health check failures reaches the failure threshold.
|
|
4465
|
+
healthCheckPeriod:
|
|
4466
|
+
label: Health Check Period
|
|
4467
|
+
healthCheckTimeout:
|
|
4468
|
+
label: Health Check Timeout
|
|
4469
|
+
healthCheckEnabled:
|
|
4470
|
+
label: Health Check
|
|
4440
4471
|
ips:
|
|
4441
4472
|
define: Service Ports
|
|
4442
4473
|
clusterIpHelpText: The Cluster IP address must be within the CIDR range configured for the API server.
|
|
@@ -4537,6 +4568,16 @@ sortableTable:
|
|
|
4537
4568
|
=1 {{count} {count, plural, =1 {{singularLabel}} other {{pluralLabel}}}}
|
|
4538
4569
|
other {{from} - {to} of {count} {pluralLabel}}}
|
|
4539
4570
|
search: Filter
|
|
4571
|
+
in: in
|
|
4572
|
+
addFilter: Add Filter
|
|
4573
|
+
filterFor: Filter for...
|
|
4574
|
+
selectCol: Select a column
|
|
4575
|
+
resetFilters: Reset
|
|
4576
|
+
add: Add
|
|
4577
|
+
tableHeader:
|
|
4578
|
+
noFilter: This column cannot be filtered by
|
|
4579
|
+
groupBy: Group by
|
|
4580
|
+
show: Show
|
|
4540
4581
|
|
|
4541
4582
|
storageClass:
|
|
4542
4583
|
actions:
|
|
@@ -4843,6 +4884,7 @@ tableHeaders:
|
|
|
4843
4884
|
clusterCreatorDefault: Cluster Creator Default
|
|
4844
4885
|
clusterFlow: Cluster Flow
|
|
4845
4886
|
clusterOutput: Cluster Output
|
|
4887
|
+
cluster: Cluster
|
|
4846
4888
|
clusters: Clusters
|
|
4847
4889
|
clustersReady: Clusters Ready
|
|
4848
4890
|
clusterGroups: Cluster Groups
|
|
@@ -6459,4 +6501,4 @@ auth:
|
|
|
6459
6501
|
label: Auth Provider
|
|
6460
6502
|
vncConsole:
|
|
6461
6503
|
error:
|
|
6462
|
-
message: Web VNC console connection is disconnected
|
|
6504
|
+
message: Web VNC console connection is disconnected
|
|
@@ -4312,6 +4312,24 @@ servicesPage:
|
|
|
4312
4312
|
placeholder: 例如:my.database.example.com
|
|
4313
4313
|
input:
|
|
4314
4314
|
label: DNS 名称
|
|
4315
|
+
harvester:
|
|
4316
|
+
title: 附加配置
|
|
4317
|
+
ipam:
|
|
4318
|
+
label: IPAM
|
|
4319
|
+
healthCheckPort:
|
|
4320
|
+
label: 健康检查端口
|
|
4321
|
+
healthCheckSuccessThreshold:
|
|
4322
|
+
label: 健康检查成功阙值
|
|
4323
|
+
description: 如果探针连续检测到某个地址的成功次数达到成功阈值,后端服务器就可以开始转发流量。
|
|
4324
|
+
healthCheckFailureThreshold:
|
|
4325
|
+
label: 健康检查失败阈值
|
|
4326
|
+
description: 如果健康检查失败的数量达到失败阈值,后端服务器将停止转发流量。
|
|
4327
|
+
healthCheckPeriod:
|
|
4328
|
+
label: 健康检查周期
|
|
4329
|
+
healthCheckTimeout:
|
|
4330
|
+
label: 健康检查超时
|
|
4331
|
+
healthCheckEnabled:
|
|
4332
|
+
label: 健康检查
|
|
4315
4333
|
ips:
|
|
4316
4334
|
define: 服务端口
|
|
4317
4335
|
clusterIpHelpText: 集群 IP 地址必须在为 API server 配置的 CIDR 范围内。
|
|
@@ -100,7 +100,7 @@ export default {
|
|
|
100
100
|
const errors = [];
|
|
101
101
|
|
|
102
102
|
if (this.healthCheckEnabled && !this.healthcheckPort) {
|
|
103
|
-
errors.push(this.t('validation.required', { key: this.t('harvester.
|
|
103
|
+
errors.push(this.t('validation.required', { key: this.t('servicesPage.harvester.healthCheckPort.label') }, true));
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
if (errors.length > 0) {
|
|
@@ -131,7 +131,7 @@ export default {
|
|
|
131
131
|
v-model="ipam"
|
|
132
132
|
:mode="mode"
|
|
133
133
|
:options="ipamOptions"
|
|
134
|
-
:label="t('harvester.
|
|
134
|
+
:label="t('servicesPage.harvester.ipam.label')"
|
|
135
135
|
:disabled="mode === 'edit'"
|
|
136
136
|
/>
|
|
137
137
|
</div>
|
|
@@ -143,7 +143,7 @@ export default {
|
|
|
143
143
|
v-model="healthCheckEnabled"
|
|
144
144
|
:mode="mode"
|
|
145
145
|
name="healthCheckEnabled"
|
|
146
|
-
:label="t('harvester.
|
|
146
|
+
:label="t('servicesPage.harvester.healthCheckEnabled.label')"
|
|
147
147
|
:labels="[t('generic.disabled'),t('generic.enabled')]"
|
|
148
148
|
:options="[false, true]"
|
|
149
149
|
/>
|
|
@@ -157,7 +157,7 @@ export default {
|
|
|
157
157
|
:mode="mode"
|
|
158
158
|
:options="portOptions"
|
|
159
159
|
required
|
|
160
|
-
:label="t('harvester.
|
|
160
|
+
:label="t('servicesPage.harvester.healthCheckPort.label')"
|
|
161
161
|
/>
|
|
162
162
|
</div>
|
|
163
163
|
<div class="col span-6">
|
|
@@ -165,8 +165,8 @@ export default {
|
|
|
165
165
|
v-model="healthCheckSuccessThreshold"
|
|
166
166
|
:mode="mode"
|
|
167
167
|
type="number"
|
|
168
|
-
:label="t('harvester.
|
|
169
|
-
:tooltip="t('harvester.
|
|
168
|
+
:label="t('servicesPage.harvester.healthCheckSuccessThreshold.label')"
|
|
169
|
+
:tooltip="t('servicesPage.harvester.healthCheckSuccessThreshold.description')"
|
|
170
170
|
/>
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
@@ -176,8 +176,8 @@ export default {
|
|
|
176
176
|
v-model="healthCheckFailureThreshold"
|
|
177
177
|
:mode="mode"
|
|
178
178
|
type="number"
|
|
179
|
-
:label="t('harvester.
|
|
180
|
-
:tooltip="t('harvester.
|
|
179
|
+
:label="t('servicesPage.harvester.healthCheckFailureThreshold.label')"
|
|
180
|
+
:tooltip="t('servicesPage.harvester.healthCheckFailureThreshold.description')"
|
|
181
181
|
/>
|
|
182
182
|
</div>
|
|
183
183
|
<div class="col span-6">
|
|
@@ -185,7 +185,7 @@ export default {
|
|
|
185
185
|
v-model="healthCheckPeriod"
|
|
186
186
|
:mode="mode"
|
|
187
187
|
type="number"
|
|
188
|
-
:label="t('harvester.
|
|
188
|
+
:label="t('servicesPage.harvester.healthCheckPeriod.label')"
|
|
189
189
|
/>
|
|
190
190
|
</div>
|
|
191
191
|
</div>
|
|
@@ -195,7 +195,7 @@ export default {
|
|
|
195
195
|
v-model="healthCheckTimeout"
|
|
196
196
|
:mode="mode"
|
|
197
197
|
type="number"
|
|
198
|
-
:label="t('harvester.
|
|
198
|
+
:label="t('servicesPage.harvester.healthCheckTimeout.label')"
|
|
199
199
|
/>
|
|
200
200
|
</div>
|
|
201
201
|
</div>
|
|
@@ -14,6 +14,20 @@ export default {
|
|
|
14
14
|
},
|
|
15
15
|
mixins: [ResourceFetch],
|
|
16
16
|
|
|
17
|
+
props: {
|
|
18
|
+
hasAdvancedFiltering: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
advFilterHideLabelsAsCols: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: false
|
|
25
|
+
},
|
|
26
|
+
advFilterPreventFilteringLabels: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: false
|
|
29
|
+
},
|
|
30
|
+
},
|
|
17
31
|
async fetch() {
|
|
18
32
|
const store = this.$store;
|
|
19
33
|
const resource = this.resource;
|
|
@@ -134,6 +148,9 @@ export default {
|
|
|
134
148
|
:load-resources="loadResources"
|
|
135
149
|
:load-indeterminate="loadIndeterminate"
|
|
136
150
|
>
|
|
151
|
+
<template slot="extraActions">
|
|
152
|
+
<slot name="extraActions"></slot>
|
|
153
|
+
</template>
|
|
137
154
|
</Masthead>
|
|
138
155
|
<div v-if="hasListComponent">
|
|
139
156
|
<component
|
|
@@ -150,21 +167,24 @@ export default {
|
|
|
150
167
|
:loading="loading"
|
|
151
168
|
:headers="headers"
|
|
152
169
|
:group-by="groupBy"
|
|
170
|
+
:has-advanced-filtering="hasAdvancedFiltering"
|
|
171
|
+
:adv-filter-hide-labels-as-cols="advFilterHideLabelsAsCols"
|
|
172
|
+
:adv-filter-prevent-filtering-labels="advFilterPreventFilteringLabels"
|
|
153
173
|
/>
|
|
154
174
|
</div>
|
|
155
175
|
</template>
|
|
156
176
|
|
|
157
|
-
<style lang="scss" scoped>
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
</style>
|
|
177
|
+
<style lang="scss" scoped>
|
|
178
|
+
.header {
|
|
179
|
+
position: relative;
|
|
180
|
+
}
|
|
181
|
+
H2 {
|
|
182
|
+
position: relative;
|
|
183
|
+
margin: 0 0 20px 0;
|
|
184
|
+
}
|
|
185
|
+
.right-action {
|
|
186
|
+
position: absolute;
|
|
187
|
+
top: 10px;
|
|
188
|
+
right: 10px;
|
|
189
|
+
}
|
|
190
|
+
</style>
|
|
@@ -122,6 +122,18 @@ export default {
|
|
|
122
122
|
type: Boolean,
|
|
123
123
|
default: false
|
|
124
124
|
},
|
|
125
|
+
hasAdvancedFiltering: {
|
|
126
|
+
type: Boolean,
|
|
127
|
+
default: false
|
|
128
|
+
},
|
|
129
|
+
advFilterHideLabelsAsCols: {
|
|
130
|
+
type: Boolean,
|
|
131
|
+
default: false
|
|
132
|
+
},
|
|
133
|
+
advFilterPreventFilteringLabels: {
|
|
134
|
+
type: Boolean,
|
|
135
|
+
default: false
|
|
136
|
+
},
|
|
125
137
|
},
|
|
126
138
|
|
|
127
139
|
data() {
|
|
@@ -357,6 +369,7 @@ export default {
|
|
|
357
369
|
handleActionButtonClick(event) {
|
|
358
370
|
this.$emit('clickedActionButton', event);
|
|
359
371
|
}
|
|
372
|
+
|
|
360
373
|
}
|
|
361
374
|
};
|
|
362
375
|
</script>
|
|
@@ -369,6 +382,8 @@ export default {
|
|
|
369
382
|
:rows="filteredRows"
|
|
370
383
|
:loading="loading"
|
|
371
384
|
:group-by="computedGroupBy"
|
|
385
|
+
:group="group"
|
|
386
|
+
:group-options="groupOptions"
|
|
372
387
|
:search="search"
|
|
373
388
|
:paging="true"
|
|
374
389
|
:paging-params="pagingParams"
|
|
@@ -378,9 +393,13 @@ export default {
|
|
|
378
393
|
:overflow-x="overflowX"
|
|
379
394
|
:overflow-y="overflowY"
|
|
380
395
|
:get-custom-detail-link="getCustomDetailLink"
|
|
396
|
+
:has-advanced-filtering="hasAdvancedFiltering"
|
|
397
|
+
:adv-filter-hide-labels-as-cols="advFilterHideLabelsAsCols"
|
|
398
|
+
:adv-filter-prevent-filtering-labels="advFilterPreventFilteringLabels"
|
|
381
399
|
key-field="_key"
|
|
382
400
|
:sort-generation-fn="safeSortGenerationFn"
|
|
383
401
|
@clickedActionButton="handleActionButtonClick"
|
|
402
|
+
@group-value-change="group = $event"
|
|
384
403
|
v-on="$listeners"
|
|
385
404
|
>
|
|
386
405
|
<template v-if="showGrouping" #header-middle>
|