@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.
- package/assets/images/providers/outscale.svg +19 -0
- package/assets/styles/app.scss +1 -1
- package/assets/styles/base/_basic.scss +18 -0
- package/assets/styles/base/_mixins.scss +0 -11
- package/assets/styles/base/_variables.scss +2 -4
- package/assets/styles/fonts/_fontstack.scss +11 -11
- package/assets/styles/global/_button.scss +12 -2
- package/assets/styles/vendor/vue-js-modal.scss +3 -3
- package/assets/translations/en-us.yaml +113 -22
- package/assets/translations/zh-hans.yaml +113 -24
- package/babel.config.js +13 -0
- package/chart/gatekeeper.vue +78 -0
- package/chart/istio.vue +135 -112
- package/chart/logging/index.vue +13 -4
- package/chart/monitoring/index.vue +15 -5
- package/chart/monitoring/steps/uninstall-v1.vue +2 -2
- package/chart/rancher-backup/index.vue +10 -3
- package/cloud-credential/aws.vue +1 -1
- package/cloud-credential/digitalocean.vue +1 -1
- package/cloud-credential/gcp.vue +1 -1
- package/cloud-credential/generic.vue +2 -2
- package/cloud-credential/linode.vue +1 -1
- package/cloud-credential/pnap.vue +1 -1
- package/components/ActionMenu.vue +3 -4
- package/components/AssignTo.vue +1 -1
- package/components/AsyncButton.vue +1 -1
- package/components/BannerGraphic.vue +1 -1
- package/components/BrandImage.vue +1 -4
- package/components/ButtonDropdown.vue +2 -3
- package/components/Carousel.vue +85 -37
- package/components/ChartPsp.vue +76 -0
- package/components/CruResource.vue +6 -2
- package/components/DashboardMetrics.vue +12 -10
- package/components/DetailText.vue +1 -1
- package/components/DisableAuthProviderModal.vue +1 -1
- package/components/EmberPage.vue +1 -1
- package/components/EtcdInfoBanner.vue +12 -7
- package/components/ExplorerMembers.vue +101 -6
- package/components/ExplorerProjectsNamespaces.vue +46 -3
- package/components/FileDiff.vue +6 -7
- package/components/GrafanaDashboard.vue +27 -23
- package/components/LazyImage.vue +10 -12
- package/components/LogItem.vue +1 -1
- package/components/Markdown.vue +1 -1
- package/components/PromptRemove.vue +2 -2
- package/components/PromptRestore.vue +1 -1
- package/components/ResourceDetail/Masthead.vue +16 -0
- package/components/ResourceDetail/index.vue +21 -4
- package/components/ResourceList/index.vue +1 -1
- package/components/ResourceTable.vue +4 -1
- package/components/SingleClusterInfo.vue +2 -2
- package/components/SortableTable/THead.vue +1 -1
- package/components/SortableTable/index.vue +28 -13
- package/components/SortableTable/selection.js +58 -50
- package/components/Wizard.vue +4 -2
- package/components/__tests__/AsyncButton.test.ts +3 -1
- package/components/__tests__/ChartPsp.test.ts +75 -0
- package/components/__tests__/CruResource.test.ts +3 -1
- package/components/auth/Principal.vue +1 -1
- package/components/auth/RoleDetailEdit.vue +2 -2
- package/components/fleet/FleetBundles.vue +3 -1
- package/components/fleet/FleetClusters.vue +1 -2
- package/components/fleet/FleetIntro.vue +9 -1
- package/components/fleet/FleetNoWorkspaces.vue +62 -0
- package/components/fleet/FleetSummary.vue +7 -1
- package/components/form/HookOption.vue +14 -10
- package/components/form/LabeledSelect.vue +14 -11
- package/components/form/Labels.vue +32 -27
- package/components/form/MatchExpressions.vue +19 -4
- package/components/form/Members/ClusterPermissionsEditor.vue +32 -7
- package/components/form/NameNsDescription.vue +32 -46
- package/components/form/ProjectMemberEditor.vue +46 -21
- package/components/form/ResourceSelector.vue +1 -1
- package/components/form/SecretSelector.vue +5 -1
- package/components/form/ServiceNameSelect.vue +1 -1
- package/components/form/SimpleSecretSelector.vue +9 -9
- package/components/form/Tolerations.vue +4 -1
- package/components/form/ValueFromResource.vue +14 -9
- package/components/form/WorkloadPorts.vue +2 -2
- package/components/form/__tests__/LabeledSelect.test.ts +138 -0
- package/components/form/__tests__/NameNsDescription.ts +59 -0
- package/components/formatter/InternalExternalIP.vue +6 -0
- package/components/formatter/InvolvedObjectLink.vue +54 -0
- package/components/formatter/Link.vue +20 -4
- package/components/formatter/LinkName.vue +6 -1
- package/components/formatter/ServiceTargets.vue +1 -1
- package/components/formatter/WorkloadHealthScale.vue +8 -2
- package/components/nav/Group.vue +2 -2
- package/components/nav/NamespaceFilter.vue +23 -11
- package/components/nav/TopLevelMenu.vue +2 -4
- package/components/nav/Type.vue +1 -1
- package/components/nav/WorkspaceSwitcher.vue +46 -5
- package/components/nuxt/nuxt-build-indicator.vue +143 -0
- package/components/nuxt/nuxt-child.js +122 -0
- package/components/nuxt/nuxt-error.vue +98 -0
- package/components/nuxt/nuxt-link.client.js +98 -0
- package/components/nuxt/nuxt-link.server.js +16 -0
- package/components/nuxt/nuxt-loading.vue +154 -0
- package/components/nuxt/nuxt.js +101 -0
- package/config/labels-annotations.js +17 -0
- package/config/middleware.js +12 -0
- package/config/product/auth.js +3 -2
- package/config/product/explorer.js +34 -6
- package/config/product/fleet.js +2 -0
- package/config/query-params.js +1 -0
- package/config/router.js +414 -0
- package/config/store.js +181 -0
- package/config/table-headers.js +54 -12
- package/config/types.js +18 -8
- package/config/uiplugins.js +30 -0
- package/content/docs/en-us/whats-new.md +10 -0
- package/content/docs/zh-hans/whats-new.md +11 -1
- package/core/plugin-routes.ts +23 -0
- package/core/plugin.ts +4 -2
- package/core/types.ts +258 -1
- package/creators/app/app.package.json +2 -1
- package/creators/app/files/.eslintrc.js +1 -1
- package/creators/app/files/babel.config.js +1 -18
- package/creators/app/files/tsconfig.json +0 -1
- package/creators/app/files/vue.config.js +6 -0
- package/creators/app/init +5 -5
- package/creators/pkg/files/.github/workflows/build-extension.yml +110 -0
- package/creators/pkg/files/tsconfig.json +0 -1
- package/creators/pkg/init +35 -4
- package/creators/pkg/pkg.package.json +3 -3
- package/creators/update/init +1 -1
- package/detail/constraints.gatekeeper.sh.constraint.vue +34 -17
- package/detail/fleet.cattle.io.clustergroup.vue +7 -1
- package/detail/fleet.cattle.io.gitrepo.vue +19 -11
- package/detail/harvesterhci.io.management.cluster.vue +3 -3
- package/detail/provisioning.cattle.io.cluster.vue +54 -12
- package/detail/workload/index.vue +3 -3
- package/dialog/AddClusterMemberDialog.vue +1 -1
- package/dialog/AddProjectMemberDialog.vue +2 -2
- package/dialog/AddonConfigConfirmationDialog.vue +27 -15
- package/dialog/DiagnosticTimingsDialog.vue +1 -1
- package/dialog/ForceMachineRemoveDialog.vue +1 -1
- package/dialog/GenericPrompt.vue +18 -6
- package/dialog/RotateEncryptionKeyDialog.vue +1 -1
- package/dialog/SaveAsRKETemplateDialog.vue +1 -1
- package/dialog/ScaleMachineDownDialog.vue +1 -1
- package/edit/auth/github.vue +8 -8
- package/edit/auth/googleoauth.vue +5 -5
- package/edit/auth/ldap/index.vue +1 -1
- package/edit/auth/oidc.vue +1 -1
- package/edit/auth/saml.vue +1 -1
- package/edit/cis.cattle.io.clusterscan.vue +1 -1
- package/edit/fleet.cattle.io.clustergroup.vue +6 -4
- package/edit/fleet.cattle.io.gitrepo.vue +32 -4
- package/edit/helm.cattle.io.projecthelmchart.vue +5 -1
- package/edit/logging.banzaicloud.io.output/index.vue +18 -5
- package/edit/logging.banzaicloud.io.output/providers/loki.vue +1 -0
- package/edit/management.cattle.io.fleetworkspace.vue +141 -6
- package/edit/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +4 -1
- package/edit/management.cattle.io.setting.vue +1 -1
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +2 -2
- package/edit/monitoring.coreos.com.receiver/tls.vue +18 -18
- package/edit/monitoring.coreos.com.receiver/types/webhook.banner.vue +4 -4
- package/edit/monitoring.coreos.com.receiver/types/webhook.vue +1 -1
- package/edit/namespace.vue +14 -10
- package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +126 -45
- package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
- package/edit/provisioning.cattle.io.cluster/MachinePool.vue +21 -4
- package/edit/provisioning.cattle.io.cluster/RegistryConfigs.vue +1 -0
- package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +202 -2
- package/edit/provisioning.cattle.io.cluster/import.vue +23 -25
- package/edit/provisioning.cattle.io.cluster/rke2.vue +344 -102
- package/edit/resources.cattle.io.backup.vue +1 -1
- package/edit/service.vue +1 -1
- package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +2 -2
- package/edit/workload/__tests__/Job.test.ts +3 -1
- package/edit/workload/index.vue +8 -3
- package/edit/workload/mixins/workload.js +22 -7
- package/edit/workload/storage/Mount.vue +3 -3
- package/initialize/App.js +206 -0
- package/initialize/client.js +863 -0
- package/initialize/index.js +364 -0
- package/layouts/default.vue +7 -3
- package/layouts/standalone.vue +13 -0
- package/list/catalog.cattle.io.clusterrepo.vue +1 -0
- package/list/fleet.cattle.io.bundle.vue +6 -3
- package/list/fleet.cattle.io.clusterregistrationtoken.vue +3 -1
- package/list/fleet.cattle.io.gitrepo.vue +44 -5
- package/list/management.cattle.io.fleetworkspace.vue +45 -0
- package/list/node.vue +69 -16
- package/list/provisioning.cattle.io.cluster.vue +30 -1
- package/list/rbac.authorization.k8s.io.clusterrolebinding.vue +48 -0
- package/list/workload.vue +6 -4
- package/machine-config/azure.vue +97 -38
- package/middleware/authenticated.js +34 -0
- package/mixins/chart.js +101 -2
- package/mixins/fetch.client.js +95 -0
- package/mixins/fetch.server.js +73 -0
- package/mixins/labeled-form-element.ts +2 -2
- package/mixins/resource-fetch.js +2 -2
- package/models/apps.statefulset.js +28 -0
- package/models/cluster/node.js +23 -2
- package/models/cluster.x-k8s.io.machine.js +4 -2
- package/models/clusterroletemplatebinding.js +7 -0
- package/models/constraints.gatekeeper.sh.constraint.js +46 -0
- package/models/fleet.cattle.io.cluster.js +19 -10
- package/models/fleet.cattle.io.gitrepo.js +7 -2
- package/models/management.cattle.io.cluster.js +1 -1
- package/models/management.cattle.io.fleetworkspace.js +12 -0
- package/models/management.cattle.io.gitreporestriction.js +5 -0
- package/models/management.cattle.io.podsecurityadmissionconfigurationtemplate.js +3 -0
- package/models/pod.js +4 -0
- package/models/provisioning.cattle.io.cluster.js +7 -5
- package/models/rbac.authorization.k8s.io.clusterrolebinding.js +16 -0
- package/models/rbac.authorization.k8s.io.rolebinding.js +16 -0
- package/package.json +13 -21
- package/pages/auth/setup.vue +2 -2
- package/pages/c/_cluster/apps/charts/__tests__/install.helper.test.ts +33 -0
- package/pages/c/_cluster/apps/charts/chart.vue +4 -4
- package/pages/c/_cluster/apps/charts/install.helpers.js +26 -0
- package/pages/c/_cluster/apps/charts/install.vue +98 -102
- package/pages/c/_cluster/explorer/EventsTable.vue +5 -19
- package/pages/c/_cluster/explorer/index.vue +29 -25
- package/pages/c/_cluster/explorer/tools/index.vue +8 -8
- package/pages/c/_cluster/fleet/index.vue +95 -34
- package/pages/c/_cluster/gatekeeper/index.vue +1 -1
- package/pages/c/_cluster/istio/index.vue +5 -5
- package/pages/c/_cluster/manager/cloudCredential/index.vue +1 -1
- package/pages/c/_cluster/monitoring/index.vue +7 -0
- package/pages/c/_cluster/uiplugins/InstallDialog.vue +8 -8
- package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +20 -7
- package/pages/c/_cluster/uiplugins/index.vue +49 -17
- package/pages/diagnostic.vue +32 -25
- package/pages/home.vue +9 -4
- package/pages/index.vue +10 -1
- package/pages/rio/mesh.vue +1 -2
- package/pkg/tsconfig.json +0 -1
- package/plugins/clean-html-directive.js +34 -0
- package/plugins/dashboard-store/actions.js +32 -9
- package/plugins/dashboard-store/index.js +1 -1
- package/plugins/dashboard-store/mutations.js +5 -2
- package/plugins/dashboard-store/resource-class.js +8 -1
- package/plugins/plugin.js +0 -14
- package/plugins/portal-vue.js +4 -0
- package/plugins/steve/mutations.js +3 -2
- package/plugins/steve/steve-description-class.js +5 -1
- package/plugins/steve/subscribe.js +63 -54
- package/plugins/steve-create-worker.js +14 -0
- package/promptRemove/management.cattle.io.globalrole.vue +2 -2
- package/promptRemove/management.cattle.io.project.vue +2 -2
- package/promptRemove/management.cattle.io.roletemplate.vue +2 -2
- package/promptRemove/pod.vue +1 -1
- package/public/index.html +65 -0
- package/rancher-components/components/Banner/Banner.test.ts +7 -1
- package/rancher-components/components/Banner/Banner.vue +2 -1
- package/rancher-components/components/Form/Checkbox/Checkbox.vue +2 -0
- package/rancher-components/components/Form/Radio/RadioButton.test.ts +31 -0
- package/rancher-components/components/Form/Radio/RadioButton.vue +14 -3
- package/scripts/build-pkg.sh +1 -0
- package/scripts/clean +6 -0
- package/scripts/extension/bundle +58 -0
- package/scripts/extension/helmpatch +89 -0
- package/scripts/extension/publish +333 -0
- package/scripts/serve-pkgs +6 -2
- package/scripts/test-plugins-build.sh +4 -0
- package/store/__tests__/index.test.ts +110 -0
- package/store/index.js +145 -58
- package/store/type-map.js +6 -2
- package/tsconfig.default.json +36 -0
- package/tsconfig.json +23 -0
- package/types/rancher/index.d.ts +2 -0
- package/types/shell/index.d.ts +466 -320
- package/utils/__tests__/grafana.test.ts +44 -0
- package/utils/__tests__/string.test.ts +12 -0
- package/utils/auth.js +65 -0
- package/utils/axios.js +190 -0
- package/utils/cookie-universal-nuxt.js +10 -0
- package/utils/dom.js +15 -0
- package/utils/grafana.js +35 -16
- package/utils/monitoring.js +2 -1
- package/utils/nuxt.js +659 -0
- package/utils/position.js +5 -8
- package/utils/router.scrollBehavior.js +80 -0
- package/utils/select.js +1 -3
- package/utils/socket.js +1 -0
- package/utils/string.js +13 -0
- package/utils/time.js +9 -0
- package/vue.config.js +690 -0
- package/chart/rancher-alerting-drivers.vue +0 -53
- package/chart/rancher-gatekeeper.vue +0 -37
- package/creators/app/files/nuxt.config.js +0 -6
- package/models/management.cattle.io.podsecurityadmissionconfigurationtemplate.ts +0 -4
- package/nuxt.config.js +0 -798
- 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
|
-
|
|
1321
|
-
|
|
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
|
|
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 中删除,请改用
|
|
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:
|
|
1822
|
+
option: 默认 - 嵌入 RKE2
|
|
1789
1823
|
defaultPodSecurityAdmissionConfigurationTemplateName:
|
|
1790
|
-
label:
|
|
1791
|
-
option:
|
|
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:
|
|
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}
|
|
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: '
|
|
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:
|
package/babel.config.js
ADDED
|
@@ -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>
|