@rancher/shell 0.3.4 → 0.3.6

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.
Files changed (289) hide show
  1. package/assets/images/providers/outscale.svg +19 -0
  2. package/assets/styles/app.scss +1 -1
  3. package/assets/styles/base/_basic.scss +18 -0
  4. package/assets/styles/base/_mixins.scss +0 -11
  5. package/assets/styles/base/_variables.scss +2 -4
  6. package/assets/styles/fonts/_fontstack.scss +11 -11
  7. package/assets/styles/global/_button.scss +12 -2
  8. package/assets/styles/vendor/vue-js-modal.scss +3 -3
  9. package/assets/translations/en-us.yaml +113 -22
  10. package/assets/translations/zh-hans.yaml +113 -24
  11. package/babel.config.js +13 -0
  12. package/chart/gatekeeper.vue +78 -0
  13. package/chart/istio.vue +135 -112
  14. package/chart/logging/index.vue +13 -4
  15. package/chart/monitoring/index.vue +15 -5
  16. package/chart/monitoring/steps/uninstall-v1.vue +2 -2
  17. package/chart/rancher-backup/index.vue +10 -3
  18. package/cloud-credential/aws.vue +1 -1
  19. package/cloud-credential/digitalocean.vue +1 -1
  20. package/cloud-credential/gcp.vue +1 -1
  21. package/cloud-credential/generic.vue +2 -2
  22. package/cloud-credential/linode.vue +1 -1
  23. package/cloud-credential/pnap.vue +1 -1
  24. package/components/ActionMenu.vue +3 -4
  25. package/components/AssignTo.vue +1 -1
  26. package/components/AsyncButton.vue +1 -1
  27. package/components/BannerGraphic.vue +1 -1
  28. package/components/BrandImage.vue +1 -4
  29. package/components/ButtonDropdown.vue +2 -3
  30. package/components/Carousel.vue +85 -37
  31. package/components/ChartPsp.vue +76 -0
  32. package/components/CruResource.vue +6 -2
  33. package/components/DashboardMetrics.vue +12 -10
  34. package/components/DetailText.vue +1 -1
  35. package/components/DisableAuthProviderModal.vue +1 -1
  36. package/components/EmberPage.vue +1 -1
  37. package/components/EtcdInfoBanner.vue +12 -7
  38. package/components/ExplorerMembers.vue +101 -6
  39. package/components/ExplorerProjectsNamespaces.vue +46 -3
  40. package/components/FileDiff.vue +6 -7
  41. package/components/GrafanaDashboard.vue +27 -23
  42. package/components/LazyImage.vue +10 -12
  43. package/components/LogItem.vue +1 -1
  44. package/components/Markdown.vue +1 -1
  45. package/components/PromptRemove.vue +2 -2
  46. package/components/PromptRestore.vue +1 -1
  47. package/components/ResourceDetail/Masthead.vue +16 -0
  48. package/components/ResourceDetail/index.vue +21 -4
  49. package/components/ResourceList/index.vue +1 -1
  50. package/components/ResourceTable.vue +4 -1
  51. package/components/SingleClusterInfo.vue +2 -2
  52. package/components/SortableTable/THead.vue +1 -1
  53. package/components/SortableTable/index.vue +28 -13
  54. package/components/SortableTable/selection.js +58 -50
  55. package/components/Wizard.vue +4 -2
  56. package/components/__tests__/AsyncButton.test.ts +3 -1
  57. package/components/__tests__/ChartPsp.test.ts +75 -0
  58. package/components/__tests__/CruResource.test.ts +3 -1
  59. package/components/auth/Principal.vue +1 -1
  60. package/components/auth/RoleDetailEdit.vue +2 -2
  61. package/components/fleet/FleetBundles.vue +3 -1
  62. package/components/fleet/FleetClusters.vue +1 -2
  63. package/components/fleet/FleetIntro.vue +9 -1
  64. package/components/fleet/FleetNoWorkspaces.vue +62 -0
  65. package/components/fleet/FleetSummary.vue +7 -1
  66. package/components/form/HookOption.vue +14 -10
  67. package/components/form/LabeledSelect.vue +14 -11
  68. package/components/form/Labels.vue +32 -27
  69. package/components/form/MatchExpressions.vue +19 -4
  70. package/components/form/Members/ClusterPermissionsEditor.vue +32 -7
  71. package/components/form/NameNsDescription.vue +32 -46
  72. package/components/form/ProjectMemberEditor.vue +46 -21
  73. package/components/form/ResourceSelector.vue +1 -1
  74. package/components/form/SecretSelector.vue +5 -1
  75. package/components/form/ServiceNameSelect.vue +1 -1
  76. package/components/form/SimpleSecretSelector.vue +9 -9
  77. package/components/form/Tolerations.vue +4 -1
  78. package/components/form/ValueFromResource.vue +14 -9
  79. package/components/form/WorkloadPorts.vue +2 -2
  80. package/components/form/__tests__/LabeledSelect.test.ts +138 -0
  81. package/components/form/__tests__/NameNsDescription.ts +59 -0
  82. package/components/formatter/InternalExternalIP.vue +6 -0
  83. package/components/formatter/InvolvedObjectLink.vue +54 -0
  84. package/components/formatter/Link.vue +20 -4
  85. package/components/formatter/LinkName.vue +6 -1
  86. package/components/formatter/ServiceTargets.vue +1 -1
  87. package/components/formatter/WorkloadHealthScale.vue +8 -2
  88. package/components/nav/Group.vue +2 -2
  89. package/components/nav/NamespaceFilter.vue +23 -11
  90. package/components/nav/TopLevelMenu.vue +2 -4
  91. package/components/nav/Type.vue +1 -1
  92. package/components/nav/WorkspaceSwitcher.vue +46 -5
  93. package/components/nuxt/nuxt-build-indicator.vue +143 -0
  94. package/components/nuxt/nuxt-child.js +122 -0
  95. package/components/nuxt/nuxt-error.vue +98 -0
  96. package/components/nuxt/nuxt-link.client.js +98 -0
  97. package/components/nuxt/nuxt-link.server.js +16 -0
  98. package/components/nuxt/nuxt-loading.vue +154 -0
  99. package/components/nuxt/nuxt.js +101 -0
  100. package/config/labels-annotations.js +17 -0
  101. package/config/middleware.js +12 -0
  102. package/config/product/auth.js +3 -2
  103. package/config/product/explorer.js +34 -6
  104. package/config/product/fleet.js +2 -0
  105. package/config/query-params.js +1 -0
  106. package/config/router.js +414 -0
  107. package/config/store.js +181 -0
  108. package/config/table-headers.js +54 -12
  109. package/config/types.js +18 -8
  110. package/config/uiplugins.js +30 -0
  111. package/content/docs/en-us/whats-new.md +10 -0
  112. package/content/docs/zh-hans/whats-new.md +11 -1
  113. package/core/plugin-routes.ts +23 -0
  114. package/core/plugin.ts +4 -2
  115. package/core/types.ts +258 -1
  116. package/creators/app/app.package.json +2 -1
  117. package/creators/app/files/.eslintrc.js +1 -1
  118. package/creators/app/files/babel.config.js +1 -18
  119. package/creators/app/files/tsconfig.json +0 -1
  120. package/creators/app/files/vue.config.js +6 -0
  121. package/creators/app/init +5 -5
  122. package/creators/pkg/files/.github/workflows/build-extension.yml +110 -0
  123. package/creators/pkg/files/tsconfig.json +0 -1
  124. package/creators/pkg/init +35 -4
  125. package/creators/pkg/pkg.package.json +3 -3
  126. package/creators/update/init +1 -1
  127. package/detail/constraints.gatekeeper.sh.constraint.vue +34 -17
  128. package/detail/fleet.cattle.io.clustergroup.vue +7 -1
  129. package/detail/fleet.cattle.io.gitrepo.vue +19 -11
  130. package/detail/harvesterhci.io.management.cluster.vue +3 -3
  131. package/detail/provisioning.cattle.io.cluster.vue +54 -12
  132. package/detail/workload/index.vue +3 -3
  133. package/dialog/AddClusterMemberDialog.vue +1 -1
  134. package/dialog/AddProjectMemberDialog.vue +2 -2
  135. package/dialog/AddonConfigConfirmationDialog.vue +27 -15
  136. package/dialog/DiagnosticTimingsDialog.vue +1 -1
  137. package/dialog/ForceMachineRemoveDialog.vue +1 -1
  138. package/dialog/GenericPrompt.vue +18 -6
  139. package/dialog/RotateEncryptionKeyDialog.vue +1 -1
  140. package/dialog/SaveAsRKETemplateDialog.vue +1 -1
  141. package/dialog/ScaleMachineDownDialog.vue +1 -1
  142. package/edit/auth/github.vue +8 -8
  143. package/edit/auth/googleoauth.vue +5 -5
  144. package/edit/auth/ldap/index.vue +1 -1
  145. package/edit/auth/oidc.vue +1 -1
  146. package/edit/auth/saml.vue +1 -1
  147. package/edit/cis.cattle.io.clusterscan.vue +1 -1
  148. package/edit/fleet.cattle.io.clustergroup.vue +6 -4
  149. package/edit/fleet.cattle.io.gitrepo.vue +32 -4
  150. package/edit/helm.cattle.io.projecthelmchart.vue +5 -1
  151. package/edit/logging.banzaicloud.io.output/index.vue +18 -5
  152. package/edit/logging.banzaicloud.io.output/providers/loki.vue +1 -0
  153. package/edit/management.cattle.io.fleetworkspace.vue +141 -6
  154. package/edit/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +4 -1
  155. package/edit/management.cattle.io.setting.vue +1 -1
  156. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +2 -2
  157. package/edit/monitoring.coreos.com.receiver/tls.vue +18 -18
  158. package/edit/monitoring.coreos.com.receiver/types/webhook.banner.vue +4 -4
  159. package/edit/monitoring.coreos.com.receiver/types/webhook.vue +1 -1
  160. package/edit/namespace.vue +14 -10
  161. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +126 -45
  162. package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
  163. package/edit/provisioning.cattle.io.cluster/MachinePool.vue +21 -4
  164. package/edit/provisioning.cattle.io.cluster/RegistryConfigs.vue +1 -0
  165. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +202 -2
  166. package/edit/provisioning.cattle.io.cluster/import.vue +23 -25
  167. package/edit/provisioning.cattle.io.cluster/rke2.vue +344 -102
  168. package/edit/resources.cattle.io.backup.vue +1 -1
  169. package/edit/service.vue +1 -1
  170. package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +2 -2
  171. package/edit/workload/__tests__/Job.test.ts +3 -1
  172. package/edit/workload/index.vue +8 -3
  173. package/edit/workload/mixins/workload.js +22 -7
  174. package/edit/workload/storage/Mount.vue +3 -3
  175. package/initialize/App.js +206 -0
  176. package/initialize/client.js +863 -0
  177. package/initialize/index.js +364 -0
  178. package/layouts/default.vue +7 -3
  179. package/layouts/standalone.vue +13 -0
  180. package/list/catalog.cattle.io.clusterrepo.vue +1 -0
  181. package/list/fleet.cattle.io.bundle.vue +6 -3
  182. package/list/fleet.cattle.io.clusterregistrationtoken.vue +3 -1
  183. package/list/fleet.cattle.io.gitrepo.vue +44 -5
  184. package/list/management.cattle.io.fleetworkspace.vue +45 -0
  185. package/list/node.vue +69 -16
  186. package/list/provisioning.cattle.io.cluster.vue +30 -1
  187. package/list/rbac.authorization.k8s.io.clusterrolebinding.vue +48 -0
  188. package/list/workload.vue +6 -4
  189. package/machine-config/azure.vue +97 -38
  190. package/middleware/authenticated.js +34 -0
  191. package/mixins/chart.js +101 -2
  192. package/mixins/fetch.client.js +95 -0
  193. package/mixins/fetch.server.js +73 -0
  194. package/mixins/labeled-form-element.ts +2 -2
  195. package/mixins/resource-fetch.js +2 -2
  196. package/models/apps.statefulset.js +28 -0
  197. package/models/cluster/node.js +23 -2
  198. package/models/cluster.x-k8s.io.machine.js +4 -2
  199. package/models/clusterroletemplatebinding.js +7 -0
  200. package/models/constraints.gatekeeper.sh.constraint.js +46 -0
  201. package/models/fleet.cattle.io.cluster.js +19 -10
  202. package/models/fleet.cattle.io.gitrepo.js +7 -2
  203. package/models/management.cattle.io.cluster.js +1 -1
  204. package/models/management.cattle.io.fleetworkspace.js +12 -0
  205. package/models/management.cattle.io.gitreporestriction.js +5 -0
  206. package/models/management.cattle.io.podsecurityadmissionconfigurationtemplate.js +3 -0
  207. package/models/pod.js +4 -0
  208. package/models/provisioning.cattle.io.cluster.js +7 -5
  209. package/models/rbac.authorization.k8s.io.clusterrolebinding.js +16 -0
  210. package/models/rbac.authorization.k8s.io.rolebinding.js +16 -0
  211. package/package.json +13 -21
  212. package/pages/auth/setup.vue +2 -2
  213. package/pages/c/_cluster/apps/charts/__tests__/install.helper.test.ts +33 -0
  214. package/pages/c/_cluster/apps/charts/chart.vue +4 -4
  215. package/pages/c/_cluster/apps/charts/install.helpers.js +26 -0
  216. package/pages/c/_cluster/apps/charts/install.vue +98 -102
  217. package/pages/c/_cluster/explorer/EventsTable.vue +5 -19
  218. package/pages/c/_cluster/explorer/index.vue +29 -25
  219. package/pages/c/_cluster/explorer/tools/index.vue +8 -8
  220. package/pages/c/_cluster/fleet/index.vue +95 -34
  221. package/pages/c/_cluster/gatekeeper/index.vue +1 -1
  222. package/pages/c/_cluster/istio/index.vue +5 -5
  223. package/pages/c/_cluster/manager/cloudCredential/index.vue +1 -1
  224. package/pages/c/_cluster/monitoring/index.vue +7 -0
  225. package/pages/c/_cluster/uiplugins/InstallDialog.vue +8 -8
  226. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +20 -7
  227. package/pages/c/_cluster/uiplugins/index.vue +49 -17
  228. package/pages/diagnostic.vue +32 -25
  229. package/pages/home.vue +9 -4
  230. package/pages/index.vue +10 -1
  231. package/pages/rio/mesh.vue +1 -2
  232. package/pkg/tsconfig.json +0 -1
  233. package/plugins/clean-html-directive.js +34 -0
  234. package/plugins/dashboard-store/actions.js +32 -9
  235. package/plugins/dashboard-store/index.js +1 -1
  236. package/plugins/dashboard-store/mutations.js +5 -2
  237. package/plugins/dashboard-store/resource-class.js +8 -1
  238. package/plugins/plugin.js +0 -14
  239. package/plugins/portal-vue.js +4 -0
  240. package/plugins/steve/mutations.js +3 -2
  241. package/plugins/steve/steve-description-class.js +5 -1
  242. package/plugins/steve/subscribe.js +63 -54
  243. package/plugins/steve-create-worker.js +14 -0
  244. package/promptRemove/management.cattle.io.globalrole.vue +2 -2
  245. package/promptRemove/management.cattle.io.project.vue +2 -2
  246. package/promptRemove/management.cattle.io.roletemplate.vue +2 -2
  247. package/promptRemove/pod.vue +1 -1
  248. package/public/index.html +65 -0
  249. package/rancher-components/components/Banner/Banner.test.ts +7 -1
  250. package/rancher-components/components/Banner/Banner.vue +2 -1
  251. package/rancher-components/components/Form/Checkbox/Checkbox.vue +2 -0
  252. package/rancher-components/components/Form/Radio/RadioButton.test.ts +31 -0
  253. package/rancher-components/components/Form/Radio/RadioButton.vue +14 -3
  254. package/scripts/build-pkg.sh +1 -0
  255. package/scripts/clean +6 -0
  256. package/scripts/extension/bundle +58 -0
  257. package/scripts/extension/helmpatch +89 -0
  258. package/scripts/extension/publish +333 -0
  259. package/scripts/serve-pkgs +6 -2
  260. package/scripts/test-plugins-build.sh +4 -0
  261. package/store/__tests__/index.test.ts +110 -0
  262. package/store/index.js +145 -58
  263. package/store/type-map.js +6 -2
  264. package/tsconfig.default.json +36 -0
  265. package/tsconfig.json +23 -0
  266. package/types/rancher/index.d.ts +2 -0
  267. package/types/shell/index.d.ts +466 -320
  268. package/utils/__tests__/grafana.test.ts +44 -0
  269. package/utils/__tests__/string.test.ts +12 -0
  270. package/utils/auth.js +65 -0
  271. package/utils/axios.js +190 -0
  272. package/utils/cookie-universal-nuxt.js +10 -0
  273. package/utils/dom.js +15 -0
  274. package/utils/grafana.js +35 -16
  275. package/utils/monitoring.js +2 -1
  276. package/utils/nuxt.js +659 -0
  277. package/utils/position.js +5 -8
  278. package/utils/router.scrollBehavior.js +80 -0
  279. package/utils/select.js +1 -3
  280. package/utils/socket.js +1 -0
  281. package/utils/string.js +13 -0
  282. package/utils/time.js +9 -0
  283. package/vue.config.js +690 -0
  284. package/chart/rancher-alerting-drivers.vue +0 -53
  285. package/chart/rancher-gatekeeper.vue +0 -37
  286. package/creators/app/files/nuxt.config.js +0 -6
  287. package/models/management.cattle.io.podsecurityadmissionconfigurationtemplate.ts +0 -4
  288. package/nuxt.config.js +0 -798
  289. package/plugins/dashboard-store/extensions.js +0 -22
@@ -22,6 +22,7 @@ generic:
22
22
  disabled: 禁用
23
23
  done: 完成
24
24
  enabled: 启用
25
+ here: 此处
25
26
  id: ID
26
27
  ignored: 忽略
27
28
  invalidCron: 无效的 cron 调度
@@ -810,7 +811,7 @@ catalog:
810
811
  chartVersions:
811
812
  label: Chart 版本
812
813
  showMore: 显示更多
813
- showLess: 显示较少
814
+ showLess: 显示更少
814
815
  home: 首页
815
816
  maintainers: 维护者
816
817
  related: 相关
@@ -818,6 +819,10 @@ catalog:
818
819
  keywords: 关键词
819
820
  errors:
820
821
  clusterToolExists: 此 Chart 含有固定的命名空间和名称。找到一个匹配的 <a href="{url}">应用</a>,任何修改都将应用于此应用。
822
+ banner:
823
+ legacy: 'PSP 删除:在将集群升级到 Kubernetes 1.25+ 之前,请确保你针对 PSP 检查了 Helm 应用程序并相应进行更新'
824
+ enablePSP: 启用 Pod 安全策略
825
+ global: 全局
821
826
  charts:
822
827
  all: 全部
823
828
  categories:
@@ -1073,7 +1078,6 @@ cis:
1073
1078
  testID: 测试 ID
1074
1079
  testsSkipped: 已跳过的测试
1075
1080
  testsToSkip: 要跳过的测试
1076
- workerProfile: CIS 配置文件
1077
1081
 
1078
1082
  cluster:
1079
1083
  addonChart:
@@ -1268,6 +1272,7 @@ cluster:
1268
1272
  affinity:
1269
1273
  namespaces:
1270
1274
  placeholder: 例如:default,system,base
1275
+ installGuestAgent: 安装访客代理
1271
1276
  description:
1272
1277
  label: 集群描述
1273
1278
  placeholder: 输入可以描述该集群的文本
@@ -1317,8 +1322,9 @@ cluster:
1317
1322
  manageAction: 管理
1318
1323
  kubernetesVersion:
1319
1324
  label: Kubernetes 版本
1320
- experimental: 实验功能
1321
- deprecated: 已弃用
1325
+ current: (当前)
1326
+ experimental: (实验功能)
1327
+ deprecated: (已弃用)
1322
1328
  deprecatedPatches: 显示已弃用的 Kubernetes 补丁版本
1323
1329
  deprecatedPatchWarning: 建议为每个 Kubernetes 次要版本使用最新的补丁版本,已弃用的补丁版本可能对迁移有用。
1324
1330
  toolsTip: 使用新集群工具来管理和安装 Monitoring、Logging 等工具。
@@ -1350,6 +1356,10 @@ cluster:
1350
1356
  availabilityZone:
1351
1357
  label: 可用区
1352
1358
  description: 可用区用于让应用程序免受 Azure 数据中心全面故障的影响。
1359
+ publicIpAndSKUWarning: 可用区要求启用\"静态公共 IP\" 和\"为公共 IP 使用标准 SKU\"。
1360
+ publicIpWarning: 可用区要求启用\"静态公共 IP\"。
1361
+ standardSKUWarning: 可用区要求启用\"为公共 IP 使用标准 SKU\"。
1362
+ managedDisksWarning: 可用区要求启用\"托管磁盘\"。
1353
1363
  dns:
1354
1364
  help: 公共 IP 地址的唯一 DNS 标签。
1355
1365
  label: DNS 标签
@@ -1385,8 +1395,15 @@ cluster:
1385
1395
  label: 没有公共 IP
1386
1396
  staticPublicIp:
1387
1397
  label: 静态公共 IP
1398
+ standardSKU:
1399
+ label: 为公共 IP 使用标准 SKU
1388
1400
  resourceGroup:
1389
1401
  label: 资源组
1402
+ sections:
1403
+ availabilitySetConfiguration: 可用性集配置
1404
+ purchasePlan: 购买计划
1405
+ network: 网络
1406
+ disks: 磁盘
1390
1407
  size:
1391
1408
  label: 虚拟机大小
1392
1409
  tooltip: 启用加速网络后,并非所有大小都可用。
@@ -1613,11 +1630,10 @@ cluster:
1613
1630
  os: '你正在将 {newOS} worker 节点添加到具有一个或多个 {existingOS} worker 节点的集群。你可能需要升级或删除某些已安装的应用。'
1614
1631
  rke2-k3-reprovisioning: '更改集群配置可能导致节点重新配置。详情请参见 <a target="blank" href="{docsBase}/cluster-provisioning/rke-clusters/behavior-differences-between-rke1-and-rke2/" target="_blank" rel="noopener nofollow">文档</a>。'
1615
1632
  desiredNodeGroupWarning: 没有可用于运行 Cluster Agent 的节点。要让集群变为 Active 状态,至少需要有 1 个可用的节点。
1616
- invalidPsps: 你在此集群中有一个或多个 PSP 资源。Pod 安全策略将在 Kubernetes v1.25 中不可用。
1633
+ invalidPsps: 你在此集群中有一个或多个 PSP 资源。Pod 安全策略在 Kubernetes v1.25 中不可用并将自动删除。
1617
1634
  haveArgInfo: 所选 Kubernetes 版本的配置信息不可用。此屏幕中可用的选项将受到限制,你可能需要使用 YAML 编辑器。
1618
1635
  deprecatedPsp: Pod 安全策略自 Kubernetes v1.21 起已弃用,并已在 Kubernetes v1.25 中删除。
1619
- removedPsp: Pod 安全策略已在 Kubernetes v1.25 中删除,请改用 PodSecurity Admission。
1620
-
1636
+ removedPsp: Pod 安全策略已在 Kubernetes v1.25 中删除,请改用 Pod Security Admission。
1621
1637
  rkeTemplateUpgrade: 模板修订版 {name} 可用于升级
1622
1638
 
1623
1639
  availabilityWarnings:
@@ -1644,15 +1660,15 @@ cluster:
1644
1660
  tooltip:
1645
1661
  controlPlane: |-
1646
1662
  {count, plural,
1647
- =0 { 一个集群需要至少1个可用的 Control Plane 节点。}
1648
- =1 { 只有1个 Control Plane 节点的集群是不具备容错能力的。}
1663
+ =0 { 一个集群需要至少 1 个可用的 Control Plane 节点。}
1664
+ =1 { 只有 1 个 Control Plane 节点的集群是不具备容错能力的。}
1649
1665
  other {}
1650
1666
  }
1651
1667
  etcd: |-
1652
1668
  {count, plural,
1653
- =0 { 一个集群需要至少1个可用的 ETCD 节点。}
1654
- =1 { 只有1个 ETCD 节点的集群是不具备容错能力的。}
1655
- =2 { 集群的节点数需要是奇数。只有2个 ETCD 节点的集群是不具备容错能力的。}
1669
+ =0 { 一个集群需要至少 1 个可用的 ETCD 节点。}
1670
+ =1 { 只有 1 个 ETCD 节点的集群是不具备容错能力的。}
1671
+ =2 { 集群的节点数需要是奇数。只有 2 个 ETCD 节点的集群是不具备容错能力的。}
1656
1672
  =3 {}
1657
1673
  =4 { 集群的节点数需要是奇数。}
1658
1674
  =5 {}
@@ -1663,7 +1679,7 @@ cluster:
1663
1679
  worker: |-
1664
1680
  {count, plural,
1665
1681
  =0 { 一个集群需要至少 1 个可用的 Worker 节点。}
1666
- =1 { 只有1个 Worker 节点的集群是不具备容错能力的。}
1682
+ =1 { 只有 1 个 Worker 节点的集群是不具备容错能力的。}
1667
1683
  other {}
1668
1684
  }
1669
1685
  quantity:
@@ -1673,11 +1689,17 @@ cluster:
1673
1689
  label: 删除前清空
1674
1690
  role:
1675
1691
  label: 角色
1692
+ etcd: ETCD
1693
+ controlPlane: Control Plane
1694
+ worker: Worker
1676
1695
  labels:
1677
1696
  label: Kubernetes 节点标签
1678
1697
  noAccessBanner: "你没有查看此主机池配置的权限。"
1679
1698
  configNotFound: "找不到这个主机池的配置。建议你创建一个具有所需配置的新集群。"
1680
1699
  noPoolsDisclaimer: 你没有定义任何主机池,请单击加号进行添加。
1700
+ truncationPool: "已手动将此主机池的主机名截断配置为 {limit}"
1701
+ truncationCluster: "已手动将此集群的主机名截断配置为 {limit}"
1702
+
1681
1703
  autoReplace:
1682
1704
  label: 自动替换
1683
1705
  toolTip: 如果大于 0,则在此期间无法访问的节点将被自动删除和替换。
@@ -1766,6 +1788,14 @@ cluster:
1766
1788
  create-template: 使用 Catalog 模板创建集群
1767
1789
  register-custom: 导入任意 Kubernetes 集群
1768
1790
  rke2:
1791
+ banner:
1792
+ psaChange: PSACT 现在自动设置为 Rancher 默认值
1793
+ cisOverride: 更改此设置可能会影响集群安全,因为它会覆盖默认的 CIS 设置
1794
+ cisUnsupported: 所选 Kubernetes 版本不再支持 CIS 配置文件 “{cisProfile}”,请选择支持的配置文件。建议你查看<a href="https://docs.rke2.io/security/hardening_guide" target="_blank" rel="noopener noreferrer nofollow">文档</a>评估更改 CIS 配置文件的影响。
1795
+ modal:
1796
+ pspChange:
1797
+ title: 弃用 Pod 安全策略
1798
+ body: 从 v1.25 版开始,Kubernetes 已经取消了对 Pod 安全策略 (PSP) 的支持。如果你的集群通过集群 YAML 中的 “kube-apiserver-arg.enable-admission-plugins” 启用了 PodSecurityPolicy 准入控制器,你必须在继续升级之前<i>手动</i>删除它。此外,集群中存在的任何 PSP 将不再可用或强制执行。是否继续操作?
1769
1799
  snapshots:
1770
1800
  suffix: 每个节点的快照
1771
1801
  systemService:
@@ -1783,12 +1813,18 @@ cluster:
1783
1813
  label: 默认 - 嵌入 RKE2
1784
1814
  security:
1785
1815
  header: 安全
1816
+ cis:
1817
+ server: Server CIS 配置文件
1818
+ agent: CIS 配置文件
1819
+ override: 当使用 CIS 配置文件时,允许覆盖默认 PSA 配置模板
1786
1820
  defaultPodSecurityPolicyTemplateName:
1787
1821
  label: 默认 Pod 安全策略
1788
- option: RKE 默认
1822
+ option: 默认 - 嵌入 RKE2
1789
1823
  defaultPodSecurityAdmissionConfigurationTemplateName:
1790
- label: 默认 Pod 安全准入
1791
- option: (None)
1824
+ label: PSA 配置模板
1825
+ option:
1826
+ none: (None)
1827
+ default: 默认 - 嵌入 RKE2
1792
1828
  cisProfile:
1793
1829
  option: (None)
1794
1830
  enableNetworkPolicy:
@@ -1806,6 +1842,7 @@ cluster:
1806
1842
  label: 清空节点
1807
1843
  toolTip: 清空操作预先移除每个节点上的 Pod,使得升级中的节点上没有运行的工作负载。不清空的升级速度更快,造成的混乱更少,但是 Pod 仍可能根据进行中的升级进行重启。
1808
1844
  deleteEmptyDir: "默认情况下,使用 emptyDir 卷的 pod 会在升级时被删除。在 pod 生命周期中依赖于 emptyDir 持久卷的操作可能会受到影响。"
1845
+ truncateHostnames: 将主机名截断为 15 个字符来兼容 NetBIOS。
1809
1846
  address:
1810
1847
  tooltip: 创建集群后无法更改集群网络值。
1811
1848
  header: 寻址
@@ -2080,9 +2117,15 @@ fleet:
2080
2117
  empty: 默认使用仓库的根目录。要使用一个或多个不同的目录,请在这里添加。
2081
2118
  repo:
2082
2119
  label: 仓库 URL
2083
- placeholder: '例如:https://github.com/rancher/fleet-examples.git'
2120
+ placeholder: 例如 https://github.com/rancher/fleet-examples.git 或 git@github.com:rancher/fleet-examples.git
2084
2121
  addRepo: 添加仓库
2085
2122
  noRepos: 未添加任何仓库
2123
+ noWorkspaces: 没有工作空间。<br/>请在添加仓库之前创建一个工作空间
2124
+ protocolBanner: 输入指向 git 仓库的有效 HTTPS 或 SSH URL。
2125
+ resources:
2126
+ label: '资源处理'
2127
+ keepResources: 删除后保留资源
2128
+ resourceBanner: 启用时,删除 GitRepo 或 Bundle 后将保留资源,只会删除 Helm Release Secret。
2086
2129
  add:
2087
2130
  steps:
2088
2131
  repoInfo:
@@ -2133,6 +2176,7 @@ fleet:
2133
2176
  cluster: 没有可用的集群
2134
2177
  workspace:
2135
2178
  label: 工作空间
2179
+ addWorkspace: 创建工作空间
2136
2180
  clusterGroup:
2137
2181
  selector:
2138
2182
  label: 集群选择器
@@ -2153,7 +2197,14 @@ fleet:
2153
2197
  error: 错误
2154
2198
  ready: 就绪
2155
2199
  errors: 错误
2156
-
2200
+ workspaces:
2201
+ tabs:
2202
+ restrictions: 允许的目标命名空间
2203
+ timeout: 工作空间创建超时。工作空间可能已创建,建议在创建另一个工作空间之前检查工作空间页面。
2204
+ restrictions:
2205
+ addTitle: 'allowedTargetNamespaces'
2206
+ addLabel: 添加
2207
+ banner: "{count, plural, =0 { 在这里添加命名空间会创建一个 GitRepoRestriction。} other { 只有 Git Repo Restriction 的 <code>allowedTargetNamespaces</code> 在此处管理,你可以对 Git Repo Restriction 进行其他更改。} }"
2157
2208
  footer:
2158
2209
  docs: Rancher 官方文档
2159
2210
  download: 下载 CLI
@@ -2192,14 +2243,22 @@ gatekeeperConstraint:
2192
2243
  editAsYaml: 以 YAML 文件编辑
2193
2244
  title: 参数
2194
2245
  template: 模板
2246
+ enforcement:
2247
+ action: 执行动作
2195
2248
  violations:
2196
- title: 违反规定
2249
+ title: "违反规定:{total}"
2250
+ notAll: 没有显示全部 - 仅包含 {shown} 的详细信息
2197
2251
 
2198
2252
  gatekeeperIndex:
2199
2253
  poweredBy: OPA Gatekeeper
2200
2254
  unavailable: OPA Gatekeeper 不在 system-charts 应用商店中.
2201
2255
  violations: 违反规定
2202
2256
 
2257
+ gatekeeperInstall:
2258
+ auditInterval: 自动间隔
2259
+ constraintViolationsLimit: 约束违规限制
2260
+ runtimeDefaultSeccompProfile: 启用运行时默认 Seccomp 配置文件
2261
+
2203
2262
  glance:
2204
2263
  created: 创建时间
2205
2264
  cpu: CPU 使用量
@@ -2567,6 +2626,7 @@ istio:
2567
2626
  kiali: 启用 Kiali
2568
2627
  pilot: 启用 Pilot
2569
2628
  policy: 启用 Policy
2629
+ pilotRequired: 必须启用 Pilot 才能启用 Kiali
2570
2630
  poweredBy: 由 <a target="_blank" rel="noopener noreferrer nofollow" href='https://istio.io/latest/'>Istio</a> 提供支持
2571
2631
  telemetry: 启用遥测
2572
2632
  titles:
@@ -2936,6 +2996,8 @@ members:
2936
2996
  clusterMembers: 集群成员
2937
2997
  clusterAndProject: 集群和项目成员
2938
2998
  createActionLabel: 添加
2999
+ clusterMemebership: 集群成员
3000
+ projectMembership: 项目成员
2939
3001
  clusterPermissions:
2940
3002
  noDescription: 已创建用户 - 没有描述
2941
3003
  label: 集群权限
@@ -2960,6 +3022,7 @@ members:
2960
3022
  custom:
2961
3023
  label: 自定义
2962
3024
  description: 为该用户自定义角色。
3025
+ lockedRole: 该角色已锁定。
2963
3026
  localClusterWarning: "注意:这是 Rancher 用来存储数据的集群。只有管理员才应该对该集群有写权限。能够写入此集群的用户可以授权自己访问该安装的任何内容。"
2964
3027
  noRolesAssigned: 没有分配给该项目的用户。
2965
3028
 
@@ -2994,6 +3057,8 @@ monitoring:
2994
3057
  new: 创建默认配置
2995
3058
  radio:
2996
3059
  label: 配置密文
3060
+ validation:
3061
+ duplicatedReceiverName: 名称为 {name} 的接收器已存在。
2997
3062
  templates:
2998
3063
  keyLabel: 文件名称
2999
3064
  label: 模板文件
@@ -3300,6 +3365,7 @@ namespace:
3300
3365
  resourceQuotas: 资源配额
3301
3366
  project:
3302
3367
  label: 项目
3368
+ none: (None)
3303
3369
  resources: 资源
3304
3370
  enableAutoInjection: 启用 Istio 自动注入
3305
3371
  disableAutoInjection: 禁用 Istio 自动注入
@@ -3400,6 +3466,8 @@ networkpolicy:
3400
3466
  labelsAnnotations:
3401
3467
  label: 标签 & 注释
3402
3468
  rules:
3469
+ pod: Pod
3470
+ namespace: 命名空间
3403
3471
  ruleLabel: 规则 {index}
3404
3472
  addPort: 添加允许的端口
3405
3473
  type: 规则类型
@@ -3426,6 +3494,8 @@ networkpolicy:
3426
3494
  label: Pod 选择器
3427
3495
  namespaceSelector:
3428
3496
  label: 命名空间选择器
3497
+ namespaceAndPodSelector:
3498
+ label: 命名空间/Pod 选择器
3429
3499
  config:
3430
3500
  label: 配置
3431
3501
  selectors:
@@ -3442,9 +3512,21 @@ networkpolicy:
3442
3512
  matchesSome: |-
3443
3513
  {matched, plural,
3444
3514
  =0 {匹配 {total, number} 个命名空间中的 0 个}
3445
- =1 {匹配 {total, number} 命名空间中的 1 个:"{sample}"}
3515
+ =1 {匹配 {total, number} 个命名空间中的 1 个:"{sample}"}
3446
3516
  other {匹配 {total, number} 个命名空间中的 {matched, number} 个,包括 "{sample}"}
3447
3517
  }
3518
+ matchingNamespacesAndPods:
3519
+ tooltip: 指定命名空间选择器和 Pod 选择器的单条规则,用于选择特定命名空间中的特定 Pod
3520
+ matchesSome: |-
3521
+ {matchedNamespaces, plural,
3522
+ =0 { 在 0 个命名空间中(总共 {totalNamespaces, number} 个)}
3523
+ =1 { 在 1 个命名空间(总共 {totalNamespaces, number} 个)"{sampleNamespaces}" 中}
3524
+ other { 在 {matchedNamespaces, number} 个命名空间中(总共 {totalNamespaces, number} 个),包括 "{sampleNamespaces}"}
3525
+ },{matchedPods, plural,
3526
+ =0 {匹配 {totalPods, number} 个 Pod 中的 0 个 }
3527
+ =1 {匹配 {totalPods, number} 个 Pod 中的 1 个:"{samplePods}"}
3528
+ other {匹配 {totalPods, number} 个 Pod 中的 {matchedPods, number} 个,包括 "{samplePods}"}
3529
+ }
3448
3530
  node:
3449
3531
  list:
3450
3532
  pool: 池
@@ -3455,6 +3537,9 @@ node:
3455
3537
  poolDescription:
3456
3538
  noSize: 没有大小
3457
3539
  noLocation: 没有位置
3540
+ nodeLabels: 标签
3541
+ hideLabels: 显示更少
3542
+ showLabels: 显示更多
3458
3543
  detail:
3459
3544
  detailTop:
3460
3545
  containerRuntime: 容器运行时
@@ -3863,6 +3948,7 @@ podDisruptionBudget:
3863
3948
 
3864
3949
  # Rancher Extensions
3865
3950
  plugins:
3951
+ incompatibleDisclaimer: "此扩展的最新版本 ({ version }) 与当前的 Rancher 版本 ({ rancherVersion }) 不兼容。"
3866
3952
  labels:
3867
3953
  builtin: 内置角色
3868
3954
  experimental: 实验功能
@@ -3896,6 +3982,7 @@ plugins:
3896
3982
  detail: 详情
3897
3983
  versions: 版本
3898
3984
  versionError: 无法加载版本信息
3985
+ requiresVersion: "需要 Rancher {version}"
3899
3986
  empty:
3900
3987
  all: 扩展未安装或不可用
3901
3988
  available: 没有可用的扩展
@@ -3958,7 +4045,7 @@ podSecurityAdmission:
3958
4045
  name: Pod 安全准入
3959
4046
  description: 定义要用于 Pod 安全的准入控制模式
3960
4047
  banner:
3961
- modifications: '注意:在集群更新之前,修改 Pod 安全准入配置模板不会影响任何引用它的下游集群'
4048
+ modifications: '如果你更改正在使用的模板,在下次更新集群时会更新这些活动集群'
3962
4049
  labels:
3963
4050
  enforce: 执行
3964
4051
  audit: 审计
@@ -4125,6 +4212,7 @@ projectNamespaces:
4125
4212
  label: 项目/命名空间
4126
4213
  noNamespaces: 没有定义的命名空间。
4127
4214
  noProjectNoNamespaces: 所有命名空间都在一个项目中
4215
+ isIstioInjectionEnabled: 为此命名空间启用了 Istio 自动 Sidecar 注入
4128
4216
 
4129
4217
  prometheusRule:
4130
4218
  alertingRules:
@@ -4473,6 +4561,7 @@ resourceTable:
4473
4561
  namespace: 按命名空间分组
4474
4562
  project: 按项目分组
4475
4563
  node: 按节点分组
4564
+ role: 按角色分组
4476
4565
  cluster: 按集群分组
4477
4566
  groupLabel:
4478
4567
  cluster: "<span>集群:</span> {name}"
@@ -4716,8 +4805,8 @@ servicesPage:
4716
4805
  matchesSome: |-
4717
4806
  {matched, plural,
4718
4807
  =0 {与 {total, number} 个 Pod 中的 0 个匹配。如果没有创建选择器,则必须进行手动端点。}
4719
- =1 {与{total, number}个 Pod 中的1个匹配:"{sample}"}
4720
- other {与 {total, number} 个 Pod 中的 {matched, number} 个匹配,包括"{sample}"}
4808
+ =1 {与 {total, number} 个 Pod 中的 1 个匹配:"{sample}"}
4809
+ other {与 {total, number} 个 Pod 中的 {matched, number} 个匹配,包括 "{sample}"}
4721
4810
  }
4722
4811
  serviceTypes:
4723
4812
  clusterIp:
@@ -7121,7 +7210,7 @@ legacy:
7121
7210
  globalDnsProviders: 全局 DNS 提供商
7122
7211
  notifiers: Notifiers
7123
7212
  monitoring: 监控
7124
- psps: Pod 安全策略
7213
+ psps: Pod 安全策略模板
7125
7214
  secrets: 密文
7126
7215
 
7127
7216
  project:
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ presets: [
3
+ [
4
+ '@vue/cli-plugin-babel/preset',
5
+ { useBuiltIns: false }
6
+ ],
7
+ [
8
+ '@babel/preset-env',
9
+ { targets: { node: 'current' } }
10
+ ]
11
+ ],
12
+ env: { test: { presets: [['@babel/env', { targets: { node: 'current' } }]] } }
13
+ };
@@ -0,0 +1,78 @@
1
+ <script>
2
+ import UnitInput from '@shell/components/form/UnitInput';
3
+ import ChartPsp from '@shell/components/ChartPsp';
4
+ import { Checkbox } from '@components/Form/Checkbox';
5
+ import { mapGetters } from 'vuex';
6
+
7
+ export default {
8
+ components: {
9
+ UnitInput, ChartPsp, Checkbox
10
+ },
11
+ props: {
12
+ value: {
13
+ type: Object,
14
+ default: () => {
15
+ return {};
16
+ }
17
+ },
18
+ autoInstallInfo: {
19
+ type: Array,
20
+ default: () => []
21
+ }
22
+ },
23
+
24
+ computed: {
25
+ ...mapGetters(['currentCluster']),
26
+ crdValues: {
27
+ get() {
28
+ const crdInfo = this.autoInstallInfo.find(info => info.chart.name.includes('crd'));
29
+
30
+ // values are defaults from the chart; allValues are defaults + anything set on previous install if this is an update/upgrade
31
+ return crdInfo ? crdInfo.allValues : null;
32
+ },
33
+ set(values) {
34
+ const crdInfo = this.autoInstallInfo.find(info => info.chart.name.includes('crd'));
35
+
36
+ this.$set(crdInfo, 'allValues', values);
37
+ }
38
+ }
39
+ }
40
+ };
41
+ </script>
42
+ <template>
43
+ <div>
44
+ <div class="row">
45
+ <div class="col span-6">
46
+ <UnitInput
47
+ v-model="value.auditInterval"
48
+ :label="t('gatekeeperInstall.auditInterval')"
49
+ :suffix="t('suffix.seconds', {count: value.auditInterval})"
50
+ />
51
+ </div>
52
+ </div>
53
+ <div class="row mt-10">
54
+ <div class="col span-6">
55
+ <UnitInput
56
+ v-model="value.constraintViolationsLimit"
57
+ :label="t('gatekeeperInstall.constraintViolationsLimit')"
58
+ :suffix="t('gatekeeperIndex.violations')"
59
+ />
60
+ </div>
61
+ </div>
62
+
63
+ <!-- Conditionally display PSP checkbox -->
64
+ <ChartPsp
65
+ :value="value"
66
+ :cluster="currentCluster"
67
+ />
68
+
69
+ <template v-if="crdValues">
70
+ <!-- gatekeeper versions <1.0.2 do not have this option -->
71
+ <Checkbox
72
+ v-if="crdValues.enableRuntimeDefaultSeccompProfile ||crdValues.enableRuntimeDefaultSeccompProfile === false"
73
+ v-model="crdValues.enableRuntimeDefaultSeccompProfile"
74
+ :label="t('gatekeeperInstall.runtimeDefaultSeccompProfile')"
75
+ />
76
+ </template>
77
+ </div>
78
+ </template>