@rancher/shell 0.3.5 → 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 (116) hide show
  1. package/assets/images/providers/outscale.svg +19 -0
  2. package/assets/styles/base/_basic.scss +18 -0
  3. package/assets/styles/base/_mixins.scss +0 -11
  4. package/assets/styles/base/_variables.scss +2 -4
  5. package/assets/styles/global/_button.scss +12 -2
  6. package/assets/translations/en-us.yaml +22 -1
  7. package/assets/translations/zh-hans.yaml +30 -10
  8. package/chart/gatekeeper.vue +3 -2
  9. package/chart/istio.vue +29 -3
  10. package/components/BrandImage.vue +1 -4
  11. package/components/Carousel.vue +85 -37
  12. package/components/EtcdInfoBanner.vue +7 -3
  13. package/components/ExplorerMembers.vue +100 -5
  14. package/components/ExplorerProjectsNamespaces.vue +32 -2
  15. package/components/GrafanaDashboard.vue +9 -2
  16. package/components/SortableTable/index.vue +23 -11
  17. package/components/SortableTable/selection.js +58 -50
  18. package/components/Wizard.vue +4 -2
  19. package/components/auth/RoleDetailEdit.vue +2 -2
  20. package/components/form/HookOption.vue +14 -10
  21. package/components/form/Labels.vue +32 -27
  22. package/components/form/MatchExpressions.vue +2 -2
  23. package/components/form/Members/ClusterPermissionsEditor.vue +32 -7
  24. package/components/form/NameNsDescription.vue +1 -1
  25. package/components/form/ProjectMemberEditor.vue +46 -21
  26. package/components/form/Tolerations.vue +4 -1
  27. package/components/form/ValueFromResource.vue +14 -9
  28. package/components/form/WorkloadPorts.vue +2 -2
  29. package/components/form/__tests__/NameNsDescription.ts +27 -0
  30. package/components/formatter/WorkloadHealthScale.vue +8 -2
  31. package/components/nav/NamespaceFilter.vue +8 -0
  32. package/{nuxt/components → components/nuxt}/nuxt.js +1 -1
  33. package/{nuxt → config}/middleware.js +8 -8
  34. package/config/product/explorer.js +24 -3
  35. package/config/query-params.js +1 -0
  36. package/config/router.js +1 -1
  37. package/{nuxt → config}/store.js +82 -79
  38. package/config/table-headers.js +46 -12
  39. package/config/types.js +7 -0
  40. package/core/plugin.ts +4 -2
  41. package/core/types.ts +258 -1
  42. package/creators/app/files/tsconfig.json +0 -1
  43. package/creators/app/files/vue.config.js +0 -1
  44. package/creators/pkg/files/.github/workflows/build-extension.yml +3 -4
  45. package/creators/pkg/files/tsconfig.json +0 -1
  46. package/creators/pkg/pkg.package.json +3 -3
  47. package/detail/constraints.gatekeeper.sh.constraint.vue +14 -7
  48. package/detail/fleet.cattle.io.clustergroup.vue +7 -1
  49. package/edit/fleet.cattle.io.gitrepo.vue +16 -1
  50. package/edit/logging.banzaicloud.io.output/index.vue +18 -5
  51. package/edit/logging.banzaicloud.io.output/providers/loki.vue +1 -0
  52. package/edit/namespace.vue +12 -8
  53. package/edit/provisioning.cattle.io.cluster/MachinePool.vue +11 -4
  54. package/edit/provisioning.cattle.io.cluster/import.vue +23 -25
  55. package/edit/provisioning.cattle.io.cluster/rke2.vue +96 -18
  56. package/edit/workload/mixins/workload.js +6 -7
  57. package/edit/workload/storage/Mount.vue +3 -3
  58. package/initialize/App.js +206 -0
  59. package/{nuxt → initialize}/client.js +406 -360
  60. package/{nuxt → initialize}/index.js +21 -22
  61. package/layouts/standalone.vue +13 -0
  62. package/list/catalog.cattle.io.clusterrepo.vue +1 -0
  63. package/list/rbac.authorization.k8s.io.clusterrolebinding.vue +48 -0
  64. package/list/workload.vue +6 -4
  65. package/mixins/chart.js +29 -1
  66. package/mixins/fetch.client.js +95 -0
  67. package/{nuxt/mixins → mixins}/fetch.server.js +30 -26
  68. package/mixins/labeled-form-element.ts +2 -2
  69. package/models/constraints.gatekeeper.sh.constraint.js +37 -0
  70. package/models/pod.js +4 -0
  71. package/models/rbac.authorization.k8s.io.clusterrolebinding.js +16 -0
  72. package/models/rbac.authorization.k8s.io.rolebinding.js +16 -0
  73. package/package.json +9 -13
  74. package/pages/c/_cluster/apps/charts/install.vue +61 -39
  75. package/pages/diagnostic.vue +32 -25
  76. package/pages/rio/mesh.vue +1 -2
  77. package/pkg/tsconfig.json +0 -1
  78. package/plugins/clean-html-directive.js +3 -0
  79. package/plugins/dashboard-store/index.js +1 -1
  80. package/plugins/plugin.js +0 -14
  81. package/plugins/portal-vue.js +4 -0
  82. package/rancher-components/components/Banner/Banner.test.ts +3 -5
  83. package/rancher-components/components/Banner/Banner.vue +1 -0
  84. package/rancher-components/components/Form/Radio/RadioButton.test.ts +31 -0
  85. package/rancher-components/components/Form/Radio/RadioButton.vue +14 -3
  86. package/scripts/extension/publish +42 -23
  87. package/scripts/serve-pkgs +6 -2
  88. package/store/type-map.js +1 -1
  89. package/tsconfig.json +0 -1
  90. package/types/rancher/index.d.ts +2 -0
  91. package/types/shell/index.d.ts +353 -284
  92. package/utils/__tests__/grafana.test.ts +44 -0
  93. package/utils/axios.js +190 -0
  94. package/{nuxt → utils}/cookie-universal-nuxt.js +7 -6
  95. package/utils/dom.js +15 -0
  96. package/utils/grafana.js +35 -16
  97. package/{nuxt/utils.js → utils/nuxt.js} +265 -236
  98. package/utils/router.scrollBehavior.js +1 -1
  99. package/vue.config.js +30 -19
  100. package/nuxt/App.js +0 -210
  101. package/nuxt/axios.js +0 -186
  102. package/nuxt/empty.js +0 -1
  103. package/nuxt/jsonp.js +0 -82
  104. package/nuxt/loading.html +0 -39
  105. package/nuxt/mixins/fetch.client.js +0 -90
  106. package/nuxt/portal-vue.js +0 -4
  107. package/nuxt/server.js +0 -312
  108. package/nuxt/views/app.template.html +0 -9
  109. package/nuxt/views/error.html +0 -23
  110. package/plugins/dashboard-store/extensions.js +0 -22
  111. /package/{nuxt/components → components/nuxt}/nuxt-build-indicator.vue +0 -0
  112. /package/{nuxt/components → components/nuxt}/nuxt-child.js +0 -0
  113. /package/{nuxt/components → components/nuxt}/nuxt-error.vue +0 -0
  114. /package/{nuxt/components → components/nuxt}/nuxt-link.client.js +0 -0
  115. /package/{nuxt/components → components/nuxt}/nuxt-link.server.js +0 -0
  116. /package/{nuxt/components → components/nuxt}/nuxt-loading.vue +0 -0
@@ -0,0 +1,19 @@
1
+ <svg height="590" preserveAspectRatio="xMidYMid meet" width="607" xmlns="http://www.w3.org/2000/svg"
2
+ style="">
3
+ <rect id="backgroundrect" width="100%" height="100%" x="0" y="0" fill="none" stroke="none" />
4
+
5
+ <g class="currentLayer" style="">
6
+ <title>Layer 1</title>
7
+ <g id="svg_1" class="">
8
+ <path
9
+ d="m297.00000850856304,0.9336278513073921 c-37.30000055581331,2.600000038743019 -75.60000112652779,10.800000160932541 -88.30000131577253,18.900000281631947 c-3.9000000581145287,2.400000035762787 -4.700000070035458,3.500000052154064 -4.700000070035458,5.900000087916851 c0,3.8000000566244125 3.7000000551342964,6.500000096857548 12.10000018030405,8.800000131130219 c5.200000077486038,1.4000000208616257 10.600000157952309,1.700000025331974 28.90000043064356,1.5000000223517418 c49.0000007301569,-0.30000000447034836 87.70000130683184,4.200000062584877 112.80000168085098,12.90000019222498 c18.900000281631947,6.70000009983778 25.200000375509262,13.300000198185444 25.200000375509262,26.600000396370888 c-0.10000000149011612,18.500000275671482 -14.000000208616257,40.50000060349703 -46.40000069141388,72.90000108629465 c-20.40000030398369,20.40000030398369 -39.40000058710575,36.700000546872616 -65.1000009700656,55.90000083297491 c-29.10000043362379,21.700000323355198 -43.700000651180744,34.50000051409006 -46.60000069439411,40.90000060945749 c-1.600000023841858,3.500000052154064 -0.4000000059604646,7.1000001057982445 2.9000000432133675,8.50000012665987 c10.500000156462193,4.400000065565109 54.40000081062317,-15.20000022649765 97.70000145584345,-43.60000064969063 c66.30000098794699,-43.50000064820051 111.30000165849924,-93.20000138878822 120.00000178813934,-132.7000019773841 c2.3000000342726707,-10.200000151991844 1.700000025331974,-24.70000036805868 -1.4000000208616257,-32.600000485777855 c-7.600000113248825,-19.900000296533108 -33.20000049471855,-34.400000512599945 -72.20000107586384,-40.90000060945749 c-23.400000348687172,-3.9000000581145287 -48.20000071823597,-4.90000007301569 -74.90000111609697,-3.0000000447034836 z"
10
+ stroke-width="0" id="svg_2" />
11
+ <path
12
+ d="m462.00001096725464,198.9336308017373 c-38.40000057220459,4.200000062584877 -65.70000097900629,16.100000239908695 -80.40000119805336,35.200000524520874 c-13.500000201165676,17.50000026077032 -12.300000183284283,38.60000057518482 3.9000000581145287,66.60000099241734 c9.80000014603138,16.900000251829624 22.600000336766243,33.5000004991889 60.200000897049904,77.60000115633011 c27.500000409781933,32.40000048279762 32.100000478327274,38.10000056773424 39.300000585615635,48.800000727176666 c15.600000232458115,23.400000348687172 16.300000242888927,40.40000060200691 2.0000000298023224,47.70000071078539 c-16.20000024139881,8.300000123679638 -41.40000061690807,10.900000162422657 -140.00000208616257,14.500000216066837 c-23.400000348687172,0.9000000134110452 -43.80000065267086,2.400000035762787 -48.50000072270632,3.6000000536441807 c-5.700000084936619,1.5000000223517418 -8.50000012665987,4.400000065565109 -8.50000012665987,9.00000013411045 c0,7.600000113248825 8.200000122189522,11.10000016540289 35.200000524520874,15.300000227987766 c86.70000129193068,13.40000019967556 161.60000240802765,12.10000018030405 200.70000299066305,-3.500000052154064 c29.000000432133675,-11.60000017285347 45.200000673532486,-34.60000051558018 42.100000627338886,-59.60000088810921 c-3.1000000461935997,-24.00000035762787 -20.800000309944153,-49.70000074058771 -82.10000122338533,-119.50000178068876 c-33.80000050365925,-38.500000573694706 -42.900000639259815,-53.30000079423189 -42.900000639259815,-70.00000104308128 c0,-11.200000166893005 5.100000075995922,-16.900000251829624 18.900000281631947,-21.200000315904617 c15.800000235438347,-4.90000007301569 30.100000448524952,-6.3000000938773155 85.40000127255917,-8.100000120699406 c45.80000068247318,-1.5000000223517418 52.700000785291195,-2.3000000342726707 57.40000085532665,-6.70000009983778 c6.800000101327896,-6.400000095367432 -2.3000000342726707,-14.900000222027302 -21.200000315904617,-19.700000293552876 c-8.800000131130219,-2.2000000327825546 -33.00000049173832,-6.400000095367432 -50.00000074505806,-8.700000129640102 c-13.300000198185444,-1.8000000268220901 -59.50000088661909,-2.7000000402331352 -71.50000106543303,-1.3000000193715096 z"
13
+ stroke-width="0" id="svg_3" />
14
+ <path
15
+ d="m164.50000653415918,281.2336320281029 c-45.10000067204237,5.000000074505806 -81.50000121444464,13.90000020712614 -91.50000136345625,22.20000033080578 c-3.9000000581145287,3.300000049173832 -3.9000000581145287,6.500000096857548 0,9.80000014603138 c6.400000095367432,5.300000078976154 19.500000290572643,6.70000009983778 57.50000085681677,5.900000087916851 c80.0000011920929,-1.700000025331974 127.2000018954277,8.900000132620335 138.60000206530094,30.90000046044588 c3.0000000447034836,5.800000086426735 3.7000000551342964,18.900000281631947 1.5000000223517418,27.500000409781933 c-5.100000075995922,19.500000290572643 -19.900000296533108,40.80000060796738 -45.80000068247318,65.90000098198652 c-41.100000612437725,39.90000059455633 -100.80000150203705,75.30000112205744 -127.60000190138817,75.80000112950802 c-6.3000000938773155,0.10000000149011612 -7.600000113248825,-0.20000000298023224 -8.900000132620335,-1.9000000283122063 c-5.800000086426735,-7.800000116229057 10.500000156462193,-44.00000065565109 51.60000076889992,-114.40000170469284 c13.600000202655792,-23.20000034570694 19.200000286102295,-35.50000052899122 19.400000289082527,-42.60000063478947 c0.20000000298023224,-5.700000084936619 -1.5000000223517418,-7.500000111758709 -7.300000108778477,-7.500000111758709 c-3.8000000566244125,0 -5.900000087916851,0.800000011920929 -10.700000159442425,3.9000000581145287 c-7.900000117719173,5.100000075995922 -14.70000021904707,13.200000196695328 -34.400000512599945,40.80000060796738 c-35.00000052154064,48.90000072866678 -60.10000089555979,88.60000132024288 -82.70000123232603,130.40000194311142 c-18.30000027269125,33.70000050216913 -24.2000003606081,47.300000704824924 -24.2000003606081,55.40000082552433 c0,6.200000092387199 1.5000000223517418,7.000000104308128 12.400000184774399,6.800000101327896 c33.5000004991889,-0.6000000089406967 114.10000170022249,-30.90000046044588 173.80000258982182,-65.20000097155571 c79.80000118911266,-45.80000068247318 130.80000194907188,-98.90000147372484 150.40000224113464,-156.60000233352184 c3.400000050663948,-9.80000014603138 3.8000000566244125,-12.10000018030405 3.7000000551342964,-20.500000305473804 c0,-11.10000016540289 -2.1000000312924385,-17.50000026077032 -8.600000128149986,-27.3000004068017 c-12.300000183284283,-18.200000271201134 -44.40000066161156,-32.00000047683716 -88.700001321733,-38.20000056922436 c-15.70000023394823,-2.2000000327825546 -62.30000092834234,-2.8000000417232513 -78.50000116974115,-1.1000000163912773 z"
16
+ stroke-width="0" id="svg_4" />
17
+ </g>
18
+ </g>
19
+ </svg>
@@ -1,3 +1,5 @@
1
+ @import "./mixins";
2
+
1
3
  // -----------------------------------------------------------------------------
2
4
  // This file contains very basic styles.
3
5
  // -----------------------------------------------------------------------------
@@ -109,3 +111,19 @@ HR.vertical {
109
111
  margin-left: -1px;
110
112
  top: 0;
111
113
  }
114
+
115
+ // --------------------------------------------------------------------------------------------------------
116
+ // These were declared in _mixins, but that results in these styles being declared for every Vue component
117
+ // Moved here, as these are styles and mixins should only include mixing definitions, not style definitions
118
+ // --------------------------------------------------------------------------------------------------------
119
+
120
+ .clearfix { @include clearfix; }
121
+ .list-unstyled { @include list-unstyled }
122
+ .no-select { @include no-select }
123
+ .no-resize { @include no-resize }
124
+ .hand { @include hand }
125
+ .fixed { @include fixed }
126
+ .clip { @include clip }
127
+ .force-wrap { @include force-wrap }
128
+ .bordered-section { @include bordered-section }
129
+ .section-divider { @include section-divider }
@@ -63,17 +63,6 @@
63
63
  margin-top: 20px;
64
64
  }
65
65
 
66
- .clearfix { @include clearfix; }
67
- .list-unstyled { @include list-unstyled }
68
- .no-select { @include no-select }
69
- .no-resize { @include no-resize }
70
- .hand { @include hand }
71
- .fixed { @include fixed }
72
- .clip { @include clip }
73
- .force-wrap { @include force-wrap }
74
- .bordered-section { @include bordered-section }
75
- .section-divider { @include section-divider }
76
-
77
66
  /// Sets the specified background color and calculates a dark or light contrasted text color.
78
67
  @mixin contrasted($background-color, $dark: $contrasted-dark, $light: $contrasted-light) {
79
68
  color: contrast-color($background-color, $dark, $light);
@@ -52,9 +52,7 @@ $breakpoints: (
52
52
 
53
53
  $font-size-h2: 21px;
54
54
 
55
- /*
56
- * Global spacing variables
57
- */
55
+ // Global spacing variables
58
56
  $space-s: 10px;
59
57
  $space-m: 20px;
60
- $space-l: 40px;
58
+ $space-l: 40px;
@@ -87,7 +87,7 @@ button,
87
87
 
88
88
  &:hover, &._hover {
89
89
  color: var(--lightest) !important;
90
- }
90
+ }
91
91
 
92
92
  &:focus, &.focused {
93
93
  background-color: var(--primary-hover-bg);
@@ -120,7 +120,17 @@ button,
120
120
 
121
121
  .role-link {
122
122
  background: transparent;
123
- color: var(--link) !important;
123
+ color: var(--link);
124
+
125
+ &:hover, &._hover {
126
+ color: var(--lightest);
127
+ }
128
+
129
+ &:focus, &.focused {
130
+ background: transparent;
131
+ color: var(--link);
132
+ box-shadow: none;
133
+ }
124
134
  }
125
135
 
126
136
  .role-multi-action {
@@ -1681,11 +1681,17 @@ cluster:
1681
1681
  label: Drain Before Delete
1682
1682
  role:
1683
1683
  label: Roles
1684
+ etcd: etcd
1685
+ controlPlane: Control Plane
1686
+ worker: Worker
1684
1687
  labels:
1685
1688
  label: Kubernetes Node Labels
1686
1689
  noAccessBanner: "You do not have access to see this machine pool's configuration."
1687
1690
  configNotFound: "We could not find this machine pool's configuration. We recommend that you create a new cluster with the desired configuration."
1688
1691
  noPoolsDisclaimer: You do not have any machine pools defined, click the plus to add one.
1692
+ truncationPool: "Hostname truncation has been manually configured for this pool to {limit}"
1693
+ truncationCluster: "Hostname truncation has been manually configured for this cluster to {limit}"
1694
+
1689
1695
  autoReplace:
1690
1696
  label: Auto Replace
1691
1697
  toolTip: If greater than 0, nodes that are unreachable for this duration will be automatically deleted and replaced.
@@ -1828,6 +1834,7 @@ cluster:
1828
1834
  label: Drain Nodes
1829
1835
  toolTip: Draining preemptively removes the pods on each node so there are no running workloads on the nodes being upgraded. Upgrading without draining is faster and causes less shuffling around, but pods may still be restarted depending on the upgrade being performed.
1830
1836
  deleteEmptyDir: "By default, pods using emptyDir volumes will be deleted on upgrade. Operations reliant on emptyDir volumes persisting through the pod's lifecycle may be impacted."
1837
+ truncateHostnames: Truncate hostnames to 15 characters for NetBIOS compatibility.
1831
1838
  address:
1832
1839
  tooltip: Cluster networking values cannot be changed after the cluster is created.
1833
1840
  header: Addressing
@@ -2107,6 +2114,10 @@ fleet:
2107
2114
  noRepos: No repositories have been added
2108
2115
  noWorkspaces: There are no workspaces. <br/> Please create a workspace before adding repositories
2109
2116
  protocolBanner: Enter a valid HTTPS or SSH URL to a git repository.
2117
+ resources:
2118
+ label: 'Resource Handling'
2119
+ keepResources: Keep resources after deletion
2120
+ resourceBanner: When enabled above, resources will be kept when deleting a GitRepo or Bundle - only Helm release secrets will be deleted.
2110
2121
  add:
2111
2122
  steps:
2112
2123
  repoInfo:
@@ -2197,6 +2208,7 @@ footer:
2197
2208
  slack: Slack
2198
2209
 
2199
2210
  gatekeeperConstraint:
2211
+ downloadViolations: Download Violations
2200
2212
  match:
2201
2213
  title: Match
2202
2214
  tab:
@@ -2228,7 +2240,7 @@ gatekeeperConstraint:
2228
2240
  action: Enforcement Action
2229
2241
  violations:
2230
2242
  title: "Violations: {total}"
2231
- notAll: Not all are shown - the constraint only includes details for {shown}
2243
+ notAll: Not all are shown due to the configured OPA Gatekeeper constraint violation limit - the constraint only includes details for {shown}
2232
2244
 
2233
2245
  gatekeeperIndex:
2234
2246
  poweredBy: OPA Gatekeeper
@@ -2607,6 +2619,7 @@ istio:
2607
2619
  kiali: Enable Kiali
2608
2620
  pilot: Enable Pilot
2609
2621
  policy: Enable Policy
2622
+ pilotRequired: Pilot must be enabled in order to enable Kiali
2610
2623
  poweredBy: Powered by <a target="_blank" rel="noopener noreferrer nofollow" href='https://istio.io/latest/'>Istio</a>
2611
2624
  telemetry: Enable Telemetry
2612
2625
  titles:
@@ -2775,6 +2788,7 @@ logging:
2775
2788
  sslClientCertKey: Cert Key from Secret
2776
2789
  loki:
2777
2790
  url: URL
2791
+ urlInvalid: Incorrect URL format. Please check and correct your URL format before saving.
2778
2792
  tenant: Tenant
2779
2793
  username: User from Secret
2780
2794
  password: Password from Secret
@@ -2976,6 +2990,8 @@ members:
2976
2990
  clusterMembers: Cluster Members
2977
2991
  clusterAndProject: Cluster and Project Members
2978
2992
  createActionLabel: Add
2993
+ clusterMemebership: Cluster Membership
2994
+ projectMembership: Project Memebership
2979
2995
  clusterPermissions:
2980
2996
  noDescription: User created - no description
2981
2997
  label: Cluster Permissions
@@ -3000,6 +3016,7 @@ members:
3000
3016
  custom:
3001
3017
  label: Custom
3002
3018
  description: Choose individual roles for this user.
3019
+ lockedRole: This role is locked.
3003
3020
  localClusterWarning: "Caution: This is the cluster that Rancher is using as a data store. Only administrators should be given write access to this cluster. Users with write access to this cluster can use it to grant themselves access to any part of this installation."
3004
3021
  noRolesAssigned: There are no users assigned to this project.
3005
3022
 
@@ -3342,6 +3359,7 @@ namespace:
3342
3359
  resourceQuotas: Resource Quotas
3343
3360
  project:
3344
3361
  label: Project
3362
+ none: (None)
3345
3363
  resources: Resources
3346
3364
  enableAutoInjection: Enable Istio Auto Injection
3347
3365
  disableAutoInjection: Disable Istio Auto Injection
@@ -4537,6 +4555,7 @@ resourceTable:
4537
4555
  namespace: Group by Namespace
4538
4556
  project: Group by Project
4539
4557
  node: Group by Node
4558
+ role: Group by Role
4540
4559
  cluster: Group by Cluster
4541
4560
  groupLabel:
4542
4561
  cluster: "<span>Cluster:</span> {name}"
@@ -5196,6 +5215,7 @@ tableHeaders:
5196
5215
  clusterGroups: Cluster Groups
5197
5216
  commit: Commit
5198
5217
  condition: Condition
5218
+ constraint: Constraint
5199
5219
  completions: Completions
5200
5220
  count: Count
5201
5221
  createdAt: Created At
@@ -5361,6 +5381,7 @@ tableHeaders:
5361
5381
  target: Target
5362
5382
  targetKind: Target Type
5363
5383
  targetPort: Target
5384
+ template: Template
5364
5385
  type: Type
5365
5386
  updated: Updated
5366
5387
  up-to-date: Up To Date
@@ -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 调度
@@ -1321,8 +1322,9 @@ cluster:
1321
1322
  manageAction: 管理
1322
1323
  kubernetesVersion:
1323
1324
  label: Kubernetes 版本
1324
- experimental: 实验功能
1325
- deprecated: 已弃用
1325
+ current: (当前)
1326
+ experimental: (实验功能)
1327
+ deprecated: (已弃用)
1326
1328
  deprecatedPatches: 显示已弃用的 Kubernetes 补丁版本
1327
1329
  deprecatedPatchWarning: 建议为每个 Kubernetes 次要版本使用最新的补丁版本,已弃用的补丁版本可能对迁移有用。
1328
1330
  toolsTip: 使用新集群工具来管理和安装 Monitoring、Logging 等工具。
@@ -1631,7 +1633,7 @@ cluster:
1631
1633
  invalidPsps: 你在此集群中有一个或多个 PSP 资源。Pod 安全策略在 Kubernetes v1.25 中不可用并将自动删除。
1632
1634
  haveArgInfo: 所选 Kubernetes 版本的配置信息不可用。此屏幕中可用的选项将受到限制,你可能需要使用 YAML 编辑器。
1633
1635
  deprecatedPsp: Pod 安全策略自 Kubernetes v1.21 起已弃用,并已在 Kubernetes v1.25 中删除。
1634
- removedPsp: Pod 安全策略已在 Kubernetes v1.25 中删除,请改用 PodSecurity Admission。
1636
+ removedPsp: Pod 安全策略已在 Kubernetes v1.25 中删除,请改用 Pod Security Admission。
1635
1637
  rkeTemplateUpgrade: 模板修订版 {name} 可用于升级
1636
1638
 
1637
1639
  availabilityWarnings:
@@ -1658,15 +1660,15 @@ cluster:
1658
1660
  tooltip:
1659
1661
  controlPlane: |-
1660
1662
  {count, plural,
1661
- =0 { 一个集群需要至少1个可用的 Control Plane 节点。}
1662
- =1 { 只有1个 Control Plane 节点的集群是不具备容错能力的。}
1663
+ =0 { 一个集群需要至少 1 个可用的 Control Plane 节点。}
1664
+ =1 { 只有 1 个 Control Plane 节点的集群是不具备容错能力的。}
1663
1665
  other {}
1664
1666
  }
1665
1667
  etcd: |-
1666
1668
  {count, plural,
1667
- =0 { 一个集群需要至少1个可用的 ETCD 节点。}
1668
- =1 { 只有1个 ETCD 节点的集群是不具备容错能力的。}
1669
- =2 { 集群的节点数需要是奇数。只有2个 ETCD 节点的集群是不具备容错能力的。}
1669
+ =0 { 一个集群需要至少 1 个可用的 ETCD 节点。}
1670
+ =1 { 只有 1 个 ETCD 节点的集群是不具备容错能力的。}
1671
+ =2 { 集群的节点数需要是奇数。只有 2 个 ETCD 节点的集群是不具备容错能力的。}
1670
1672
  =3 {}
1671
1673
  =4 { 集群的节点数需要是奇数。}
1672
1674
  =5 {}
@@ -1677,7 +1679,7 @@ cluster:
1677
1679
  worker: |-
1678
1680
  {count, plural,
1679
1681
  =0 { 一个集群需要至少 1 个可用的 Worker 节点。}
1680
- =1 { 只有1个 Worker 节点的集群是不具备容错能力的。}
1682
+ =1 { 只有 1 个 Worker 节点的集群是不具备容错能力的。}
1681
1683
  other {}
1682
1684
  }
1683
1685
  quantity:
@@ -1687,11 +1689,17 @@ cluster:
1687
1689
  label: 删除前清空
1688
1690
  role:
1689
1691
  label: 角色
1692
+ etcd: ETCD
1693
+ controlPlane: Control Plane
1694
+ worker: Worker
1690
1695
  labels:
1691
1696
  label: Kubernetes 节点标签
1692
1697
  noAccessBanner: "你没有查看此主机池配置的权限。"
1693
1698
  configNotFound: "找不到这个主机池的配置。建议你创建一个具有所需配置的新集群。"
1694
1699
  noPoolsDisclaimer: 你没有定义任何主机池,请单击加号进行添加。
1700
+ truncationPool: "已手动将此主机池的主机名截断配置为 {limit}"
1701
+ truncationCluster: "已手动将此集群的主机名截断配置为 {limit}"
1702
+
1695
1703
  autoReplace:
1696
1704
  label: 自动替换
1697
1705
  toolTip: 如果大于 0,则在此期间无法访问的节点将被自动删除和替换。
@@ -1834,6 +1842,7 @@ cluster:
1834
1842
  label: 清空节点
1835
1843
  toolTip: 清空操作预先移除每个节点上的 Pod,使得升级中的节点上没有运行的工作负载。不清空的升级速度更快,造成的混乱更少,但是 Pod 仍可能根据进行中的升级进行重启。
1836
1844
  deleteEmptyDir: "默认情况下,使用 emptyDir 卷的 pod 会在升级时被删除。在 pod 生命周期中依赖于 emptyDir 持久卷的操作可能会受到影响。"
1845
+ truncateHostnames: 将主机名截断为 15 个字符来兼容 NetBIOS。
1837
1846
  address:
1838
1847
  tooltip: 创建集群后无法更改集群网络值。
1839
1848
  header: 寻址
@@ -2113,6 +2122,10 @@ fleet:
2113
2122
  noRepos: 未添加任何仓库
2114
2123
  noWorkspaces: 没有工作空间。<br/>请在添加仓库之前创建一个工作空间
2115
2124
  protocolBanner: 输入指向 git 仓库的有效 HTTPS 或 SSH URL。
2125
+ resources:
2126
+ label: '资源处理'
2127
+ keepResources: 删除后保留资源
2128
+ resourceBanner: 启用时,删除 GitRepo 或 Bundle 后将保留资源,只会删除 Helm Release Secret。
2116
2129
  add:
2117
2130
  steps:
2118
2131
  repoInfo:
@@ -2191,7 +2204,7 @@ fleet:
2191
2204
  restrictions:
2192
2205
  addTitle: 'allowedTargetNamespaces'
2193
2206
  addLabel: 添加
2194
- banner: "{count, plural, =0 { 在这里设置 allowedTargetNamespaces 会创建一个 GitRepoRestriction。} other { 只有 GitRepoRestriction.allowedTargetNamespaces 在此处管理,你可以进行其他更改。} }"
2207
+ banner: "{count, plural, =0 { 在这里添加命名空间会创建一个 GitRepoRestriction。} other { 只有 Git Repo Restriction 的 <code>allowedTargetNamespaces</code> 在此处管理,你可以对 Git Repo Restriction 进行其他更改。} }"
2195
2208
  footer:
2196
2209
  docs: Rancher 官方文档
2197
2210
  download: 下载 CLI
@@ -2613,6 +2626,7 @@ istio:
2613
2626
  kiali: 启用 Kiali
2614
2627
  pilot: 启用 Pilot
2615
2628
  policy: 启用 Policy
2629
+ pilotRequired: 必须启用 Pilot 才能启用 Kiali
2616
2630
  poweredBy: 由 <a target="_blank" rel="noopener noreferrer nofollow" href='https://istio.io/latest/'>Istio</a> 提供支持
2617
2631
  telemetry: 启用遥测
2618
2632
  titles:
@@ -2982,6 +2996,8 @@ members:
2982
2996
  clusterMembers: 集群成员
2983
2997
  clusterAndProject: 集群和项目成员
2984
2998
  createActionLabel: 添加
2999
+ clusterMemebership: 集群成员
3000
+ projectMembership: 项目成员
2985
3001
  clusterPermissions:
2986
3002
  noDescription: 已创建用户 - 没有描述
2987
3003
  label: 集群权限
@@ -3006,6 +3022,7 @@ members:
3006
3022
  custom:
3007
3023
  label: 自定义
3008
3024
  description: 为该用户自定义角色。
3025
+ lockedRole: 该角色已锁定。
3009
3026
  localClusterWarning: "注意:这是 Rancher 用来存储数据的集群。只有管理员才应该对该集群有写权限。能够写入此集群的用户可以授权自己访问该安装的任何内容。"
3010
3027
  noRolesAssigned: 没有分配给该项目的用户。
3011
3028
 
@@ -3348,6 +3365,7 @@ namespace:
3348
3365
  resourceQuotas: 资源配额
3349
3366
  project:
3350
3367
  label: 项目
3368
+ none: (None)
3351
3369
  resources: 资源
3352
3370
  enableAutoInjection: 启用 Istio 自动注入
3353
3371
  disableAutoInjection: 禁用 Istio 自动注入
@@ -4194,6 +4212,7 @@ projectNamespaces:
4194
4212
  label: 项目/命名空间
4195
4213
  noNamespaces: 没有定义的命名空间。
4196
4214
  noProjectNoNamespaces: 所有命名空间都在一个项目中
4215
+ isIstioInjectionEnabled: 为此命名空间启用了 Istio 自动 Sidecar 注入
4197
4216
 
4198
4217
  prometheusRule:
4199
4218
  alertingRules:
@@ -4542,6 +4561,7 @@ resourceTable:
4542
4561
  namespace: 按命名空间分组
4543
4562
  project: 按项目分组
4544
4563
  node: 按节点分组
4564
+ role: 按角色分组
4545
4565
  cluster: 按集群分组
4546
4566
  groupLabel:
4547
4567
  cluster: "<span>集群:</span> {name}"
@@ -27,12 +27,13 @@ export default {
27
27
  get() {
28
28
  const crdInfo = this.autoInstallInfo.find(info => info.chart.name.includes('crd'));
29
29
 
30
- return crdInfo ? crdInfo.values : null;
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;
31
32
  },
32
33
  set(values) {
33
34
  const crdInfo = this.autoInstallInfo.find(info => info.chart.name.includes('crd'));
34
35
 
35
- this.$set(crdInfo, 'values', values);
36
+ this.$set(crdInfo, 'allValues', values);
36
37
  }
37
38
  }
38
39
  }
package/chart/istio.vue CHANGED
@@ -74,7 +74,10 @@ export default {
74
74
  overlayFile = defaultOverlayFile;
75
75
  }
76
76
 
77
- return { overlayFile };
77
+ return {
78
+ overlayFile,
79
+ showKialiBanner: this.value.kiali?.enabled
80
+ };
78
81
  },
79
82
 
80
83
  computed: {
@@ -121,6 +124,15 @@ export default {
121
124
 
122
125
  onFileSelected(value) {
123
126
  this.$refs['yaml-editor'].updateValue(value);
127
+ },
128
+
129
+ changeKiali(value) {
130
+ if (value && this.value.pilot) {
131
+ this.value.pilot.enabled = true;
132
+ this.showKialiBanner = true;
133
+ } else if (!value) {
134
+ this.showKialiBanner = false;
135
+ }
124
136
  }
125
137
  }
126
138
  };
@@ -138,7 +150,7 @@ export default {
138
150
  <h3>
139
151
  {{ t('istio.titles.components') }}
140
152
  </h3>
141
- <div class="row">
153
+ <div class="row mb-10">
142
154
  <div
143
155
  v-if="value.cni"
144
156
  class="col span-4"
@@ -168,7 +180,7 @@ export default {
168
180
  />
169
181
  </div>
170
182
  </div>
171
- <div class="row">
183
+ <div class="row mb-10">
172
184
  <div
173
185
  v-if="value.pilot"
174
186
  class="col span-4"
@@ -176,6 +188,7 @@ export default {
176
188
  <Checkbox
177
189
  v-model="value.pilot.enabled"
178
190
  :label="t('istio.pilot')"
191
+ :disabled="value.kiali && value.kiali.enabled"
179
192
  />
180
193
  </div>
181
194
  <div
@@ -205,6 +218,7 @@ export default {
205
218
  <Checkbox
206
219
  v-model="value.kiali.enabled"
207
220
  :label="t('istio.kiali')"
221
+ @input="changeKiali"
208
222
  />
209
223
  </div>
210
224
  <div
@@ -217,6 +231,18 @@ export default {
217
231
  />
218
232
  </div>
219
233
  <div class="col span-4" />
234
+ <div
235
+ v-if="showKialiBanner"
236
+ class="row"
237
+ >
238
+ <div class="col span-12">
239
+ <Banner color="info">
240
+ <span
241
+ v-clean-html="t('istio.pilotRequired', {}, true)"
242
+ />
243
+ </Banner>
244
+ </div>
245
+ </div>
220
246
  </div>
221
247
 
222
248
  <h3>{{ t('istio.customOverlayFile.label') }}</h3>
@@ -14,11 +14,8 @@ export default {
14
14
  default: false
15
15
  }
16
16
  },
17
- async fetch() {
18
- this.managementSettings = await this.$store.getters['management/all'](MANAGEMENT.SETTING);
19
- },
20
17
  data() {
21
- return { managementSettings: [] };
18
+ return { managementSettings: this.$store.getters['management/all'](MANAGEMENT.SETTING) };
22
19
  },
23
20
  computed: {
24
21
  ...mapGetters({ theme: 'prefs/theme' }),