@replicated/portal-components 0.0.15 → 0.0.17

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 (110) hide show
  1. package/components/metadata/registry.json +2 -2
  2. package/components/metadata/registry.md +2 -2
  3. package/dist/actions/index.d.mts +1 -637
  4. package/dist/actions/index.d.ts +1 -637
  5. package/dist/actions/index.js +2 -1
  6. package/dist/actions/index.js.map +1 -1
  7. package/dist/airgap-instances.d.mts +5 -3
  8. package/dist/airgap-instances.d.ts +5 -3
  9. package/dist/airgap-instances.js +94 -5
  10. package/dist/airgap-instances.js.map +1 -1
  11. package/dist/esm/actions/index.js +2 -1
  12. package/dist/esm/actions/index.js.map +1 -1
  13. package/dist/esm/airgap-instances.js +90 -5
  14. package/dist/esm/airgap-instances.js.map +1 -1
  15. package/dist/esm/helm-install-wizard.js +28 -15
  16. package/dist/esm/helm-install-wizard.js.map +1 -1
  17. package/dist/esm/index.js +6 -11
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/install-actions.js +54 -11
  20. package/dist/esm/install-actions.js.map +1 -1
  21. package/dist/esm/instance-card.js +79 -3
  22. package/dist/esm/instance-card.js.map +1 -1
  23. package/dist/esm/license-details.js +2 -1
  24. package/dist/esm/license-details.js.map +1 -1
  25. package/dist/esm/linux-install-wizard.js +90 -14
  26. package/dist/esm/linux-install-wizard.js.map +1 -1
  27. package/dist/esm/online-instance-list.js +90 -5
  28. package/dist/esm/online-instance-list.js.map +1 -1
  29. package/dist/esm/pending-installations.js +187 -103
  30. package/dist/esm/pending-installations.js.map +1 -1
  31. package/dist/esm/security-card.js +76 -16
  32. package/dist/esm/security-card.js.map +1 -1
  33. package/dist/esm/support-card.js +2 -1
  34. package/dist/esm/support-card.js.map +1 -1
  35. package/dist/esm/top-nav-user-menu.js +4 -2
  36. package/dist/esm/top-nav-user-menu.js.map +1 -1
  37. package/dist/esm/top-nav.js +5 -10
  38. package/dist/esm/top-nav.js.map +1 -1
  39. package/dist/esm/update-layout.js +5 -10
  40. package/dist/esm/update-layout.js.map +1 -1
  41. package/dist/esm/upload-support-bundle-modal.js +19 -19
  42. package/dist/esm/upload-support-bundle-modal.js.map +1 -1
  43. package/dist/esm/utils/index.js +2 -1
  44. package/dist/esm/utils/index.js.map +1 -1
  45. package/dist/helm-install-wizard.d.mts +5 -4
  46. package/dist/helm-install-wizard.d.ts +5 -4
  47. package/dist/helm-install-wizard.js +28 -15
  48. package/dist/helm-install-wizard.js.map +1 -1
  49. package/dist/index-DkjaogsF.d.mts +891 -0
  50. package/dist/index-DkjaogsF.d.ts +891 -0
  51. package/dist/index.d.mts +3 -2
  52. package/dist/index.d.ts +3 -2
  53. package/dist/index.js +6 -11
  54. package/dist/index.js.map +1 -1
  55. package/dist/install-actions.d.mts +2 -3
  56. package/dist/install-actions.d.ts +2 -3
  57. package/dist/install-actions.js +54 -10
  58. package/dist/install-actions.js.map +1 -1
  59. package/dist/install-card.d.mts +1 -1
  60. package/dist/install-card.d.ts +1 -1
  61. package/dist/instance-card.d.mts +5 -3
  62. package/dist/instance-card.d.ts +5 -3
  63. package/dist/instance-card.js +83 -3
  64. package/dist/instance-card.js.map +1 -1
  65. package/dist/license-card.d.mts +1 -1
  66. package/dist/license-card.d.ts +1 -1
  67. package/dist/license-details.js +2 -1
  68. package/dist/license-details.js.map +1 -1
  69. package/dist/linux-install-wizard.d.mts +6 -6
  70. package/dist/linux-install-wizard.d.ts +6 -6
  71. package/dist/linux-install-wizard.js +90 -14
  72. package/dist/linux-install-wizard.js.map +1 -1
  73. package/dist/online-instance-list.d.mts +5 -3
  74. package/dist/online-instance-list.d.ts +5 -3
  75. package/dist/online-instance-list.js +94 -5
  76. package/dist/online-instance-list.js.map +1 -1
  77. package/dist/pending-installations.d.mts +3 -3
  78. package/dist/pending-installations.d.ts +3 -3
  79. package/dist/pending-installations.js +186 -102
  80. package/dist/pending-installations.js.map +1 -1
  81. package/dist/security-card.d.mts +3 -2
  82. package/dist/security-card.d.ts +3 -2
  83. package/dist/security-card.js +76 -16
  84. package/dist/security-card.js.map +1 -1
  85. package/dist/styles.css +43 -0
  86. package/dist/support-bundles-card.d.mts +1 -1
  87. package/dist/support-bundles-card.d.ts +1 -1
  88. package/dist/support-card.js +2 -1
  89. package/dist/support-card.js.map +1 -1
  90. package/dist/{top-nav-0mb1K_H0.d.mts → top-nav-IRIn66wS.d.mts} +2 -1
  91. package/dist/{top-nav-0mb1K_H0.d.ts → top-nav-IRIn66wS.d.ts} +2 -1
  92. package/dist/top-nav-user-menu.d.mts +3 -1
  93. package/dist/top-nav-user-menu.d.ts +3 -1
  94. package/dist/top-nav-user-menu.js +4 -2
  95. package/dist/top-nav-user-menu.js.map +1 -1
  96. package/dist/top-nav.d.mts +1 -1
  97. package/dist/top-nav.d.ts +1 -1
  98. package/dist/top-nav.js +5 -10
  99. package/dist/top-nav.js.map +1 -1
  100. package/dist/update-layout.js +5 -10
  101. package/dist/update-layout.js.map +1 -1
  102. package/dist/upload-support-bundle-modal.d.mts +7 -3
  103. package/dist/upload-support-bundle-modal.d.ts +7 -3
  104. package/dist/upload-support-bundle-modal.js +19 -19
  105. package/dist/upload-support-bundle-modal.js.map +1 -1
  106. package/dist/utils/index.js +2 -1
  107. package/dist/utils/index.js.map +1 -1
  108. package/package.json +2 -1
  109. package/dist/install-B19AaKF_.d.mts +0 -233
  110. package/dist/install-Bi1qJ8Bu.d.ts +0 -233
@@ -1,6 +1,5 @@
1
- import { I as InstallOptions, C as ChannelRelease } from './install-B19AaKF_.mjs';
2
- export { a as CreateInstallOptionsInput, b as CreateInstallOptionsResult, E as EmbeddedClusterInstallationType, p as FetchChannelReleasesInput, F as FetchChannelReleasesResult, s as FetchPendingInstallationsInput, k as FetchPendingInstallationsResult, G as GetInstallOptionsInput, c as GetInstallOptionsResult, t as GetUpdateInstructionsInput, v as GetUpdateInstructionsResult, H as HelmInstallationType, i as InstallInstructions, r as InstallStatus, j as InstallStep, q as InstallType, o as InstallationTypes, K as KubernetesDistribution, N as NetworkAvailability, P as PendingInstallation, R as RegistryAvailability, U as UpdateInstallOptionsInput, d as UpdateInstallOptionsResult, w as UpdateInstructions, e as createInstallOptions, f as fetchChannelReleases, l as fetchPendingInstallations, h as filterEmbeddedClusterReleases, n as filterHelmReleases, g as getInstallOptions, m as getUpdateInstructions, u as updateInstallOptions } from './install-B19AaKF_.mjs';
3
- import { PortalActionContext } from './actions/index.mjs';
1
+ import { Z as PortalActionContext, I as InstallOptions, C as ChannelRelease } from './index-DkjaogsF.mjs';
2
+ export { b as CreateInstallOptionsInput, c as CreateInstallOptionsResult, aT as DiscardInstallationInput, D as DiscardInstallationResult, aK as EmbeddedClusterInstallationType, aN as FetchChannelReleasesInput, F as FetchChannelReleasesResult, aS as FetchPendingInstallationsInput, r as FetchPendingInstallationsResult, d as GetInstallOptionsInput, e as GetInstallOptionsResult, aU as GetUpdateInstructionsInput, aV as GetUpdateInstructionsResult, aL as HelmInstallationType, p as InstallInstructions, aR as InstallStatus, q as InstallStep, aO as InstallType, aM as InstallationTypes, aQ as KubernetesDistribution, N as NetworkAvailability, P as PendingInstallation, aP as RegistryAvailability, U as UpdateInstallOptionsInput, f as UpdateInstallOptionsResult, aW as UpdateInstructions, m as createInstallOptions, aH as discardInstallation, l as fetchChannelReleases, aG as fetchPendingInstallations, o as filterEmbeddedClusterReleases, aJ as filterHelmReleases, n as getInstallOptions, aI as getUpdateInstructions, u as updateInstallOptions } from './index-DkjaogsF.mjs';
4
3
 
5
4
  /**
6
5
  * Instance-related server actions for the Update page.
@@ -1,6 +1,5 @@
1
- import { I as InstallOptions, C as ChannelRelease } from './install-Bi1qJ8Bu.js';
2
- export { a as CreateInstallOptionsInput, b as CreateInstallOptionsResult, E as EmbeddedClusterInstallationType, p as FetchChannelReleasesInput, F as FetchChannelReleasesResult, s as FetchPendingInstallationsInput, k as FetchPendingInstallationsResult, G as GetInstallOptionsInput, c as GetInstallOptionsResult, t as GetUpdateInstructionsInput, v as GetUpdateInstructionsResult, H as HelmInstallationType, i as InstallInstructions, r as InstallStatus, j as InstallStep, q as InstallType, o as InstallationTypes, K as KubernetesDistribution, N as NetworkAvailability, P as PendingInstallation, R as RegistryAvailability, U as UpdateInstallOptionsInput, d as UpdateInstallOptionsResult, w as UpdateInstructions, e as createInstallOptions, f as fetchChannelReleases, l as fetchPendingInstallations, h as filterEmbeddedClusterReleases, n as filterHelmReleases, g as getInstallOptions, m as getUpdateInstructions, u as updateInstallOptions } from './install-Bi1qJ8Bu.js';
3
- import { PortalActionContext } from './actions/index.js';
1
+ import { Z as PortalActionContext, I as InstallOptions, C as ChannelRelease } from './index-DkjaogsF.js';
2
+ export { b as CreateInstallOptionsInput, c as CreateInstallOptionsResult, aT as DiscardInstallationInput, D as DiscardInstallationResult, aK as EmbeddedClusterInstallationType, aN as FetchChannelReleasesInput, F as FetchChannelReleasesResult, aS as FetchPendingInstallationsInput, r as FetchPendingInstallationsResult, d as GetInstallOptionsInput, e as GetInstallOptionsResult, aU as GetUpdateInstructionsInput, aV as GetUpdateInstructionsResult, aL as HelmInstallationType, p as InstallInstructions, aR as InstallStatus, q as InstallStep, aO as InstallType, aM as InstallationTypes, aQ as KubernetesDistribution, N as NetworkAvailability, P as PendingInstallation, aP as RegistryAvailability, U as UpdateInstallOptionsInput, f as UpdateInstallOptionsResult, aW as UpdateInstructions, m as createInstallOptions, aH as discardInstallation, l as fetchChannelReleases, aG as fetchPendingInstallations, o as filterEmbeddedClusterReleases, aJ as filterHelmReleases, n as getInstallOptions, aI as getUpdateInstructions, u as updateInstallOptions } from './index-DkjaogsF.js';
4
3
 
5
4
  /**
6
5
  * Instance-related server actions for the Update page.
@@ -88,7 +88,8 @@ var fetchCustomBrandingImpl = async () => {
88
88
  title: payload.appName,
89
89
  customColor1: payload.primaryColor,
90
90
  customColor2: payload.secondaryColor,
91
- favicon: payload.faviconUrl
91
+ favicon: payload.faviconUrl,
92
+ supportPortalLink: payload.supportPortalLink || ""
92
93
  };
93
94
  const brandingData = buffer.Buffer.from(JSON.stringify(brandingObject)).toString("base64");
94
95
  return {
@@ -360,7 +361,9 @@ function filterEmbeddedClusterReleases(releases) {
360
361
  }
361
362
  function filterHelmReleases(releases) {
362
363
  return releases.filter(
363
- (release) => release.installationTypes?.helm?.version
364
+ (release) => {
365
+ return release.helmCharts && release.helmCharts.length > 0;
366
+ }
364
367
  );
365
368
  }
366
369
  async function getUpdateInstructions(input, context) {
@@ -381,9 +384,23 @@ async function getUpdateInstructions(input, context) {
381
384
  if (targetChannelSequence === void 0 || targetChannelSequence === null) {
382
385
  throw new Error("Target channel sequence is required");
383
386
  }
384
- const identifier = installOptionsId || instanceId;
385
- if (!identifier) {
386
- throw new Error("Either installOptionsId or instanceId is required");
387
+ if (!installOptionsId) {
388
+ const errorInstructions = {
389
+ format: "error",
390
+ install_type: "kots",
391
+ // Assume kots if no install options
392
+ title: "Unable to generate update instructions",
393
+ steps: [
394
+ {
395
+ step_number: 1,
396
+ step_name: "error_message",
397
+ title: "Automated update instructions are not supported for this installation",
398
+ description: "Please update through the admin console.\n\nIf you believe this is an error, please select a different release or contact support.",
399
+ commands: []
400
+ }
401
+ ]
402
+ };
403
+ return { instructions: errorInstructions };
387
404
  }
388
405
  getCustomerIdFromToken(token);
389
406
  const origin = getApiOrigin();
@@ -393,11 +410,7 @@ async function getUpdateInstructions(input, context) {
393
410
  if (privateRegistryHostname?.trim()) {
394
411
  queryParams.set("privateRegistryHostname", privateRegistryHostname.trim());
395
412
  }
396
- if (!installOptionsId && instanceId) {
397
- queryParams.set("instance_id", instanceId);
398
- }
399
- const pathId = installOptionsId || "placeholder";
400
- const url = `${origin}/enterprise-portal/install-options/${pathId}/update-instructions?${queryParams.toString()}`;
413
+ const url = `${origin}/enterprise-portal/install-options/${installOptionsId}/update-instructions?${queryParams.toString()}`;
401
414
  if (process.env.NODE_ENV !== "production") {
402
415
  console.debug("[portal-components] fetching update instructions via %s", url);
403
416
  }
@@ -471,6 +484,36 @@ async function fetchPendingInstallations(input, context) {
471
484
  installations
472
485
  };
473
486
  }
487
+ async function discardInstallation(input, context) {
488
+ const { token, installOptionsId } = input;
489
+ if (typeof token !== "string" || token.trim().length === 0) {
490
+ throw new Error("discardInstallation requires a non-empty token");
491
+ }
492
+ if (typeof installOptionsId !== "string" || installOptionsId.trim().length === 0) {
493
+ throw new Error("discardInstallation requires a non-empty installOptionsId");
494
+ }
495
+ const origin = getApiOrigin();
496
+ const response = await authenticatedFetch(
497
+ `${origin}/enterprise-portal/install-options/${installOptionsId.trim()}`,
498
+ {
499
+ method: "DELETE",
500
+ token,
501
+ headers: {
502
+ accept: "application/json"
503
+ },
504
+ signal: context?.signal
505
+ }
506
+ );
507
+ if (!response.ok) {
508
+ const errorText = await response.text();
509
+ throw new Error(
510
+ `Discard install options failed (${response.status} ${response.statusText}): ${errorText}`
511
+ );
512
+ }
513
+ return {
514
+ success: true
515
+ };
516
+ }
474
517
 
475
518
  // src/actions/instances.ts
476
519
  var ACTIVE_INSTANCE_THRESHOLD_MS = 24 * 60 * 60 * 1e3;
@@ -742,6 +785,7 @@ exports.ACTIVE_INSTANCE_THRESHOLD_MS = ACTIVE_INSTANCE_THRESHOLD_MS;
742
785
  exports.calculateUpdatesForInstance = calculateUpdatesForInstance;
743
786
  exports.createAirgapInstance = createAirgapInstance;
744
787
  exports.createInstallOptions = createInstallOptions;
788
+ exports.discardInstallation = discardInstallation;
745
789
  exports.fetchChannelReleases = fetchChannelReleases;
746
790
  exports.fetchInstallOptionsByInstanceIds = fetchInstallOptionsByInstanceIds;
747
791
  exports.fetchInstances = fetchInstances2;