@rancher/shell 3.0.12-rc.1 → 3.0.12-rc.3

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 (376) hide show
  1. package/apis/impl/apis.ts +6 -0
  2. package/apis/index.ts +26 -0
  3. package/apis/intf/resources-api/cluster-api.ts +18 -0
  4. package/apis/intf/resources-api/mgmt-api.ts +15 -0
  5. package/apis/intf/resources-api/resource-base.ts +107 -0
  6. package/apis/intf/resources-api/resource-constants.ts +147 -0
  7. package/apis/intf/resources-api/resources-api.ts +143 -0
  8. package/apis/intf/resources.ts +49 -0
  9. package/apis/intf/{modal.ts → shell-api/modal.ts} +21 -26
  10. package/apis/intf/shell-api/proxy.ts +216 -0
  11. package/apis/intf/{slide-in.ts → shell-api/slide-in.ts} +4 -3
  12. package/apis/intf/{system.ts → shell-api/system.ts} +4 -1
  13. package/apis/intf/shell.ts +12 -6
  14. package/apis/resources/__tests__/resources-api-class.test.ts +550 -0
  15. package/apis/resources/index.ts +22 -0
  16. package/apis/resources/resources-api-class.ts +187 -0
  17. package/apis/shell/__tests__/proxy.test.ts +369 -0
  18. package/apis/shell/index.ts +8 -1
  19. package/apis/shell/modal.ts +4 -1
  20. package/apis/shell/notifications.ts +9 -6
  21. package/apis/shell/proxy.ts +256 -0
  22. package/apis/shell/slide-in.ts +4 -1
  23. package/apis/vue-shim.d.ts +2 -1
  24. package/assets/data/aws-regions.json +4 -0
  25. package/assets/fonts/lato/LatoLatin-Black.woff +0 -0
  26. package/assets/fonts/lato/LatoLatin-Black.woff2 +0 -0
  27. package/assets/fonts/lato/LatoLatin-BlackItalic.woff +0 -0
  28. package/assets/fonts/lato/LatoLatin-BlackItalic.woff2 +0 -0
  29. package/assets/fonts/lato/LatoLatin-Bold.woff +0 -0
  30. package/assets/fonts/lato/LatoLatin-Bold.woff2 +0 -0
  31. package/assets/fonts/lato/LatoLatin-BoldItalic.woff +0 -0
  32. package/assets/fonts/lato/LatoLatin-BoldItalic.woff2 +0 -0
  33. package/assets/fonts/lato/LatoLatin-Heavy.woff +0 -0
  34. package/assets/fonts/lato/LatoLatin-Heavy.woff2 +0 -0
  35. package/assets/fonts/lato/LatoLatin-HeavyItalic.woff +0 -0
  36. package/assets/fonts/lato/LatoLatin-HeavyItalic.woff2 +0 -0
  37. package/assets/fonts/lato/LatoLatin-Italic.woff +0 -0
  38. package/assets/fonts/lato/LatoLatin-Italic.woff2 +0 -0
  39. package/assets/fonts/lato/LatoLatin-Light.woff +0 -0
  40. package/assets/fonts/lato/LatoLatin-Light.woff2 +0 -0
  41. package/assets/fonts/lato/LatoLatin-LightItalic.woff +0 -0
  42. package/assets/fonts/lato/LatoLatin-LightItalic.woff2 +0 -0
  43. package/assets/fonts/lato/LatoLatin-Medium.woff +0 -0
  44. package/assets/fonts/lato/LatoLatin-Medium.woff2 +0 -0
  45. package/assets/fonts/lato/LatoLatin-MediumItalic.woff +0 -0
  46. package/assets/fonts/lato/LatoLatin-MediumItalic.woff2 +0 -0
  47. package/assets/fonts/lato/LatoLatin-Regular.woff +0 -0
  48. package/assets/fonts/lato/LatoLatin-Regular.woff2 +0 -0
  49. package/assets/fonts/lato/LatoLatin-Semibold.woff +0 -0
  50. package/assets/fonts/lato/LatoLatin-Semibold.woff2 +0 -0
  51. package/assets/fonts/lato/LatoLatin-SemiboldItalic.woff +0 -0
  52. package/assets/fonts/lato/LatoLatin-SemiboldItalic.woff2 +0 -0
  53. package/assets/images/providers/entraid-black.svg +4 -0
  54. package/assets/images/providers/entraid.svg +9 -0
  55. package/assets/images/vendor/entraid.svg +9 -0
  56. package/assets/styles/app.scss +0 -1
  57. package/assets/styles/base/_variables.scss +2 -0
  58. package/assets/styles/fonts/_fontstack.scss +132 -8
  59. package/assets/translations/en-us.yaml +41 -22
  60. package/assets/translations/zh-hans.yaml +4 -8
  61. package/chart/__tests__/S3.test.ts +10 -3
  62. package/chart/monitoring/index.vue +10 -1
  63. package/components/ActionDropdownShell.vue +2 -1
  64. package/components/CountBox.vue +20 -0
  65. package/components/CreateDriver.vue +0 -12
  66. package/components/CruResourceFooter.vue +9 -5
  67. package/components/DetailText.vue +12 -3
  68. package/components/ExplorerProjectsNamespaces.vue +1 -1
  69. package/components/InstallHelmCharts.vue +2 -2
  70. package/components/LandingPagePreference.vue +14 -5
  71. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +15 -1
  72. package/components/Resource/Detail/Metadata/index.vue +6 -0
  73. package/components/Resource/Detail/ResourcePopover/index.vue +12 -1
  74. package/components/Resource/Detail/SpacedRow.vue +3 -1
  75. package/components/Resource/Detail/TitleBar/index.vue +10 -11
  76. package/components/ResourceList/Masthead.vue +12 -8
  77. package/components/SelectIconGrid.vue +5 -10
  78. package/components/SingleClusterInfo.vue +1 -0
  79. package/components/SortableTable/__tests__/sorting.test.ts +126 -0
  80. package/components/SortableTable/index.vue +6 -9
  81. package/components/SortableTable/selection.js +23 -5
  82. package/components/SortableTable/sorting.js +6 -3
  83. package/components/Wizard.vue +14 -13
  84. package/components/__tests__/CountBox.test.ts +72 -0
  85. package/components/__tests__/DetailText.test.ts +113 -0
  86. package/components/fleet/FleetBundles.vue +100 -12
  87. package/components/fleet/FleetClusterTargets/index.vue +54 -15
  88. package/components/fleet/__tests__/FleetClusterTargets.test.ts +149 -115
  89. package/components/fleet/__tests__/FleetClusters.test.ts +12 -12
  90. package/components/form/InputWithSelect.vue +18 -10
  91. package/components/form/KeyValue.vue +17 -1
  92. package/components/form/LabeledSelect.vue +101 -26
  93. package/components/form/NameNsDescription.vue +11 -0
  94. package/components/form/Security.vue +6 -2
  95. package/components/form/Select.vue +73 -56
  96. package/components/form/ServiceNameSelect.vue +13 -11
  97. package/components/form/WorkloadPorts.vue +2 -7
  98. package/components/form/__tests__/KeyValue.test.ts +66 -0
  99. package/components/form/__tests__/NodeScheduling.test.ts +9 -0
  100. package/components/form/__tests__/Security.test.ts +76 -0
  101. package/components/form/labeled-select-utils/useLabeledSelectPagination.ts +138 -0
  102. package/components/formatter/Autoscaler.vue +4 -4
  103. package/components/formatter/ClusterKubeVersion.vue +27 -0
  104. package/components/formatter/ClusterLink.vue +1 -7
  105. package/components/formatter/ClusterProvider.vue +6 -10
  106. package/components/formatter/FleetSummaryGraph.vue +0 -3
  107. package/components/formatter/MachineSummaryGraph.vue +1 -1
  108. package/components/formatter/PodsUsage.vue +2 -2
  109. package/components/formatter/__tests__/Autoscaler.test.ts +19 -22
  110. package/components/formatter/__tests__/FleetSummaryGraph.test.ts +216 -0
  111. package/components/formatter/__tests__/PodsUsage.test.ts +6 -10
  112. package/components/nav/Group.vue +7 -6
  113. package/components/nav/Header.vue +24 -3
  114. package/components/nav/NamespaceFilter.vue +2 -2
  115. package/components/nav/NotificationCenter/Notification.vue +4 -1
  116. package/components/nav/NotificationCenter/NotificationHeader.vue +20 -8
  117. package/components/nav/NotificationCenter/__tests__/NotificationHeader.test.ts +80 -0
  118. package/components/nav/TopLevelMenu.helper.ts +15 -3
  119. package/components/nav/TopLevelMenu.vue +16 -5
  120. package/components/nav/Type.vue +8 -7
  121. package/components/nav/WindowManager/index.vue +2 -1
  122. package/components/nav/WorkspaceSwitcher.vue +13 -0
  123. package/components/nav/__tests__/Group.test.ts +67 -0
  124. package/components/nav/__tests__/Header.test.ts +235 -0
  125. package/components/nav/__tests__/TopLevelMenu.test.ts +145 -21
  126. package/components/nav/__tests__/Type.test.ts +20 -3
  127. package/components/templates/default.vue +34 -4
  128. package/components/templates/home.vue +30 -25
  129. package/components/templates/plain.vue +31 -26
  130. package/components/templates/standalone.vue +17 -0
  131. package/composables/useFormValidation.ts +93 -0
  132. package/composables/useLabeledFormElement.ts +10 -2
  133. package/composables/useLabeledSelect.ts +60 -0
  134. package/composables/useUserRetentionValidation.ts +1 -49
  135. package/composables/useVeeValidateField.test.ts +159 -0
  136. package/composables/useVeeValidateField.ts +67 -0
  137. package/config/cookies.js +0 -1
  138. package/config/labels-annotations.js +1 -0
  139. package/config/pagination-table-headers.js +18 -1
  140. package/config/product/manager.js +82 -21
  141. package/config/query-params.js +1 -0
  142. package/config/router/routes.js +6 -8
  143. package/config/table-headers.js +20 -1
  144. package/config/types.js +2 -1
  145. package/core/__tests__/plugin-products.test.ts +1505 -30
  146. package/core/plugin-products-base.ts +137 -20
  147. package/core/plugin-products-helpers.ts +5 -4
  148. package/core/plugin-products.ts +4 -0
  149. package/core/plugin-types.ts +129 -4
  150. package/core/plugin.ts +15 -7
  151. package/core/productDebugger.js +9 -4
  152. package/core/types-provisioning.ts +43 -30
  153. package/core/types.ts +58 -19
  154. package/detail/__tests__/management.cattle.io.fleetworkspace.test.ts +128 -0
  155. package/detail/__tests__/pod.test.ts +41 -0
  156. package/detail/harvesterhci.io.management.cluster.vue +6 -2
  157. package/detail/management.cattle.io.fleetworkspace.vue +49 -0
  158. package/detail/pod.vue +1 -1
  159. package/detail/provisioning.cattle.io.cluster.vue +4 -10
  160. package/edit/__tests__/fleet.cattle.io.helmop.test.ts +9 -0
  161. package/edit/__tests__/kontainerDriver.test.ts +0 -13
  162. package/edit/__tests__/nodeDriver.test.ts +5 -11
  163. package/edit/__tests__/resources.cattle.io.restore.test.ts +9 -0
  164. package/edit/auditlog.cattle.io.auditpolicy/__tests__/__snapshots__/General.test.ts.snap +6 -0
  165. package/edit/auth/__tests__/azuread.test.ts +217 -34
  166. package/edit/auth/__tests__/oidc.test.ts +54 -0
  167. package/edit/auth/azuread.vue +123 -15
  168. package/edit/auth/oidc.vue +10 -2
  169. package/edit/kontainerDriver.vue +1 -2
  170. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +13 -4
  171. package/edit/networking.k8s.io.ingress/RulePath.vue +8 -4
  172. package/edit/networking.k8s.io.ingress/index.vue +75 -20
  173. package/edit/nodeDriver.vue +0 -2
  174. package/edit/provisioning.cattle.io.cluster/AgentEnv.vue +1 -0
  175. package/edit/provisioning.cattle.io.cluster/__tests__/AgentEnv.test.ts +25 -0
  176. package/edit/provisioning.cattle.io.cluster/__tests__/MachinePool.test.ts +104 -0
  177. package/edit/provisioning.cattle.io.cluster/index.vue +81 -106
  178. package/edit/provisioning.cattle.io.cluster/rke2.vue +8 -4
  179. package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +11 -0
  180. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryConfigs.vue +37 -4
  181. package/edit/provisioning.cattle.io.cluster/tabs/registries/__tests__/RegistryConfigs.test.ts +132 -7
  182. package/edit/provisioning.cattle.io.cluster/tabs/registries/index.vue +2 -1
  183. package/edit/secret/__tests__/ssh.test.ts +5 -6
  184. package/edit/secret/basic.vue +31 -0
  185. package/edit/secret/index.vue +68 -17
  186. package/edit/secret/registry.vue +38 -0
  187. package/edit/secret/ssh.vue +29 -0
  188. package/edit/secret/tls.vue +30 -0
  189. package/edit/service.vue +4 -4
  190. package/edit/workload/Upgrading.vue +3 -3
  191. package/edit/workload/__tests__/Upgrading.test.ts +6 -9
  192. package/edit/workload/mixins/workload.js +2 -1
  193. package/initialize/App.vue +29 -2
  194. package/initialize/install-plugins.js +0 -2
  195. package/list/__tests__/management.cattle.io.feature.test.ts +105 -0
  196. package/list/catalog.cattle.io.app.vue +25 -5
  197. package/list/fleet.cattle.io.bundle.vue +7 -104
  198. package/list/fleet.cattle.io.clusterregistrationtoken.vue +20 -0
  199. package/list/management.cattle.io.feature.vue +1 -1
  200. package/list/management.cattle.io.fleetworkspace.vue +8 -0
  201. package/list/provisioning.cattle.io.cluster.vue +262 -180
  202. package/list/utils/management.cattle.io.cluster.utils.ts +128 -0
  203. package/machine-config/amazonec2.vue +1 -0
  204. package/mixins/__tests__/chart.test.ts +112 -0
  205. package/mixins/brand.js +2 -1
  206. package/mixins/chart.js +50 -15
  207. package/mixins/resource-fetch-api-pagination.js +41 -5
  208. package/models/__tests__/catalog.cattle.io.app.test.ts +15 -1
  209. package/models/__tests__/catalog.cattle.io.clusterrepo.test.ts +84 -0
  210. package/models/__tests__/chart.test.ts +99 -6
  211. package/models/__tests__/ext.cattle.io.kubeconfig.test.ts +67 -67
  212. package/models/__tests__/management.cattle.io.cluster.test.ts +1 -1
  213. package/models/__tests__/management.cattle.io.feature.test.ts +131 -0
  214. package/models/__tests__/management.cattle.io.node.ts +6 -5
  215. package/models/__tests__/management.cattle.io.nodepool.ts +5 -4
  216. package/models/__tests__/monitoring.coreos.com.alertmanagerconfig.test.ts +98 -0
  217. package/models/__tests__/provisioning.cattle.io.cluster.test.ts +32 -11
  218. package/models/base-cluster.x-k8s.io.js +26 -0
  219. package/models/catalog.cattle.io.app.js +21 -17
  220. package/models/catalog.cattle.io.clusterrepo.js +39 -11
  221. package/models/chart.js +33 -19
  222. package/models/cluster.js +1 -1
  223. package/models/cluster.x-k8s.io.machine.js +4 -22
  224. package/models/cluster.x-k8s.io.machinedeployment.js +2 -20
  225. package/models/cluster.x-k8s.io.machineset.js +2 -20
  226. package/models/compliance.cattle.io.clusterscan.js +130 -2
  227. package/models/ext.cattle.io.kubeconfig.ts +4 -7
  228. package/models/fleet-application.js +4 -2
  229. package/models/fleet.cattle.io.bundle.js +1 -1
  230. package/models/kontainerdriver.js +11 -0
  231. package/models/management.cattle.io.authconfig.js +5 -1
  232. package/models/management.cattle.io.cluster.js +402 -78
  233. package/models/management.cattle.io.feature.js +3 -3
  234. package/models/management.cattle.io.kontainerdriver.js +1 -26
  235. package/models/management.cattle.io.node.js +6 -4
  236. package/models/management.cattle.io.nodepool.js +1 -1
  237. package/models/monitoring.coreos.com.alertmanagerconfig.js +31 -17
  238. package/models/networking.k8s.io.ingress.js +12 -4
  239. package/models/nodedriver.js +7 -0
  240. package/models/provisioning.cattle.io.cluster.js +47 -330
  241. package/models/rke.cattle.io.etcdsnapshot.js +1 -2
  242. package/package.json +20 -37
  243. package/pages/__tests__/readme.test.ts +49 -0
  244. package/pages/auth/setup.vue +2 -3
  245. package/pages/c/_cluster/apps/charts/__tests__/chart.test.ts +265 -0
  246. package/pages/c/_cluster/apps/charts/__tests__/index.test.ts +55 -0
  247. package/pages/c/_cluster/apps/charts/__tests__/install.test.ts +53 -0
  248. package/pages/c/_cluster/apps/charts/chart.vue +275 -39
  249. package/pages/c/_cluster/apps/charts/index.vue +2 -2
  250. package/pages/c/_cluster/apps/charts/install.vue +18 -10
  251. package/pages/c/_cluster/auth/user.retention/index.vue +55 -22
  252. package/pages/c/_cluster/explorer/__tests__/index.test.ts +23 -25
  253. package/pages/c/_cluster/explorer/index.vue +5 -49
  254. package/pages/c/_cluster/istio/__tests__/istio.index.test.ts +194 -0
  255. package/pages/c/_cluster/istio/index.vue +21 -6
  256. package/pages/c/_cluster/manager/drivers/kontainerDriver/index.vue +5 -7
  257. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +40 -2
  258. package/pages/c/_cluster/uiplugins/__tests__/PluginInfoPanel.test.ts +61 -0
  259. package/pages/c/_cluster/uiplugins/__tests__/index.test.ts +735 -13
  260. package/pages/c/_cluster/uiplugins/index.vue +226 -222
  261. package/pages/diagnostic.vue +13 -17
  262. package/pages/fail-whale.vue +18 -0
  263. package/pages/home.vue +77 -260
  264. package/pages/readme.vue +88 -0
  265. package/plugins/dashboard-store/__tests__/resource-class.test.ts +88 -0
  266. package/plugins/dashboard-store/actions.js +40 -18
  267. package/plugins/dashboard-store/resource-class.js +5 -2
  268. package/plugins/steve/__tests__/subscribe.spec.ts +6 -3
  269. package/plugins/steve/steve-pagination-utils.ts +11 -3
  270. package/plugins/steve/subscribe.js +35 -5
  271. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +211 -1
  272. package/rancher-components/Form/LabeledInput/LabeledInput.vue +37 -4
  273. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -1
  274. package/rancher-components/RcButton/RcButton.test.ts +37 -1
  275. package/rancher-components/RcButton/RcButton.vue +38 -8
  276. package/rancher-components/RcDropdown/RcDropdownTrigger.vue +10 -8
  277. package/scripts/test-plugins-build.sh +5 -2
  278. package/server/server-middleware.js +2 -2
  279. package/static/humans.txt +1 -0
  280. package/static/robots.txt +34 -0
  281. package/static/welcome-cow.svg +18 -0
  282. package/store/__tests__/catalog.test.ts +276 -12
  283. package/store/__tests__/type-map.test.ts +556 -1
  284. package/store/action-menu.js +8 -3
  285. package/store/auth.js +1 -4
  286. package/store/aws.js +27 -16
  287. package/store/catalog.js +87 -11
  288. package/store/digitalocean.js +20 -38
  289. package/store/index.js +2 -0
  290. package/store/linode.js +25 -40
  291. package/store/pnap.js +1 -0
  292. package/store/type-map.js +111 -29
  293. package/tsconfig.paths.json +8 -8
  294. package/types/kube/kube-api.ts +14 -1
  295. package/types/rancher/steve.api.ts +12 -12
  296. package/types/resources/settings.d.ts +2 -1
  297. package/types/shell/index.d.ts +128 -24
  298. package/types/store/dashboard-store.types.ts +108 -11
  299. package/types/store/pagination.types.ts +6 -3
  300. package/utils/__tests__/alertmanagerconfig.test.ts +117 -0
  301. package/utils/__tests__/async.test.ts +87 -0
  302. package/utils/__tests__/aws.test.ts +140 -0
  303. package/utils/__tests__/banners.test.ts +176 -0
  304. package/utils/__tests__/chart.test.ts +64 -1
  305. package/utils/__tests__/color.test.ts +226 -0
  306. package/utils/__tests__/duration.test.ts +140 -0
  307. package/utils/__tests__/fleet.test.ts +340 -0
  308. package/utils/__tests__/git.test.ts +270 -0
  309. package/utils/__tests__/inactivity.test.ts +316 -0
  310. package/utils/__tests__/ingress.test.ts +553 -0
  311. package/utils/__tests__/kube.test.ts +68 -0
  312. package/utils/__tests__/namespace-filter.test.ts +109 -0
  313. package/utils/__tests__/object.test.ts +77 -0
  314. package/utils/__tests__/pagination-utils.test.ts +361 -0
  315. package/utils/__tests__/parse-externalid.test.ts +137 -0
  316. package/utils/__tests__/perf-setting.utils.test.ts +98 -0
  317. package/utils/__tests__/poller-sequential.test.ts +177 -0
  318. package/utils/__tests__/poller.test.ts +170 -0
  319. package/utils/__tests__/promise.test.ts +346 -0
  320. package/utils/__tests__/settings.test.ts +140 -0
  321. package/utils/__tests__/sort-utils.test.ts +301 -0
  322. package/utils/__tests__/string-utils.test.ts +798 -0
  323. package/utils/__tests__/string.test.ts +23 -1
  324. package/utils/__tests__/style.test.ts +154 -0
  325. package/utils/__tests__/svg-filter.test.ts +184 -0
  326. package/utils/__tests__/time.test.ts +14 -1
  327. package/utils/__tests__/units.test.ts +417 -0
  328. package/utils/__tests__/url.test.ts +246 -0
  329. package/utils/__tests__/versions.test.ts +128 -0
  330. package/utils/__tests__/xccdf.test.ts +391 -0
  331. package/utils/chart.js +36 -0
  332. package/utils/fleet.ts +13 -3
  333. package/utils/gatekeeper/__tests__/util.test.ts +174 -0
  334. package/utils/gc/__tests__/gc-interval.test.ts +119 -0
  335. package/utils/gc/__tests__/gc-root-store.test.ts +225 -0
  336. package/utils/gc/__tests__/gc-route-changed.test.ts +96 -0
  337. package/utils/gc/__tests__/gc.test.ts +487 -0
  338. package/utils/ingress.ts +9 -1
  339. package/utils/object.js +33 -2
  340. package/utils/pagination-utils.ts +2 -1
  341. package/utils/string.js +25 -2
  342. package/utils/time.ts +5 -0
  343. package/utils/uiplugins.ts +5 -5
  344. package/utils/validators/__tests__/cluster-name.test.ts +110 -0
  345. package/utils/validators/__tests__/cron-schedule.test.ts +79 -0
  346. package/utils/validators/__tests__/index.test.ts +481 -0
  347. package/utils/validators/__tests__/kubernetes-name.test.ts +163 -0
  348. package/utils/validators/__tests__/misc-validators.test.ts +246 -0
  349. package/utils/validators/__tests__/pod-affinity.test.ts +382 -0
  350. package/utils/validators/__tests__/prometheusrule.test.ts +211 -0
  351. package/utils/validators/__tests__/role-template.test.ts +149 -0
  352. package/utils/validators/__tests__/service.test.ts +283 -0
  353. package/utils/validators/__tests__/setting.test.js +32 -0
  354. package/utils/validators/formRules/__tests__/index.test.ts +50 -0
  355. package/utils/validators/formRules/index.ts +5 -5
  356. package/utils/validators/machine-pool.ts +1 -1
  357. package/utils/validators/setting.js +18 -3
  358. package/utils/xccdf.ts +418 -0
  359. package/vue.config.js +0 -9
  360. package/assets/fonts/lato/lato-v17-latin-700.woff +0 -0
  361. package/assets/fonts/lato/lato-v17-latin-700.woff2 +0 -0
  362. package/assets/fonts/lato/lato-v17-latin-regular.woff +0 -0
  363. package/assets/fonts/lato/lato-v17-latin-regular.woff2 +0 -0
  364. package/assets/images/providers/azuread-black.svg +0 -22
  365. package/assets/images/providers/azuread.svg +0 -25
  366. package/assets/images/vendor/azuread.svg +0 -18
  367. package/assets/styles/fonts/_dots.scss +0 -18
  368. package/components/EmberPage.vue +0 -622
  369. package/components/EmberPageView.vue +0 -39
  370. package/components/form/labeled-select-utils/labeled-select-pagination.ts +0 -116
  371. package/mixins/labeled-form-element.ts +0 -225
  372. package/pages/c/_cluster/explorer/tools/pages/_page.vue +0 -28
  373. package/pages/c/_cluster/manager/pages/_page.vue +0 -22
  374. package/pages/c/_cluster/mcapps/pages/_page.vue +0 -22
  375. package/plugins/ember-cookie.js +0 -17
  376. package/utils/ember-page.js +0 -30
@@ -0,0 +1,216 @@
1
+
2
+ /**
3
+ * Cloud Credential authentication for `/meta/proxy` requests.
4
+ *
5
+ * Instructs the Rancher backend to fetch the named Cloud Credential secret,
6
+ * extract the relevant fields, and sign the upstream `Authorization` header.
7
+ * The browser never sees the credential value.
8
+ *
9
+ * The backend constructs `X-Api-CattleAuth-Header` in the form:
10
+ * `<signer> credID=<id> [usernameField=<field>] [passwordField=<field>]`
11
+ *
12
+ * Secret data keys are normalised before lookup: a key stored as
13
+ * `<configPrefix>-<key>` (e.g. `amazonec2Config-secretKey`) is matched by
14
+ * passing just `<key>` (e.g. `secretKey`).
15
+ */
16
+ export interface ProxyAuthCloudCredential {
17
+ /**
18
+ * Rancher Cloud Credential ID, or any opaque secret in the
19
+ * `cattle-global-data` namespace (format: `cattle-global-data:<name>`).
20
+ */
21
+ id: string;
22
+
23
+ /**
24
+ * Signing strategy used to build the upstream `Authorization` header.
25
+ *
26
+ * - `bearer` – `Authorization: Bearer <secret[passwordField]>`
27
+ * - `basic` – `Authorization: Basic base64(<secret[usernameField]>:<secret[passwordField]>)`
28
+ * - `digest` – HTTP Digest auth using `usernameField` and `passwordField`
29
+ * - `awsv4` – AWS Signature V4 (reads `accessKey` and `secretKey` from secret)
30
+ * - `arbitrary` – Sets arbitrary headers supplied via `headers` (no credential lookup)
31
+ *
32
+ * Read the details of signer implementation here: https://github.com/rancher/rancher/tree/main/pkg/httpproxy
33
+ *
34
+ * If no authSigner is specified Rancher will forward the cloud credential id in the Authorization header without signing.
35
+ */
36
+ authSigner?: 'bearer' | 'awsv4' | 'basic' | 'digest' | 'arbitrary';
37
+
38
+ /**
39
+ * Key inside the credential secret to use as the password / bearer token.
40
+ * Required by: `bearer`, `basic`, `digest`.
41
+ */
42
+ passwordField?: string;
43
+
44
+ /**
45
+ * Key inside the credential secret to use as the username / access-key.
46
+ * Required by: `basic`, `digest`.
47
+ */
48
+ usernameField?: string;
49
+ }
50
+
51
+ /**
52
+ * Plain-token authentication for `/meta/proxy` requests.
53
+ *
54
+ * The token is forwarded as the upstream `Authorization` header via
55
+ * `X-API-Auth-Header: <scheme> <token>`.
56
+ */
57
+ export interface ProxyAuthToken {
58
+ /** Raw token value sent to the upstream API. */
59
+ token: string;
60
+
61
+ /**
62
+ * Authorization scheme prefix. Defaults to `Bearer` when omitted.
63
+ * Use `Basic` for base64-encoded credentials, etc.
64
+ */
65
+ authSigner?: 'bearer' | 'awsv4' | 'basic' | 'digest' | 'arbitrary';
66
+ }
67
+
68
+ export interface ProxyRequestOptions {
69
+ /**
70
+ * Full upstream URL passed as a `URL` object.
71
+ *
72
+ * Examples:
73
+ * - `new URL('https://api.example.com/v1/regions')` →
74
+ * `/meta/proxy/api.example.com/v1/regions`
75
+ * - `new URL('http://api.example.com:1234/path')` →
76
+ * `/meta/proxy/http:/api.example.com:1234/path`
77
+ *
78
+ * TLS on port 443 is assumed. For a non-standard port include it in the
79
+ * `URL` host. For plain HTTP the double-slash is collapsed to one so the
80
+ * backend receives `/meta/proxy/http:/example.com:1234/path`.
81
+ *
82
+ * Use `URL.searchParams` to construct query strings rather than building
83
+ * them manually.
84
+ */
85
+ url: URL;
86
+
87
+ /**
88
+ * HTTP method. Defaults to `GET` when omitted.
89
+ */
90
+ method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
91
+
92
+ /**
93
+ * Additional headers merged into the outgoing request.
94
+ * Auth headers (`X-API-Auth-Header`, `X-Api-CattleAuth-Header`) are
95
+ * managed automatically via `authentication` — do not set them here.
96
+ */
97
+ headers?: Record<string, string>;
98
+
99
+ /**
100
+ * Value for the `Accept` header. Defaults to `application/json`.
101
+ */
102
+ accept?: string;
103
+
104
+ /**
105
+ * Request body for `POST`, `PUT`, and `PATCH` requests.
106
+ */
107
+ data?: any;
108
+
109
+ /**
110
+ * Authentication strategy. Supply either a `ProxyAuthCloudCredential`
111
+ * (to have Rancher sign the request from a stored secret) or a
112
+ * `ProxyAuthToken` (to send a raw bearer/basic token directly).
113
+ *
114
+ * Discriminated by field presence: `'id' in authentication` → cloud
115
+ * credential; `'token' in authentication` → plain token.
116
+ */
117
+ authentication?: ProxyAuthCloudCredential | ProxyAuthToken;
118
+
119
+ /**
120
+ * Optional post-processing callback invoked with the raw response before
121
+ * `request()` returns. Use `createDepaginator()` from
122
+ * `@shell/apis/shell/proxy` to handle paginated list endpoints.
123
+ *
124
+ * @example
125
+ * ```ts
126
+ * import { createDepaginator } from '@shell/apis/shell/proxy';
127
+ *
128
+ * const baseOptions = { url: 'api.example.com/v1/items', authentication };
129
+ * const result = await proxy.request({
130
+ * ...baseOptions,
131
+ * postProcess: createDepaginator(proxy, baseOptions, { mergeKey: 'items' }),
132
+ * });
133
+ * ```
134
+ */
135
+ postProcess?: (res: any) => Promise<any>;
136
+ }
137
+
138
+ /**
139
+ * Proxy API for Rancher's server-side `/meta/proxy` endpoint.
140
+ *
141
+ * `/meta/proxy` lets the UI call third-party APIs (for example cloud
142
+ * provider APIs) through the Rancher server, avoiding browser CORS limits.
143
+ *
144
+ * Base format:
145
+ * - `/meta/proxy/<host>/<path>`
146
+ * - TLS + port `443` are assumed by default.
147
+ * - To use a different port: `/meta/proxy/example.com:1234/<path>`.
148
+ * - For plain HTTP (if absolutely required):
149
+ * `/meta/proxy/http:/example.com:1234/<path>` (note one slash after `http:`).
150
+ *
151
+ * Notes from docs:
152
+ * - `X-API-Auth-Header` is forwarded as `Authorization` to the upstream.
153
+ * - `X-Api-CattleAuth-Header` can instruct Rancher to sign/authenticate
154
+ * upstream requests with data from a Rancher Cloud Credential
155
+ */
156
+ export interface ProxyApi {
157
+ /**
158
+ * Sends a request through Rancher's `/meta/proxy` endpoint.
159
+ *
160
+ * Builds the proxy URL and auth headers from `options`, dispatches via
161
+ * `management/request`, and returns the response. If `options.postProcess`
162
+ * is set it is called with the response before returning, allowing callers
163
+ * to implement pagination or other response transforms.
164
+ */
165
+ request(options: ProxyRequestOptions): Promise<any>;
166
+
167
+ /**
168
+ * Creates a `ProxyEndpoint` CR (`management.cattle.io/v3`) that adds the
169
+ * given domains to the Rancher `/meta/proxy` allow-list.
170
+ *
171
+ * Each entry in `domains` should be a bare hostname or a wildcard pattern
172
+ * accepted by the backend (e.g. `api.example.com`, `%.amazonaws.com`).
173
+ * Overly-broad wildcards (e.g. `*.com`) are rejected by the backend.
174
+ *
175
+ * @param domains - One or more domain patterns to allow.
176
+ * @param name - Optional name for the `ProxyEndpoint` CR.
177
+ * Defaults to a generated name when omitted.
178
+ * @returns The created `ProxyEndpoint` resource.
179
+ */
180
+ allowDomains(domains: string[], name?: string): Promise<any>;
181
+
182
+ /**
183
+ * Checks whether a domain pattern is already present in any existing
184
+ * `ProxyEndpoint` CR.
185
+ *
186
+ * The comparison is a case-insensitive exact match against each
187
+ * `spec.routes[].domain` value — the same format accepted by `allowDomains`
188
+ * (e.g. `api.example.com`, `%.amazonaws.com`).
189
+ *
190
+ * @param domain - The hostname or wildcard pattern to look up.
191
+ * @returns `true` if the pattern is found in at least one `ProxyEndpoint` CR,
192
+ * `false` otherwise.
193
+ */
194
+ isDomainAllowed(domain: string): Promise<boolean>;
195
+
196
+ /**
197
+ * Checks whether a `ProxyEndpoint` CR with the given name exists.
198
+ *
199
+ * @param name - The metadata name of the `ProxyEndpoint` CR to look up.
200
+ * @returns `true` if the CR exists, `false` if it is not found.
201
+ */
202
+ hasProxyEndpoint(name: string): Promise<boolean>;
203
+
204
+ /**
205
+ * Builds the `/meta/proxy` URL and auth headers for the given options
206
+ * without dispatching a request.
207
+ *
208
+ * Useful when a caller needs to construct the request itself (e.g. to pass
209
+ * the URL and headers to a third-party HTTP client or an existing `axios`
210
+ * call).
211
+ *
212
+ * @param options - Proxy request options (same as `request()`).
213
+ * @returns An object containing the resolved `url` and `headers`.
214
+ */
215
+ prepareRequest(options: ProxyRequestOptions): { url: string; headers: Record<string, string> };
216
+ }
@@ -80,15 +80,16 @@ export interface SlideInApi {
80
80
  *
81
81
  * Example:
82
82
  * ```ts
83
+ * import { useShell } from '@shell/apis';
83
84
  * import MyCustomSlideIn from '@/components/MyCustomSlideIn.vue';
84
85
  *
85
- * this.$shell.slideIn.open(MyCustomSlideIn, {
86
+ * const shell = useShell();
87
+ *
88
+ * shell.slideIn.open(MyCustomSlideIn, {
86
89
  * title: 'Hello from SlideIn panel!'
87
90
  * });
88
91
  * ```
89
92
  *
90
- * For usage with the Composition API check usage guide [here](../../shell-api#using-composition-api-in-vue).
91
- *
92
93
  * @param component
93
94
  * The Vue component to be displayed inside the slide in panel.
94
95
  * This can be any SFC (Single-File Component) imported and passed in as a `Component`.
@@ -4,7 +4,10 @@
4
4
  *
5
5
  * Usage example:
6
6
  * ```ts
7
- * const rancherVersion = this.$shell.system.rancherVersion;
7
+ * import { useShell } from '@shell/apis';
8
+ *
9
+ * const shell = useShell();
10
+ * const rancherVersion = shell.system.rancherVersion;
8
11
  * console.log('Rancher Version:', rancherVersion);
9
12
  * ```
10
13
  *
@@ -1,13 +1,14 @@
1
1
 
2
2
  import { NotificationApi } from '@shell/types/notifications';
3
- import { ModalApi } from '@shell/apis/intf/modal';
4
- import { SlideInApi } from '@shell/apis/intf/slide-in';
5
- import { SystemApi } from '@shell/apis/intf/system';
3
+ import { ModalApi } from '@shell/apis/intf/shell-api/modal';
4
+ import { SlideInApi } from '@shell/apis/intf/shell-api/slide-in';
5
+ import { SystemApi } from '@shell/apis/intf/shell-api/system';
6
+ import { ProxyApi } from '@shell/apis/intf/shell-api/proxy';
6
7
 
7
8
  export * from '@shell/types/notifications';
8
- export * from '@shell/apis/intf/modal';
9
- export * from '@shell/apis/intf/slide-in';
10
- export * from '@shell/apis/intf/system';
9
+ export * from '@shell/apis/intf/shell-api/modal';
10
+ export * from '@shell/apis/intf/shell-api/slide-in';
11
+ export * from '@shell/apis/intf/shell-api/system';
11
12
 
12
13
  /**
13
14
  * @internal
@@ -33,4 +34,9 @@ export interface ShellApi {
33
34
  * Provides access to the system API which providers information about the current system
34
35
  */
35
36
  get system(): SystemApi;
37
+
38
+ /**
39
+ * Provides access to the proxy API which can be used to make http requests via Rancher
40
+ */
41
+ get proxy(): ProxyApi;
36
42
  }