@rancher/shell 0.2.2 → 0.2.4

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 (634) hide show
  1. package/assets/brand/csp/dark/rancher-logo.svg +148 -0
  2. package/assets/brand/csp/favicon.png +0 -0
  3. package/assets/brand/csp/metadata.json +3 -0
  4. package/assets/brand/csp/rancher-logo.svg +130 -0
  5. package/assets/styles/app.scss +2 -1
  6. package/assets/styles/global/_layout.scss +53 -0
  7. package/assets/styles/themes/_csp.scss +25 -0
  8. package/assets/styles/themes/_dark.scss +2 -1
  9. package/assets/styles/themes/_light.scss +2 -1
  10. package/assets/styles/vendor/vue-select.scss +0 -5
  11. package/assets/translations/en-us.yaml +45 -28
  12. package/chart/istio.vue +81 -22
  13. package/chart/logging/index.vue +20 -6
  14. package/chart/monitoring/alerting/index.vue +4 -1
  15. package/chart/monitoring/index.vue +41 -9
  16. package/chart/monitoring/prometheus/index.vue +33 -29
  17. package/chart/monitoring/steps/uninstall-v1.vue +8 -4
  18. package/chart/rancher-backup/S3.vue +43 -8
  19. package/chart/rancher-backup/index.vue +23 -5
  20. package/chart/rancher-gatekeeper.vue +10 -2
  21. package/cloud-credential/aws.vue +8 -2
  22. package/cloud-credential/digitalocean.vue +4 -1
  23. package/cloud-credential/gcp.vue +9 -2
  24. package/cloud-credential/generic.vue +6 -1
  25. package/cloud-credential/harvester.vue +4 -1
  26. package/cloud-credential/linode.vue +4 -1
  27. package/cloud-credential/s3.vue +4 -1
  28. package/components/.DS_Store +0 -0
  29. package/components/ActionDropdown.vue +4 -1
  30. package/components/ActionMenu.vue +17 -4
  31. package/components/AdvancedSection.vue +6 -1
  32. package/components/Alert.vue +5 -1
  33. package/components/AssignTo.vue +24 -6
  34. package/components/AsyncButton.vue +10 -0
  35. package/components/AwsComplianceBanner.vue +4 -1
  36. package/components/BackLink.vue +5 -1
  37. package/components/BannerGraphic.vue +16 -4
  38. package/components/BrandImage.vue +4 -1
  39. package/components/ButtonDropdown.vue +10 -3
  40. package/components/ButtonGroup.vue +17 -4
  41. package/components/Carousel.vue +26 -8
  42. package/components/ChartHeading.vue +5 -1
  43. package/components/ChartReadme.vue +17 -5
  44. package/components/ClusterBadge.vue +5 -1
  45. package/components/ClusterProviderIcon.vue +15 -3
  46. package/components/Collapse.vue +17 -5
  47. package/components/CollapsibleCard.vue +10 -4
  48. package/components/CommunityLinks.vue +32 -9
  49. package/components/CompoundStatusBadge.vue +4 -1
  50. package/components/ContainerResourceLimit.vue +12 -3
  51. package/components/CopyToClipboardText.vue +10 -2
  52. package/components/CountBox.vue +13 -3
  53. package/components/CountGauge.vue +28 -5
  54. package/components/CruResource.vue +88 -23
  55. package/components/CruResourceFooter.vue +1 -1
  56. package/components/DashboardMetrics.vue +12 -3
  57. package/components/DashboardOptions.vue +14 -3
  58. package/components/DetailText.vue +28 -6
  59. package/components/DetailTop.vue +57 -12
  60. package/components/Dialog.vue +17 -5
  61. package/components/EmberPage.vue +23 -5
  62. package/components/EmberPageView.vue +4 -1
  63. package/components/EtcdInfoBanner.vue +5 -1
  64. package/components/ExplorerMembers.vue +7 -9
  65. package/components/ExplorerProjectsNamespaces.vue +42 -10
  66. package/components/FileDiff.vue +5 -1
  67. package/components/FixedBanner.vue +27 -7
  68. package/components/Flag.vue +8 -2
  69. package/components/Glance.vue +11 -2
  70. package/components/GlobalRoleBindings.vue +24 -5
  71. package/components/GradientBox.vue +5 -1
  72. package/components/GrafanaDashboard.vue +19 -5
  73. package/components/GrowlManager.vue +27 -6
  74. package/components/HardwareResourceGauge.vue +8 -2
  75. package/components/HarvesterServiceAddOnConfig.vue +4 -1
  76. package/components/IconMessage.vue +8 -2
  77. package/components/Import.vue +37 -8
  78. package/components/IndentedPanel.vue +4 -1
  79. package/components/InfoBox.vue +8 -2
  80. package/components/KeyValueView.vue +29 -7
  81. package/components/LandingPagePreference.vue +13 -2
  82. package/components/LazyImage.vue +5 -1
  83. package/components/Loading.vue +13 -3
  84. package/components/LocaleSelector.vue +10 -2
  85. package/components/Markdown.vue +5 -1
  86. package/components/MessageLink.vue +19 -4
  87. package/components/ModalWithCard.vue +24 -8
  88. package/components/MoveModal.vue +35 -7
  89. package/components/PercentageBar.vue +9 -2
  90. package/components/ProgressBarMulti.vue +4 -1
  91. package/components/PromptChangePassword.vue +17 -4
  92. package/components/PromptModal.vue +7 -1
  93. package/components/PromptRemove.vue +31 -10
  94. package/components/PromptRestore.vue +35 -10
  95. package/components/Questions/Array.vue +4 -1
  96. package/components/Questions/Boolean.vue +4 -1
  97. package/components/Questions/Enum.vue +4 -1
  98. package/components/Questions/Float.vue +4 -1
  99. package/components/Questions/Int.vue +4 -1
  100. package/components/Questions/QuestionMap.vue +4 -1
  101. package/components/Questions/Reference.vue +8 -2
  102. package/components/Questions/String.vue +4 -1
  103. package/components/Questions/index.vue +10 -2
  104. package/components/Random.vue +11 -3
  105. package/components/RelatedResources.vue +8 -2
  106. package/components/RelatedWorkloadsTable.vue +5 -1
  107. package/components/ResourceCancelModal.vue +15 -3
  108. package/components/ResourceDetail/Masthead.vue +31 -7
  109. package/components/ResourceList/Masthead.vue +6 -4
  110. package/components/ResourceList/ResourceLoadingIndicator.vue +8 -2
  111. package/components/ResourceList/index.vue +11 -8
  112. package/components/ResourceSummary.vue +13 -3
  113. package/components/ResourceTable.vue +59 -11
  114. package/components/ResourceYaml.vue +8 -2
  115. package/components/RoleBindings.vue +20 -3
  116. package/components/SelectIconGrid.vue +29 -7
  117. package/components/SimpleBox.vue +14 -3
  118. package/components/SingleClusterInfo.vue +40 -9
  119. package/components/SortableTable/THead.vue +29 -8
  120. package/components/SortableTable/filtering.js +7 -0
  121. package/components/SortableTable/index.vue +204 -45
  122. package/components/Tabbed/Tab.vue +9 -2
  123. package/components/Tabbed/index.vue +32 -7
  124. package/components/TableSparkLine.vue +4 -1
  125. package/components/Tip.vue +4 -1
  126. package/components/Wizard.vue +105 -23
  127. package/components/YamlEditor.vue +5 -1
  128. package/components/__tests__/.DS_Store +0 -0
  129. package/components/auth/AllowedPrincipals.vue +21 -5
  130. package/components/auth/AuthBanner.vue +21 -5
  131. package/components/auth/AzureWarning.vue +5 -1
  132. package/components/auth/Principal.vue +37 -9
  133. package/components/auth/RoleDetailEdit.vue +34 -10
  134. package/components/auth/SelectPrincipal.vue +20 -3
  135. package/components/auth/login/github.vue +5 -1
  136. package/components/auth/login/ldap.vue +10 -2
  137. package/components/auth/login/oauth.vue +6 -1
  138. package/components/auth/login/oidc.vue +6 -1
  139. package/components/auth/login/saml.vue +6 -1
  140. package/components/fleet/FleetBundles.vue +9 -2
  141. package/components/fleet/FleetClusters.vue +29 -6
  142. package/components/fleet/FleetIntro.vue +5 -2
  143. package/components/fleet/FleetRepos.vue +23 -4
  144. package/components/fleet/FleetStatus.vue +16 -4
  145. package/components/fleet/FleetSummary.vue +10 -2
  146. package/components/fleet/ForceDirectedTreeChart/index.vue +5 -3
  147. package/components/fleet/ResourcesSummary.vue +5 -1
  148. package/components/form/ArrayList.vue +31 -8
  149. package/components/form/ArrayListGrouped.vue +9 -3
  150. package/components/form/ArrayListSelect.vue +6 -1
  151. package/components/form/BannerSettings.vue +8 -2
  152. package/components/form/ChangePassword.vue +50 -10
  153. package/components/form/ColorInput.vue +28 -5
  154. package/components/form/Command.vue +5 -2
  155. package/components/form/EnvVars.vue +4 -1
  156. package/components/form/Error.vue +10 -2
  157. package/components/form/FileImageSelector.vue +1 -1
  158. package/components/form/FileSelector.vue +8 -2
  159. package/components/form/Footer.vue +14 -4
  160. package/components/form/GithubPicker.vue +16 -9
  161. package/components/form/HookOption.vue +5 -1
  162. package/components/form/InputWithSelect.vue +1 -1
  163. package/components/form/KeyValue.vue +81 -19
  164. package/components/form/LabeledSelect.vue +55 -8
  165. package/components/form/Labels.vue +1 -1
  166. package/components/form/LifecycleHooks.vue +10 -2
  167. package/components/form/MatchExpressions.vue +11 -3
  168. package/components/form/Members/ClusterPermissionsEditor.vue +21 -4
  169. package/components/form/Members/MembershipEditor.vue +11 -2
  170. package/components/form/NameNsDescription.vue +16 -10
  171. package/components/form/Networking.vue +3 -3
  172. package/components/form/NodeAffinity.vue +4 -1
  173. package/components/form/NodeScheduling.vue +5 -1
  174. package/components/form/Password.vue +32 -7
  175. package/components/form/PlusMinus.vue +18 -3
  176. package/components/form/PodAffinity.vue +12 -5
  177. package/components/form/PodSecurity.vue +20 -4
  178. package/components/form/Ports.vue +37 -11
  179. package/components/form/Probe.vue +18 -4
  180. package/components/form/ProjectMemberEditor.vue +24 -4
  181. package/components/form/ResourceQuota/NamespaceRow.vue +4 -1
  182. package/components/form/ResourceQuota/Project.vue +7 -1
  183. package/components/form/ResourceQuota/ProjectRow.vue +11 -2
  184. package/components/form/ResourceSelector.vue +145 -0
  185. package/components/form/ResourceTabs/index.vue +38 -7
  186. package/components/form/RuleSelector.vue +15 -4
  187. package/components/form/SecretSelector.vue +4 -1
  188. package/components/form/Security.vue +2 -2
  189. package/components/form/Select.vue +8 -3
  190. package/components/form/SelectOrCreateAuthSecret.vue +43 -9
  191. package/components/form/ServiceNameSelect.vue +2 -2
  192. package/components/form/ServicePorts.vue +58 -17
  193. package/components/form/Tolerations.vue +34 -7
  194. package/components/form/ValueFromResource.vue +10 -2
  195. package/components/form/WorkloadPorts.vue +36 -8
  196. package/components/form/__tests__/MatchExpressions.test.ts +1 -2
  197. package/components/formatter/AppSummaryGraph.vue +24 -6
  198. package/components/formatter/BadgeStateFormatter.vue +4 -1
  199. package/components/formatter/Checked.vue +4 -1
  200. package/components/formatter/ClusterLink.vue +4 -1
  201. package/components/formatter/Date.vue +1 -1
  202. package/components/formatter/DelayedValue.vue +4 -1
  203. package/components/formatter/Endpoints.vue +5 -1
  204. package/components/formatter/ExternalLink.vue +5 -1
  205. package/components/formatter/FleetSummaryGraph.vue +20 -5
  206. package/components/formatter/IconText.vue +4 -1
  207. package/components/formatter/ImagePercentageBar.vue +5 -1
  208. package/components/formatter/IngressFullPath.vue +6 -1
  209. package/components/formatter/IngressTarget.vue +22 -5
  210. package/components/formatter/InternalExternalIP.vue +12 -2
  211. package/components/formatter/KeyValue.vue +5 -1
  212. package/components/formatter/Link.vue +30 -6
  213. package/components/formatter/LinkDetail.vue +4 -1
  214. package/components/formatter/LinkDetailImage.vue +1 -1
  215. package/components/formatter/ListLink.vue +10 -2
  216. package/components/formatter/ListLinkDetail.vue +6 -1
  217. package/components/formatter/LiveDate.vue +13 -3
  218. package/components/formatter/LiveExpiryDate.vue +18 -4
  219. package/components/formatter/LivePodRestarts.vue +4 -1
  220. package/components/formatter/MachineSummaryGraph.vue +25 -6
  221. package/components/formatter/Number.vue +4 -1
  222. package/components/formatter/PodsUsage.vue +4 -1
  223. package/components/formatter/Principal.vue +5 -1
  224. package/components/formatter/PrincipalGroupBindings.vue +4 -1
  225. package/components/formatter/ReceiverIcons.vue +9 -3
  226. package/components/formatter/RunBookLink.vue +6 -1
  227. package/components/formatter/Scale.vue +45 -10
  228. package/components/formatter/ScanResult.vue +4 -1
  229. package/components/formatter/SecretData.vue +5 -2
  230. package/components/formatter/SecretType.vue +4 -1
  231. package/components/formatter/ServiceTargets.vue +16 -4
  232. package/components/formatter/Shortened.vue +8 -2
  233. package/components/formatter/VirtualServiceGateways.vue +8 -2
  234. package/components/formatter/Weight.vue +19 -4
  235. package/components/formatter/WorkloadDetailEndpoints.vue +5 -1
  236. package/components/formatter/WorkloadHealthScale.vue +42 -8
  237. package/components/graph/AspectPreserver.vue +14 -3
  238. package/components/graph/Bar.vue +14 -3
  239. package/components/graph/Circle.vue +36 -7
  240. package/components/graph/HalfCircle.vue +6 -1
  241. package/components/graph/LinePlot.vue +3 -6
  242. package/components/graph/ProgressArc.vue +8 -2
  243. package/components/nav/GlobalLoading.vue +4 -1
  244. package/components/nav/Group.vue +39 -9
  245. package/components/nav/Header.vue +154 -37
  246. package/components/nav/Jump.vue +6 -2
  247. package/components/nav/NamespaceFilter.vue +112 -24
  248. package/components/nav/TopLevelMenu.vue +108 -24
  249. package/components/nav/Type.vue +18 -4
  250. package/components/nav/WindowManager/ChartReadme.vue +4 -1
  251. package/components/nav/WindowManager/ContainerLogs.vue +92 -19
  252. package/components/nav/WindowManager/ContainerShell.vue +26 -6
  253. package/components/nav/WindowManager/Window.vue +8 -2
  254. package/components/nav/WindowManager/index.vue +17 -4
  255. package/config/labels-annotations.js +5 -42
  256. package/config/private-label.js +5 -2
  257. package/config/product/explorer.js +8 -2
  258. package/config/roles.ts +2 -1
  259. package/config/{settings.js → settings.ts} +33 -50
  260. package/config/types.js +2 -0
  261. package/content/docs/en-us/getting-started.md +3 -3
  262. package/content/docs/en-us/whats-new.md +9 -123
  263. package/core/plugins.js +11 -8
  264. package/creators/app/{files/.eslintignore → .eslintignore} +0 -0
  265. package/creators/app/{files/.eslintrc.js → .eslintrc.js} +0 -0
  266. package/creators/app/{files/.vscode → .vscode}/settings.json +0 -0
  267. package/creators/app/{files/babel.config.js → babel.config.js} +0 -0
  268. package/creators/app/init +17 -16
  269. package/creators/app/{files/nuxt.config.js → nuxt.config.js} +0 -0
  270. package/creators/app/package.json +1 -7
  271. package/creators/app/{files/tsconfig.json → tsconfig.json} +1 -2
  272. package/creators/pkg/{files/babel.config.js → babel.config.js} +0 -0
  273. package/creators/pkg/{files/index.ts → index.ts} +0 -0
  274. package/creators/pkg/init +1 -1
  275. package/creators/pkg/nuxt.config.js +6 -0
  276. package/creators/pkg/package-lock.json +37 -0
  277. package/creators/pkg/package.json +1 -1
  278. package/creators/pkg/{files/tsconfig.json → tsconfig.json} +12 -13
  279. package/creators/pkg/{files/vue.config.js → vue.config.js} +0 -0
  280. package/detail/autoscaling.horizontalpodautoscaler/index.vue +12 -3
  281. package/detail/catalog.cattle.io.app.vue +41 -8
  282. package/detail/catalog.cattle.io.clusterrepo.vue +4 -1
  283. package/detail/cis.cattle.io.clusterscan.vue +23 -5
  284. package/detail/configmap.vue +18 -4
  285. package/detail/constraints.gatekeeper.sh.constraint.vue +4 -1
  286. package/detail/fleet.cattle.io.cluster.vue +14 -3
  287. package/detail/fleet.cattle.io.clustergroup.vue +9 -2
  288. package/detail/fleet.cattle.io.gitrepo.vue +16 -3
  289. package/detail/harvesterhci.io.management.cluster.vue +5 -1
  290. package/detail/helm.cattle.io.projecthelmchart.vue +49 -13
  291. package/detail/management.cattle.io.fleetworkspace.vue +19 -4
  292. package/detail/management.cattle.io.roletemplate.vue +4 -1
  293. package/detail/management.cattle.io.user.vue +26 -5
  294. package/detail/namespace.vue +6 -4
  295. package/detail/networking.k8s.io.ingress.vue +16 -3
  296. package/detail/node.vue +83 -18
  297. package/detail/pod.vue +27 -5
  298. package/detail/provisioning.cattle.io.cluster.vue +195 -43
  299. package/detail/secret.vue +78 -19
  300. package/detail/service.vue +9 -2
  301. package/detail/workload/index.vue +81 -17
  302. package/dialog/AddClusterMemberDialog.vue +25 -6
  303. package/dialog/AddCustomBadgeDialog.vue +43 -10
  304. package/dialog/AddProjectMemberDialog.vue +27 -7
  305. package/dialog/AddonConfigConfirmationDialog.vue +17 -4
  306. package/dialog/DiagnosticTimingsDialog.vue +27 -6
  307. package/dialog/DrainNode.vue +46 -11
  308. package/dialog/ForceMachineRemoveDialog.vue +35 -8
  309. package/dialog/GenericPrompt.vue +28 -7
  310. package/dialog/RollbackWorkloadDialog.vue +45 -11
  311. package/dialog/RotateCertificatesDialog.vue +31 -6
  312. package/dialog/RotateEncryptionKeyDialog.vue +41 -10
  313. package/dialog/SaveAsRKETemplateDialog.vue +31 -7
  314. package/dialog/ScaleMachineDownDialog.vue +13 -3
  315. package/edit/__tests__/management.cattle.io.setting.test.ts +87 -0
  316. package/edit/auth/azuread.vue +20 -6
  317. package/edit/auth/github.vue +52 -11
  318. package/edit/auth/googleoauth.vue +81 -17
  319. package/edit/auth/ldap/config.vue +164 -31
  320. package/edit/auth/ldap/index.vue +29 -7
  321. package/edit/auth/oidc.vue +36 -8
  322. package/edit/auth/saml.vue +57 -12
  323. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +9 -2
  324. package/edit/autoscaling.horizontalpodautoscaler/index.vue +23 -6
  325. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +8 -2
  326. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +16 -4
  327. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +13 -3
  328. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +9 -2
  329. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +6 -1
  330. package/edit/catalog.cattle.io.clusterrepo.vue +15 -3
  331. package/edit/cis.cattle.io.clusterscan.vue +53 -11
  332. package/edit/cis.cattle.io.clusterscanbenchmark.vue +15 -3
  333. package/edit/cis.cattle.io.clusterscanprofile.vue +13 -3
  334. package/edit/configmap.vue +5 -1
  335. package/edit/constraints.gatekeeper.sh.constraint/index.vue +40 -9
  336. package/edit/fleet.cattle.io.cluster.vue +6 -2
  337. package/edit/fleet.cattle.io.clustergroup.vue +12 -3
  338. package/edit/fleet.cattle.io.gitrepo.vue +25 -5
  339. package/edit/group.principal.vue +6 -1
  340. package/edit/harvesterhci.io.management.cluster.vue +22 -5
  341. package/edit/k8s.cni.cncf.io.networkattachmentdefinition.vue +11 -2
  342. package/edit/logging-flow/Match.vue +2 -2
  343. package/edit/logging-flow/index.vue +67 -14
  344. package/edit/logging.banzaicloud.io.output/index.vue +37 -8
  345. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +7 -2
  346. package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +19 -4
  347. package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +24 -4
  348. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +20 -5
  349. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +21 -5
  350. package/edit/logging.banzaicloud.io.output/providers/file.vue +6 -1
  351. package/edit/logging.banzaicloud.io.output/providers/forward.vue +8 -3
  352. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +25 -5
  353. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +46 -8
  354. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +26 -6
  355. package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +7 -2
  356. package/edit/logging.banzaicloud.io.output/providers/logdna.vue +20 -4
  357. package/edit/logging.banzaicloud.io.output/providers/logz.vue +8 -3
  358. package/edit/logging.banzaicloud.io.output/providers/loki.vue +34 -8
  359. package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +1 -1
  360. package/edit/logging.banzaicloud.io.output/providers/s3.vue +25 -5
  361. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +33 -7
  362. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +57 -12
  363. package/edit/management.cattle.io.clusterroletemplatebinding.vue +10 -2
  364. package/edit/management.cattle.io.fleetworkspace.vue +17 -4
  365. package/edit/management.cattle.io.project.vue +7 -1
  366. package/edit/management.cattle.io.roletemplate.vue +4 -1
  367. package/edit/management.cattle.io.setting.vue +71 -30
  368. package/edit/management.cattle.io.user.vue +4 -1
  369. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +24 -6
  370. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +24 -5
  371. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +29 -6
  372. package/edit/monitoring.coreos.com.alertmanagerconfig/tls.vue +12 -3
  373. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +50 -9
  374. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +31 -6
  375. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +29 -6
  376. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +8 -2
  377. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +36 -7
  378. package/edit/monitoring.coreos.com.prometheusrule/AlertingRule.vue +24 -6
  379. package/edit/monitoring.coreos.com.prometheusrule/GroupRules.vue +16 -6
  380. package/edit/monitoring.coreos.com.prometheusrule/index.vue +10 -2
  381. package/edit/monitoring.coreos.com.receiver/auth.vue +36 -7
  382. package/edit/monitoring.coreos.com.receiver/index.vue +53 -11
  383. package/edit/monitoring.coreos.com.receiver/tls.vue +22 -4
  384. package/edit/monitoring.coreos.com.receiver/types/email.vue +48 -8
  385. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +32 -6
  386. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +22 -4
  387. package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -1
  388. package/edit/monitoring.coreos.com.receiver/types/webhook.banner.vue +5 -1
  389. package/edit/monitoring.coreos.com.receiver/types/webhook.vue +31 -6
  390. package/edit/monitoring.coreos.com.route.vue +71 -15
  391. package/edit/namespace.vue +35 -7
  392. package/edit/networking.istio.io.destinationrule/LoadBalancer.vue +12 -3
  393. package/edit/networking.istio.io.destinationrule/index.vue +5 -3
  394. package/edit/networking.k8s.io.ingress/Certificate.vue +10 -2
  395. package/edit/networking.k8s.io.ingress/Certificates.vue +6 -1
  396. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +16 -4
  397. package/edit/networking.k8s.io.ingress/Rule.vue +21 -5
  398. package/edit/networking.k8s.io.ingress/RulePath.vue +27 -6
  399. package/edit/networking.k8s.io.ingress/Rules.vue +7 -1
  400. package/edit/networking.k8s.io.ingress/index.vue +52 -9
  401. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +20 -4
  402. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +8 -2
  403. package/edit/networking.k8s.io.networkpolicy/index.vue +36 -8
  404. package/edit/node.vue +13 -3
  405. package/edit/persistentvolume/index.vue +48 -8
  406. package/edit/persistentvolume/plugins/awsElasticBlockStore.vue +19 -3
  407. package/edit/persistentvolume/plugins/azureDisk.vue +20 -3
  408. package/edit/persistentvolume/plugins/azureFile.vue +18 -3
  409. package/edit/persistentvolume/plugins/cephfs.vue +35 -6
  410. package/edit/persistentvolume/plugins/cinder.vue +24 -4
  411. package/edit/persistentvolume/plugins/csi.vue +72 -12
  412. package/edit/persistentvolume/plugins/fc.vue +23 -4
  413. package/edit/persistentvolume/plugins/flexVolume.vue +30 -5
  414. package/edit/persistentvolume/plugins/flocker.vue +12 -2
  415. package/edit/persistentvolume/plugins/gcePersistentDisk.vue +19 -3
  416. package/edit/persistentvolume/plugins/glusterfs.vue +12 -2
  417. package/edit/persistentvolume/plugins/hostPath.vue +12 -2
  418. package/edit/persistentvolume/plugins/iscsi.vue +54 -9
  419. package/edit/persistentvolume/plugins/local.vue +6 -1
  420. package/edit/persistentvolume/plugins/longhorn.vue +13 -2
  421. package/edit/persistentvolume/plugins/nfs.vue +12 -2
  422. package/edit/persistentvolume/plugins/photonPersistentDisk.vue +12 -2
  423. package/edit/persistentvolume/plugins/portworxVolume.vue +12 -2
  424. package/edit/persistentvolume/plugins/quobyte.vue +24 -4
  425. package/edit/persistentvolume/plugins/rbd.vue +47 -8
  426. package/edit/persistentvolume/plugins/scaleIO.vue +54 -9
  427. package/edit/persistentvolume/plugins/storageos.vue +30 -5
  428. package/edit/persistentvolume/plugins/vsphereVolume.vue +24 -4
  429. package/edit/persistentvolumeclaim.vue +69 -15
  430. package/edit/policy.poddisruptionbudget.vue +149 -0
  431. package/edit/provisioning.cattle.io.cluster/ACE.vue +6 -1
  432. package/edit/provisioning.cattle.io.cluster/AgentEnv.vue +4 -1
  433. package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +61 -15
  434. package/edit/provisioning.cattle.io.cluster/DrainOptions.vue +24 -4
  435. package/edit/provisioning.cattle.io.cluster/Labels.vue +4 -1
  436. package/edit/provisioning.cattle.io.cluster/MachinePool.vue +31 -8
  437. package/edit/provisioning.cattle.io.cluster/RegistryConfigs.vue +16 -3
  438. package/edit/provisioning.cattle.io.cluster/RegistryMirrors.vue +4 -1
  439. package/edit/provisioning.cattle.io.cluster/S3Config.vue +35 -6
  440. package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +21 -5
  441. package/edit/provisioning.cattle.io.cluster/import.vue +23 -5
  442. package/edit/provisioning.cattle.io.cluster/index.vue +9 -0
  443. package/edit/provisioning.cattle.io.cluster/rke2.vue +203 -64
  444. package/edit/resources.cattle.io.backup.vue +42 -8
  445. package/edit/resources.cattle.io.restore.vue +53 -11
  446. package/edit/secret/basic.vue +12 -2
  447. package/edit/secret/index.vue +29 -7
  448. package/edit/secret/registry.vue +22 -4
  449. package/edit/secret/ssh.vue +10 -2
  450. package/edit/secret/tls.vue +10 -2
  451. package/edit/service.vue +12 -3
  452. package/edit/serviceaccount.vue +6 -3
  453. package/edit/storage.k8s.io.storageclass/index.vue +15 -3
  454. package/edit/storage.k8s.io.storageclass/provisioners/custom.vue +6 -1
  455. package/edit/storage.k8s.io.storageclass/provisioners/driver.longhorn.io.vue +6 -1
  456. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +20 -3
  457. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-disk.vue +12 -2
  458. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-file.vue +18 -3
  459. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/cinder.vue +13 -2
  460. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +14 -2
  461. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/glusterfs.vue +54 -9
  462. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/portworx-volume.vue +42 -7
  463. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/quobyte.vue +48 -8
  464. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/rbd.vue +66 -11
  465. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/scaleio.vue +48 -8
  466. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/storageos.vue +30 -5
  467. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +36 -6
  468. package/edit/token.vue +48 -10
  469. package/edit/workload/Job.vue +20 -5
  470. package/edit/workload/Upgrading.vue +28 -7
  471. package/edit/workload/index.vue +244 -48
  472. package/edit/workload/storage/azureDisk.vue +5 -1
  473. package/edit/workload/storage/azureFile.vue +5 -1
  474. package/edit/workload/storage/csi/driver.longhorn.io.vue +6 -1
  475. package/edit/workload/storage/csi/index.vue +9 -2
  476. package/edit/workload/storage/ephemeralVolume/index.vue +38 -8
  477. package/edit/workload/storage/gcePersistentDisk.vue +10 -2
  478. package/edit/workload/storage/hostPath.vue +18 -3
  479. package/edit/workload/storage/persistentVolumeClaim/index.vue +4 -1
  480. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +26 -5
  481. package/edit/workload/storage/vsphereVolume.vue +10 -2
  482. package/layouts/blank.vue +1 -1
  483. package/layouts/default.vue +60 -65
  484. package/layouts/error.vue +25 -5
  485. package/layouts/home.vue +17 -4
  486. package/layouts/plain.vue +13 -3
  487. package/layouts/unauthenticated.vue +1 -1
  488. package/list/catalog.cattle.io.app.vue +15 -2
  489. package/list/catalog.cattle.io.clusterrepo.vue +5 -0
  490. package/list/cis.cattle.io.clusterscan.vue +6 -0
  491. package/list/fleet.cattle.io.bundle.vue +14 -2
  492. package/list/fleet.cattle.io.cluster.vue +10 -1
  493. package/list/fleet.cattle.io.clustergroup.vue +14 -2
  494. package/list/fleet.cattle.io.clusterregistrationtoken.vue +11 -3
  495. package/list/fleet.cattle.io.gitrepo.vue +6 -0
  496. package/list/group.principal.vue +11 -1
  497. package/list/harvesterhci.io.management.cluster.vue +25 -6
  498. package/list/helm.cattle.io.projecthelmchart.vue +23 -5
  499. package/list/logging.banzaicloud.io.clusterflow.vue +11 -1
  500. package/list/logging.banzaicloud.io.flow.vue +11 -1
  501. package/list/management.cattle.io.cluster.vue +12 -1
  502. package/list/management.cattle.io.feature.vue +71 -15
  503. package/list/management.cattle.io.setting.vue +44 -10
  504. package/list/management.cattle.io.user.vue +12 -1
  505. package/list/monitoring.coreos.com.alertmanagerconfig.vue +6 -0
  506. package/list/namespace.vue +8 -0
  507. package/list/node.vue +14 -2
  508. package/list/persistentvolume.vue +13 -1
  509. package/list/persistentvolumeclaim.vue +6 -0
  510. package/list/provisioning.cattle.io.cluster.vue +23 -4
  511. package/list/service.vue +6 -0
  512. package/list/ui.cattle.io.navlink.vue +20 -3
  513. package/list/workload.vue +15 -2
  514. package/machine-config/amazonec2.vue +12 -3
  515. package/machine-config/azure.vue +16 -7
  516. package/machine-config/digitalocean.vue +4 -1
  517. package/machine-config/generic.vue +4 -1
  518. package/machine-config/harvester.vue +23 -6
  519. package/machine-config/linode.vue +4 -1
  520. package/machine-config/vmwarevsphere.vue +91 -21
  521. package/mixins/__tests__/create-edit-view.test.ts +19 -0
  522. package/mixins/brand.js +12 -3
  523. package/mixins/form-validation.js +108 -33
  524. package/models/clusterroletemplatebinding.js +2 -5
  525. package/models/management.cattle.io.cluster.js +7 -1
  526. package/models/secret.js +9 -1
  527. package/models/workload.js +3 -3
  528. package/nuxt.config.js +28 -10
  529. package/package.json +2 -2
  530. package/pages/about.vue +41 -9
  531. package/pages/account/index.vue +20 -5
  532. package/pages/auth/login.vue +83 -22
  533. package/pages/auth/logout.vue +1 -1
  534. package/pages/auth/setup.vue +48 -12
  535. package/pages/auth/verify.vue +1 -1
  536. package/pages/c/_cluster/_product/members/index.vue +3 -1
  537. package/pages/c/_cluster/_product/namespaces.vue +4 -1
  538. package/pages/c/_cluster/apps/charts/chart.vue +124 -27
  539. package/pages/c/_cluster/apps/charts/index.vue +35 -8
  540. package/pages/c/_cluster/apps/charts/install.vue +200 -48
  541. package/pages/c/_cluster/auth/config/_id.vue +4 -1
  542. package/pages/c/_cluster/auth/config/index.vue +6 -2
  543. package/pages/c/_cluster/auth/group.principal/assign-edit.vue +10 -5
  544. package/pages/c/_cluster/auth/roles/index.vue +33 -7
  545. package/pages/c/_cluster/explorer/ConfigBadge.vue +4 -1
  546. package/pages/c/_cluster/explorer/index.vue +109 -24
  547. package/pages/c/_cluster/explorer/tools/index.vue +76 -17
  548. package/pages/c/_cluster/explorer/tools/pages/_page.vue +4 -1
  549. package/pages/c/_cluster/fleet/index.vue +9 -2
  550. package/pages/c/_cluster/gatekeeper/index.vue +4 -1
  551. package/pages/c/_cluster/istio/index.vue +20 -8
  552. package/pages/c/_cluster/legacy/pages/_page.vue +4 -1
  553. package/pages/c/_cluster/legacy/project/_page.vue +4 -1
  554. package/pages/c/_cluster/legacy/project/index.vue +4 -1
  555. package/pages/c/_cluster/legacy/project/pipelines.vue +27 -5
  556. package/pages/c/_cluster/logging/index.vue +4 -1
  557. package/pages/c/_cluster/longhorn/index.vue +16 -5
  558. package/pages/c/_cluster/manager/cloudCredential/index.vue +15 -3
  559. package/pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver.vue +1 -1
  560. package/pages/c/_cluster/monitoring/index.vue +14 -5
  561. package/pages/c/_cluster/monitoring/monitor/index.vue +24 -6
  562. package/pages/c/_cluster/monitoring/route-receiver/index.vue +25 -6
  563. package/pages/c/_cluster/neuvector/index.vue +16 -5
  564. package/pages/c/_cluster/settings/DefaultLinksEditor.vue +25 -7
  565. package/pages/c/_cluster/settings/banners.vue +10 -2
  566. package/pages/c/_cluster/settings/brand.vue +75 -17
  567. package/pages/c/_cluster/settings/links.vue +16 -4
  568. package/pages/c/_cluster/settings/performance.vue +22 -5
  569. package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +19 -4
  570. package/pages/c/_cluster/uiplugins/InstallDialog.vue +14 -3
  571. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +54 -12
  572. package/pages/c/_cluster/uiplugins/RemoveUIPlugins.vue +18 -4
  573. package/pages/c/_cluster/uiplugins/SetupUIPlugins.vue +14 -3
  574. package/pages/c/_cluster/uiplugins/UninstallDialog.vue +9 -2
  575. package/pages/c/_cluster/uiplugins/index.vue +149 -34
  576. package/pages/diagnostic.vue +14 -5
  577. package/pages/docs/_doc.vue +22 -5
  578. package/pages/fail-whale.vue +26 -6
  579. package/pages/home.vue +54 -14
  580. package/pages/prefs.vue +65 -22
  581. package/pages/rio/mesh.vue +6 -2
  582. package/pages/support/index.vue +35 -7
  583. package/plugins/steve/subscribe.js +1 -1
  584. package/promptRemove/management.cattle.io.globalrole.vue +9 -3
  585. package/promptRemove/management.cattle.io.project.vue +14 -5
  586. package/promptRemove/management.cattle.io.roletemplate.vue +9 -3
  587. package/promptRemove/pod.vue +15 -3
  588. package/rancher-components/BadgeState/BadgeState.spec.ts +12 -0
  589. package/rancher-components/BadgeState/BadgeState.vue +107 -0
  590. package/rancher-components/BadgeState/index.ts +1 -0
  591. package/rancher-components/Banner/Banner.test.ts +13 -0
  592. package/rancher-components/Banner/Banner.vue +163 -0
  593. package/rancher-components/Banner/index.ts +1 -0
  594. package/rancher-components/Card/Card.vue +150 -0
  595. package/rancher-components/Card/index.ts +1 -0
  596. package/rancher-components/Form/Checkbox/Checkbox.test.ts +77 -0
  597. package/rancher-components/Form/Checkbox/Checkbox.vue +395 -0
  598. package/rancher-components/Form/Checkbox/index.ts +1 -0
  599. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +29 -0
  600. package/rancher-components/Form/LabeledInput/LabeledInput.vue +343 -0
  601. package/rancher-components/Form/LabeledInput/index.ts +1 -0
  602. package/rancher-components/Form/Radio/RadioButton.vue +270 -0
  603. package/rancher-components/Form/Radio/RadioGroup.vue +235 -0
  604. package/rancher-components/Form/Radio/index.ts +2 -0
  605. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +169 -0
  606. package/rancher-components/Form/TextArea/index.ts +1 -0
  607. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.test.ts +107 -0
  608. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +137 -0
  609. package/rancher-components/Form/ToggleSwitch/index.ts +1 -0
  610. package/rancher-components/Form/index.ts +5 -0
  611. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +137 -0
  612. package/rancher-components/LabeledTooltip/index.ts +1 -0
  613. package/rancher-components/StringList/StringList.test.ts +80 -0
  614. package/rancher-components/StringList/StringList.vue +593 -0
  615. package/rancher-components/StringList/index.ts +1 -0
  616. package/scripts/publish-shell.sh +6 -39
  617. package/scripts/test-plugins-build.sh +5 -9
  618. package/store/prefs.js +1 -1
  619. package/types/form.ts +1 -0
  620. package/types/generic.ts +2 -0
  621. package/types/t.ts +1 -0
  622. package/types/userPreferences.d.ts +14 -0
  623. package/utils/array.ts +21 -0
  624. package/utils/favicon.js +2 -0
  625. package/utils/settings.ts +50 -0
  626. package/utils/validators/formRules/__tests__/index.test.ts +22 -1
  627. package/utils/validators/formRules/index.ts +68 -43
  628. package/creators/update/init +0 -54
  629. package/creators/update/package.json +0 -20
  630. package/creators/update/upgrade +0 -56
  631. package/scripts/record-deps.js +0 -37
  632. package/scripts/typegen.sh +0 -84
  633. package/types/shell/index.d.ts +0 -3046
  634. package/types/vue-shim.d +0 -20
@@ -175,8 +175,14 @@ export default {
175
175
  </script>
176
176
 
177
177
  <template>
178
- <div id="windowmanager" class="windowmanager">
179
- <div ref="tabs" class="tabs">
178
+ <div
179
+ id="windowmanager"
180
+ class="windowmanager"
181
+ >
182
+ <div
183
+ ref="tabs"
184
+ class="tabs"
185
+ >
180
186
  <div
181
187
  v-for="tab in tabs"
182
188
  :key="tab.id"
@@ -184,9 +190,16 @@ export default {
184
190
  :class="{'active': tab.id === active}"
185
191
  @click="switchTo(tab.id)"
186
192
  >
187
- <i v-if="tab.icon" class="icon" :class="{['icon-'+ tab.icon]: true}" />
193
+ <i
194
+ v-if="tab.icon"
195
+ class="icon"
196
+ :class="{['icon-'+ tab.icon]: true}"
197
+ />
188
198
  <span class="tab-label"> {{ tab.label }}</span>
189
- <i class="closer icon icon-fw icon-x" @click.stop="close(tab.id)" />
199
+ <i
200
+ class="closer icon icon-fw icon-x"
201
+ @click.stop="close(tab.id)"
202
+ />
190
203
  </div>
191
204
  <div
192
205
  class="resizer"
@@ -129,48 +129,11 @@ export const ANNOTATIONS_TO_FOLD = [
129
129
  ];
130
130
 
131
131
  export const HCI = {
132
- CLUSTER_ID: 'harvesterhci.io/clusterId',
133
- CLOUD_INIT: 'harvesterhci.io/cloud-init-template',
134
- CURRENT_IP: 'rke2.io/internal-ip',
135
- OWNED_BY: 'harvesterhci.io/owned-by',
136
- CREATED_BY: 'kubevirt.io/created-by',
137
- IMAGE_ID: 'harvesterhci.io/imageId',
138
- SSH_NAMES: 'harvesterhci.io/sshNames',
139
- CIRD_NETWORK: 'k8s.v1.cni.cncf.io/networks',
140
- NETWORK_IPS: 'network.harvesterhci.io/ips',
141
- TEMPLATE_VERSION_CUSTOM_NAME: 'template-version.harvesterhci.io/customName',
142
- CREATOR: 'harvesterhci.io/creator',
143
- OS: 'harvesterhci.io/os',
144
- NETWORK_TYPE: 'network.harvesterhci.io/type',
145
- VM_NAME: 'harvesterhci.io/vmName',
146
- VM_NAME_PREFIX: 'harvesterhci.io/vmNamePrefix',
147
- VM_RESERVED_MEMORY: 'harvesterhci.io/reservedMemory',
148
- MAINTENANCE_STATUS: 'harvesterhci.io/maintain-status',
149
- HOST_CUSTOM_NAME: 'harvesterhci.io/host-custom-name',
150
- HOST_CONSOLE_URL: 'harvesterhci.io/host-console-url',
151
- BACKUP_TARGET: 'backup.harvesterhci.io/backup-target',
152
- RESTORE_NAME: 'restore.harvesterhci.io/name',
153
- NODE_ROLE_MASTER: 'node-role.kubernetes.io/master',
154
- NODE_ROLE_CONTROL_PLANE: 'node-role.kubernetes.io/control-plane',
155
- PROMOTE_STATUS: 'harvesterhci.io/promote-status',
156
- MIGRATION_STATE: 'harvesterhci.io/migrationState',
157
- VOLUME_CLAIM_TEMPLATE: 'harvesterhci.io/volumeClaimTemplates',
158
- IMAGE_NAME: 'harvesterhci.io/image-name',
159
- INIT_IP: 'etcd.rke2.cattle.io/node-address',
160
- NODE_SCHEDULABLE: 'kubevirt.io/schedulable',
161
- NETWORK_ROUTE: 'network.harvesterhci.io/route',
162
- CLOUD_PROVIDER_IPAM: 'cloudprovider.harvesterhci.io/ipam',
163
- OS_UPGRADE_IMAGE: 'harvesterhci.io/os-upgrade-image',
164
- UPGRADE_IMAGE: 'harvesterhci.io/upgradeImage',
165
- LATEST_UPGRADE: 'harvesterhci.io/latestUpgrade',
166
- UPGRADE_STATE: 'harvesterhci.io/upgradeState',
167
- REAY_MESSAGE: 'harvesterhci.io/read-message',
168
- DYNAMIC_SSHKEYS_NAMES: 'harvesterhci.io/dynamic-ssh-key-names',
169
- DYNAMIC_SSHKEYS_USERS: 'harvesterhci.io/dynamic-ssh-key-users',
170
- VM_VOLUME_STATUS: 'harvesterhci.io/volume-status',
171
- IMAGE_SUFFIX: 'harvesterhci.io/image-type',
172
- OS_TYPE: 'harvesterhci.io/os-type',
173
- HOST_REQUEST: 'management.cattle.io/pod-requests',
132
+ CLOUD_INIT: 'harvesterhci.io/cloud-init-template',
133
+ CLOUD_PROVIDER_IPAM: 'cloudprovider.harvesterhci.io/ipam',
134
+ NETWORK_ROUTE: 'network.harvesterhci.io/route',
135
+ IMAGE_NAME: 'harvesterhci.io/image-name',
136
+ NETWORK_TYPE: 'network.harvesterhci.io/type',
174
137
  };
175
138
 
176
139
  // Annotations that can be on management.cattle.io.cluster to configure a custom badge
@@ -3,11 +3,14 @@ import { SETTING } from './settings';
3
3
  export const ANY = 0;
4
4
  export const STANDARD = 1;
5
5
  export const CUSTOM = 2;
6
- export const DOCS_BASE = 'https://rancher.com/docs/rancher/v2.6/en';
6
+ export const DOCS_BASE = 'https://rancher.com/docs/rancher/v2.7/en';
7
7
 
8
8
  const STANDARD_VENDOR = 'Rancher';
9
9
  const STANDARD_PRODUCT = 'Explorer';
10
- const CUSTOM_VENDOR = { suse: 'Rancher Prime' };
10
+ const CUSTOM_VENDOR = {
11
+ suse: 'Rancher Prime',
12
+ csp: 'SUSE Rancher'
13
+ };
11
14
 
12
15
  let mode = STANDARD;
13
16
  let vendor = STANDARD_VENDOR;
@@ -2,7 +2,7 @@ import {
2
2
  CONFIG_MAP,
3
3
  EVENT,
4
4
  NODE, SECRET, INGRESS,
5
- WORKLOAD, WORKLOAD_TYPES, SERVICE, HPA, NETWORK_POLICY, PV, PVC, STORAGE_CLASS, POD,
5
+ WORKLOAD, WORKLOAD_TYPES, SERVICE, HPA, NETWORK_POLICY, PV, PVC, STORAGE_CLASS, POD, POD_DISRUPTION_BUDGET, LIMIT_RANGE, RESOURCE_QUOTA,
6
6
  RBAC,
7
7
  MANAGEMENT,
8
8
  NAMESPACE,
@@ -60,11 +60,16 @@ export function init(store) {
60
60
  VIRTUAL_TYPES.CLUSTER_MEMBERS,
61
61
  EVENT,
62
62
  ], 'cluster');
63
+ basicType([
64
+ LIMIT_RANGE,
65
+ NETWORK_POLICY,
66
+ POD_DISRUPTION_BUDGET,
67
+ RESOURCE_QUOTA,
68
+ ], 'policy');
63
69
  basicType([
64
70
  SERVICE,
65
71
  INGRESS,
66
72
  HPA,
67
- NETWORK_POLICY,
68
73
  ], 'serviceDiscovery');
69
74
  basicType([
70
75
  PV,
@@ -87,6 +92,7 @@ export function init(store) {
87
92
  weightGroup('workload', 98, true);
88
93
  weightGroup('serviceDiscovery', 96, true);
89
94
  weightGroup('storage', 95, true);
95
+ weightGroup('policy', 94, true);
90
96
  weightType(POD, -1, true);
91
97
 
92
98
  // here is where we define the usage of the WORKLOAD custom list view for
package/config/roles.ts CHANGED
@@ -241,7 +241,8 @@ export const SCOPED_RESOURCES = {
241
241
  },
242
242
  'cis.cattle.io': {
243
243
  resources: [
244
- 'ClusterScans'
244
+ 'ClusterScans',
245
+ 'ClusterScanReports'
245
246
  ]
246
247
  },
247
248
  'constraints.gatekeeper.sh': {
@@ -1,6 +1,27 @@
1
1
  // Settings
2
2
  import { GC_DEFAULTS } from '../utils/gc/gc-types';
3
- import { MANAGEMENT } from './types';
3
+
4
+ interface GlobalSettingRuleset {
5
+ name: string,
6
+ key?: string | number,
7
+ arg?: string | number | (string | number)[]
8
+ }
9
+
10
+ interface GlobalSetting {
11
+ [key: string]: {
12
+ alias?: string,
13
+ canReset?: boolean,
14
+ customFormatter?: string,
15
+ from?: string,
16
+ kind?: string,
17
+ options?: string[]
18
+ readOnly?: boolean,
19
+ /**
20
+ * Function used from the form validation
21
+ */
22
+ ruleSet?: GlobalSettingRuleset[],
23
+ };
24
+ }
4
25
 
5
26
  // Adapted from: https://github.com/rancher/ui/blob/08c379a9529f740666a704b52522a468986c3520/lib/shared/addon/utils/constants.js#L564
6
27
  // Setting IDs
@@ -66,11 +87,20 @@ export const SETTING = {
66
87
  };
67
88
 
68
89
  // These are the settings that are allowed to be edited via the UI
69
- export const ALLOWED_SETTINGS = {
90
+ export const ALLOWED_SETTINGS: GlobalSetting = {
70
91
  [SETTING.CA_CERTS]: { kind: 'multiline', readOnly: true },
71
92
  [SETTING.ENGINE_URL]: {},
72
93
  [SETTING.ENGINE_ISO_URL]: {},
73
- [SETTING.CATTLE_PASSWORD_MIN_LENGTH]: { kind: 'integer' },
94
+ [SETTING.CATTLE_PASSWORD_MIN_LENGTH]: {
95
+ kind: 'integer',
96
+ ruleSet: [
97
+ {
98
+ name: 'betweenValues',
99
+ key: 'Password',
100
+ arg: [2, 256]
101
+ }
102
+ ],
103
+ },
74
104
  [SETTING.INGRESS_IP_DOMAIN]: {},
75
105
  [SETTING.AUTH_USER_INFO_MAX_AGE_SECONDS]: {},
76
106
  [SETTING.AUTH_USER_SESSION_TTL_MINUTES]: {},
@@ -109,50 +139,3 @@ export const DEFAULT_PERF_SETTING = {
109
139
  disableWebsocketNotification: true,
110
140
  garbageCollection: GC_DEFAULTS
111
141
  };
112
-
113
- export const fetchOrCreateSetting = async(store, id, val, save = true) => {
114
- let setting;
115
-
116
- try {
117
- setting = await store.dispatch('management/find', { type: MANAGEMENT.SETTING, id });
118
- } catch {
119
- const schema = store.getters['management/schemaFor'](MANAGEMENT.SETTING);
120
- const url = schema.linkFor('collection');
121
-
122
- setting = await store.dispatch('management/create', {
123
- type: MANAGEMENT.SETTING, metadata: { name: id }, value: val, default: val || ''
124
- });
125
- if ( save ) {
126
- await setting.save({ url });
127
- }
128
- }
129
-
130
- return setting;
131
- };
132
-
133
- export const setSetting = async(store, id, val) => {
134
- const setting = await fetchOrCreateSetting(store, id, val, false);
135
-
136
- setting.value = val;
137
- await setting.save();
138
-
139
- return setting;
140
- };
141
-
142
- export const getPerformanceSetting = (rootGetters) => {
143
- const perfSetting = rootGetters['management/byId'](MANAGEMENT.SETTING, SETTING.UI_PERFORMANCE);
144
- let perfConfig = {};
145
-
146
- if (perfSetting && perfSetting.value) {
147
- try {
148
- perfConfig = JSON.parse(perfSetting.value);
149
- } catch (e) {
150
- console.warn('ui-performance setting contains invalid data'); // eslint-disable-line no-console
151
- }
152
- }
153
-
154
- // Start with the default and overwrite the values from the setting - ensures we have defaults for newly added options
155
- perfConfig = Object.assign(DEFAULT_PERF_SETTING, perfConfig);
156
-
157
- return perfConfig;
158
- };
package/config/types.js CHANGED
@@ -47,10 +47,12 @@ export const ENDPOINTS = 'endpoints';
47
47
  export const HPA = 'autoscaling.horizontalpodautoscaler';
48
48
  export const INGRESS = 'networking.k8s.io.ingress';
49
49
  export const INGRESS_CLASS = 'networking.k8s.io.ingressclass';
50
+ export const LIMIT_RANGE = 'limitrange';
50
51
  export const NAMESPACE = 'namespace';
51
52
  export const NODE = 'node';
52
53
  export const NETWORK_POLICY = 'networking.k8s.io.networkpolicy';
53
54
  export const POD = 'pod';
55
+ export const POD_DISRUPTION_BUDGET = 'policy.poddisruptionbudget';
54
56
  export const PSP = 'policy.podsecuritypolicy';
55
57
  export const PV = 'persistentvolume';
56
58
  export const PVC = 'persistentvolumeclaim';
@@ -80,17 +80,17 @@ As of version 2.6, Cluster Manager is no longer provided as a separate UI. The d
80
80
  <tr>
81
81
  <td>Catalogs</td>
82
82
  <td>Global → Tools → Catalogs</td>
83
- <td>Menu → Multi-cluster Apps → Catalogs</td>
83
+ <td>Menu → Global Configuration → Catalogs</td>
84
84
  </tr>
85
85
  <tr>
86
86
  <td>Global DNS Entries</td>
87
87
  <td>Global → Tools → Global DNS Entries</td>
88
- <td>Menu → Multi-cluster Apps → Global DNS Entries</td>
88
+ <td>Menu → Global Configuration → Global DNS Entries</td>
89
89
  </tr>
90
90
  <tr>
91
91
  <td>Global DNS Providers</td>
92
92
  <td>Global → Tools → Global DNS Providers</td>
93
- <td>Menu → Multi-cluster Apps → Global DNS Providers</td>
93
+ <td>Menu → Global Configuration → Global DNS Providers</td>
94
94
  </tr>
95
95
  <tr>
96
96
  <td>Pod Security Policies</td>
@@ -1,133 +1,19 @@
1
1
  ---
2
- title: What's New in 2.6
2
+ title: What's New in 2.7
3
3
  ---
4
4
 
5
+ ## New in 2.7.0
5
6
 
6
- ## New in 2.6.7
7
+ ### k3s provisioning is GA (x86 Only)
7
8
 
8
- ### Amazon Billing in the Marketplace
9
+ - Provisioning K3s clusters on x86 clusters has graduated to GA! The fully compliant Kubernetes distribution is simplified, secure and at less than 60mb is perfect for Edge.
9
10
 
10
- - You can now purchase support for Rancher directly through the AWS Marketplace: https://rancher.com/docs/rancher/v2.6/en/installation/cloud-marketplace/aws/
11
+ ### Rancher Extensions
11
12
 
12
- ### Ability to configure Azure AD with MSAL
13
+ - Rancher Extensions provides a mechanism to extend the functionality of the Rancher Manager UI. Rancher will use this to provide new functionality that can be
14
+ installed by administrators. Extensions are provided as Helm charts. A new top-level 'Extensions' UI allows administrators to enable Extensions support and install and manage Extensions themselves.
13
15
 
14
- - Microsoft has deprecated the Azure AD Graph API that Rancher had been using for authentication via Azure AD. A configuration update is necessary to make sure users can still use Rancher with Azure AD. For more details, see: https://rancher.com/docs/rancher/v2.6/en/admin-settings/authentication/azure-ad/#migrating-from-azure-ad-graph-api-to-microsoft-graph-api
16
+ ### OCI Support for Helm for Fleet
15
17
 
16
- ### Kubernetes 1.24
18
+ - Authentication for OCI-based registries is now supported. Note that the structure of the fleet.yaml is the same and the credentials are provided as a Kubernetes secret, which is described in the Private Helm Repo box in the Repo Structure docs.
17
19
 
18
- - Kubernetes 1.24 is now a supported Kubernetes version for running Rancher as well as for provisioned and imported RKE1/RKE2/k3s clusters.
19
-
20
- ### RKE2 Encryption Key Rotation
21
-
22
- - RKE2 encrypts secret data at rest by default. You can now rotate the key used for this encryption for Rancher-provisioned RKE2 clusters with supported k8s versions.
23
-
24
-
25
- ## New in 2.6.6
26
-
27
- - 2.6.6 was released to account for a major performance issue. The issue occurred when Rancher was attempting to control large volumes of traffic from downstream clusters. This mechanism was not handling disconnects properly and would result in indefinite locks but this is now fixed in this version.
28
-
29
-
30
- ## New in 2.6.5
31
-
32
- ### NeuVector Integration
33
-
34
- - Access NeuVector directly from the Rancher UI.
35
-
36
- ### RKE2 Provisioning GA
37
-
38
- - Provision RKE2 clusters from Rancher using our newest Kubernetes distro.
39
-
40
- ### Enhanced Windows Support
41
-
42
- - Windows support for RKE2 is now GA along with a vSphere driver for Windows.
43
-
44
- ### Prometheus Federator
45
-
46
- - Isolate metrics data between teams in the same cluster using Rancher projects.
47
-
48
-
49
- ## New in 2.6.4
50
-
51
- ### Kubernetes 1.22 Support
52
-
53
- - Kubernetes 1.22 is now available as a supported Kubernetes version option when provisioning RKE1 clusters as well as upgrading imported RKE2/k3s clusters.
54
-
55
- ### Experimental - Kubernetes 1.23 Support
56
-
57
- - Kubernetes 1.23 has been introduced as an available Kubernetes version option when provisioning RKE1 clusters as well as upgrading imported RKE2/k3s clusters. This has been noted as experimental due to RKE1 clusters not having upstream vSphere CPI/CSI charts released as well as Windows RKE1 clusters not having dual-stack IPv4/IPv6 support.
58
-
59
-
60
- ## New in 2.6.3
61
-
62
- ### Harvester Integration
63
-
64
- - Harvester's integration with Rancher and RKE1 provisioning is now GA. Users can provision Kubernetes clusters with RKE1 and manage multiple Harvester HCI clusters from a single Rancher instance.
65
- - RKE2 provisioning on Harvester is still Tech Preview.
66
-
67
- ### Experimental - Kubernetes 1.22 support
68
-
69
- - Kubernetes 1.22 has been introduced as an available Kubernetes option when provisioning clusters as well as upgrading imported RKE2/k3s clusters.
70
-
71
- ### Expanded support for Authorized Cluster Endpoint (ACE)
72
-
73
- - Cluster admins can now configure ACE on imported RKE2/K3s clusters.
74
-
75
- ### Workload UX enhancements
76
-
77
- - Added dashboards for workload metrics into the Rancher UI.
78
- - Added ability to pause orchestration, update the scale, and visualize the deployment health from within the main list views.
79
-
80
- Read the full [release notes](https://github.com/rancher/rancher/releases/tag/v2.6.3) for more details.
81
-
82
- ## New in 2.6.0
83
-
84
- ### Redesigned Rancher User Experience
85
-
86
- There is a new refreshed look and feel in the UI making it easy to use for beginner and advanced Kubernetes users:
87
-
88
- - Cluster explorer navigation is updated so that users now see a collapsed subset of the most used Kubernetes resources expressed in simple terms. Any Kubernetes resource can be managed through the explorer and quickly found through the resource search functionality. Users can now manage their projects. Cluster tools like monitoring and logging are aggregated under an easy-to-discover **Cluster Tools** menu. The cluster dashboard now includes live metrics when monitoring is enabled.
89
- - Global navigation is redesigned to make it easier for users and admins to quickly switch between clusters and top-level apps.
90
- - Cluster management lists all of a user's clusters and has been enhanced with its own left-hand navigation menu to bring all cluster lifecycle tools into a single place.
91
-
92
- ### Enhanced Branding and Customization Options
93
-
94
- - Admins can now manage the logo and color in Rancher through a single brand management page.
95
- - Users can add links to their own applications in the cluster explorer navigation.
96
-
97
- ### Enhanced AKS Lifecycle Management
98
- - Provisioning AKS clusters is updated to support private AKS endpoints, multiple node pools, autoscaling and leverage Rancher cloud credentials for authentication.
99
- - Existing AKS clusters can be registered, which enables the ability to manage Kubernetes versions and configuration settings.
100
-
101
- ### Enhanced GKE Lifecycle Management
102
- - Provisioning GKE clusters is updated to support shared VPCs, multiple node pools, autoscaling, and network tags.
103
- - Existing GKE clusters can be registered, which enables the ability to manage Kubernetes versions and configuration settings.
104
- - Rancher’s project network isolation can be enabled for GKE clusters that were provisioned through Rancher or registered.
105
-
106
- ### Tech Preview - RKE2 Cluster Provisioning
107
-
108
- - A new provisioning framework built on top of Cluster API is introduced to support the provisioning of RKE2 clusters.
109
- - RKE2 clusters can be provisioned to bring up VMs through Rancher in various cloud infrastructure providers, such as AWS, Azure, vSphere, Linode and DigitalOcean.
110
- - RKE2 clusters can also be provisioned on existing virtual or bare metal servers.
111
-
112
- ### Tech Preview - RKE2 Windows Worker Nodes Support
113
-
114
- - Windows worker nodes can be added to any RKE2 custom cluster that is using the default Calico CNI.
115
-
116
- ### Tech Preview - Cluster Templates
117
-
118
- - Cluster templates provide the ability to control which parameters can be customized for provisioning clusters.
119
-
120
- Examples of what a cluster can define are:
121
- - Node pools for etcd, control plane and workers.
122
- - Cloud credentials for provisioning nodes.
123
-
124
- ### Keycloak using OIDC
125
-
126
- - Keycloak can now be authenticated using OIDC.
127
-
128
- ### Security Enhancements
129
-
130
- - Admins can now trace users by username and identity provider (IdP) in the Rancher and Kubernetes audit logs.
131
- - Admins can enable one-way hashing of Rancher API tokens.
132
-
133
- Read the full [release notes](https://github.com/rancher/rancher/releases/tag/v2.6.0) for more details.
package/core/plugins.js CHANGED
@@ -17,9 +17,9 @@ export default function({
17
17
  let _lastLoaded = 0;
18
18
 
19
19
  // Track which plugin loaded what, so we can unload stuff
20
- let plugins = {};
20
+ const plugins = {};
21
21
 
22
- let pluginRoutes = new PluginRoutes(app.router);
22
+ const pluginRoutes = new PluginRoutes(app.router);
23
23
 
24
24
  inject('plugin', {
25
25
  // Plugins should not use these - but we will pass them in for now as a 2nd argument
@@ -160,20 +160,23 @@ export default function({
160
160
  },
161
161
 
162
162
  async logout() {
163
- const all = Object.keys(plugins);
163
+ const all = Object.values(plugins);
164
164
 
165
165
  for (let i = 0; i < all.length; i++) {
166
- const name = all[i];
166
+ const plugin = all[i];
167
+
168
+ if (plugin.builtin) {
169
+ continue;
170
+ }
167
171
 
168
172
  try {
169
- await this.removePlugin(name);
173
+ await this.removePlugin(plugin.name);
170
174
  } catch (e) {
171
175
  console.error('Error removing plugin', e); // eslint-disable-line no-console
172
176
  }
173
- }
174
177
 
175
- plugins = {};
176
- pluginRoutes = new PluginRoutes(app.router);
178
+ delete plugins[plugin.name];
179
+ }
177
180
  },
178
181
 
179
182
  // Remove the plugin
package/creators/app/init CHANGED
@@ -1,12 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const path = require('path');
4
3
  const fs = require('fs-extra');
4
+ const path = require('path');
5
+ const exec = require('child_process').exec;
5
6
 
6
7
  const targets = {
7
- dev: './node_modules/.bin/nuxt dev',
8
- nuxt: './node_modules/.bin/nuxt',
9
- build: './node_modules/.bin/nuxt build'
8
+ 'dev': './node_modules/.bin/nuxt dev',
9
+ 'nuxt': './node_modules/.bin/nuxt',
10
+ 'build': './node_modules/.bin/nuxt build'
10
11
  };
11
12
 
12
13
  const files = [
@@ -29,8 +30,8 @@ if (args.length == 3) {
29
30
  const folder = path.resolve('.');
30
31
 
31
32
  appFolder = path.join(folder, name);
32
- console.log(` Creating application folder: ${ appFolder }`);
33
- fs.ensureDirSync(appFolder);
33
+ console.log(` Creating application folder: ${ appFolder}`);
34
+ fs.ensureDirSync(appFolder);
34
35
  }
35
36
 
36
37
  // Check that there is a package file
@@ -70,23 +71,18 @@ const creatorPkgData = fs.readFileSync(path.join(__dirname, 'package.json'));
70
71
  const creatorPkg = JSON.parse(creatorPkgData);
71
72
 
72
73
  pkg.dependencies['@rancher/shell'] = `^${ creatorPkg.version }`;
73
-
74
- // Rest of dependencies are in the _pkgs property of package.json - copy then across
75
- if (creatorPkg._pkgs) {
76
- Object.keys(creatorPkg._pkgs).forEach((pkgName) => {
77
- pkg.dependencies[pkgName] = creatorPkg._pkgs[pkgName];
78
- });
79
- }
74
+ pkg.dependencies['core-js'] = '^3.20.3';
75
+ pkg.dependencies['css-loader'] = '4.3.0';
80
76
 
81
77
  fs.writeFileSync(path.join(appFolder, 'package.json'), JSON.stringify(pkg, null, 2));
82
78
 
83
79
  // Copy base files
84
80
  files.forEach((file) => {
85
- const src = path.join(__dirname, 'files', file);
81
+ const src = path.join(__dirname, file);
86
82
  const dest = path.join(appFolder, file);
87
83
 
88
84
  if (!fs.existsSync(dest)) {
89
- console.log(` Adding file: ${ file }`);
85
+ console.log(' Adding file: ' + file);
90
86
 
91
87
  const folder = path.dirname(file);
92
88
 
@@ -97,4 +93,9 @@ files.forEach((file) => {
97
93
  }
98
94
  });
99
95
 
100
- console.log('');
96
+ // require("child_process").spawn('yarn', ['install'], {
97
+ // cwd: process.cwd(),
98
+ // stdio: "inherit"
99
+ // });
100
+
101
+ console.log('');
@@ -7,18 +7,12 @@
7
7
  "private": false,
8
8
  "bin": "./init",
9
9
  "files": [
10
- "**/*.*",
10
+ "*.*",
11
11
  "init"
12
12
  ],
13
13
  "engines": {
14
14
  "node": ">=12"
15
15
  },
16
- "_requires": [
17
- "core-js",
18
- "css-loader",
19
- "@types/lodash",
20
- "@rancher/components"
21
- ],
22
16
  "dependencies": {
23
17
  "fs-extra": "^10.0.0"
24
18
  }
@@ -33,8 +33,7 @@
33
33
  "@types/node",
34
34
  "@nuxt/types",
35
35
  "cypress",
36
- "rancher",
37
- "shell"
36
+ "rancher"
38
37
  ]
39
38
  },
40
39
  "exclude": [
File without changes
package/creators/pkg/init CHANGED
@@ -95,7 +95,7 @@ if (addTypeFolders) {
95
95
 
96
96
  // Copy base files
97
97
  files.forEach((file) => {
98
- const src = path.join(__dirname, 'files', file);
98
+ const src = path.join(__dirname, file);
99
99
  const dest = path.join(path.join(pkgFolder, file));
100
100
 
101
101
  if (!fs.existsSync(dest)) {
@@ -0,0 +1,6 @@
1
+ import config from '@rancher/shell/nuxt.config';
2
+
3
+ export default config(__dirname, {
4
+ excludes: [],
5
+ autoImport: []
6
+ });
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@rancher/create-pkg",
3
+ "version": "0.1.37",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "fs-extra": {
8
+ "version": "10.1.0",
9
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
10
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
11
+ "requires": {
12
+ "graceful-fs": "^4.2.0",
13
+ "jsonfile": "^6.0.1",
14
+ "universalify": "^2.0.0"
15
+ }
16
+ },
17
+ "graceful-fs": {
18
+ "version": "4.2.10",
19
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
20
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
21
+ },
22
+ "jsonfile": {
23
+ "version": "6.1.0",
24
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
25
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
26
+ "requires": {
27
+ "graceful-fs": "^4.1.6",
28
+ "universalify": "^2.0.0"
29
+ }
30
+ },
31
+ "universalify": {
32
+ "version": "2.0.0",
33
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
34
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
35
+ }
36
+ }
37
+ }
@@ -7,7 +7,7 @@
7
7
  "private": false,
8
8
  "bin": "./init",
9
9
  "files": [
10
- "**/*.*",
10
+ "*.*",
11
11
  "init"
12
12
  ],
13
13
  "engines": {