@spinnaker/kubernetes 2026.2.3 → 2026.3.0

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 (158) hide show
  1. package/dist/index.d.ts +1 -2
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/instance/details/KubernetesInstanceDetails.d.ts +54 -0
  5. package/dist/instance/details/kubernetesInstanceDetails.utils.d.ts +13 -0
  6. package/dist/instance/index.d.ts +1 -1
  7. package/dist/kubernetes.module.d.ts +5 -1
  8. package/dist/loadBalancer/transformer.d.ts +1 -1
  9. package/dist/manifest/AnnotationCustomSections.d.ts +3 -2
  10. package/dist/manifest/ManifestKindSearch.d.ts +1 -1
  11. package/dist/manifest/delete/Delete.d.ts +0 -1
  12. package/dist/manifest/delete/DeleteModal.d.ts +1 -1
  13. package/dist/manifest/delete/delete.types.d.ts +4 -0
  14. package/dist/manifest/index.d.ts +3 -6
  15. package/dist/manifest/manifest.service.d.ts +5 -0
  16. package/dist/manifest/manifestCommandBuilder.service.d.ts +1 -1
  17. package/dist/manifest/rollout/PauseRollout.d.ts +0 -1
  18. package/dist/manifest/rollout/ResumeRollout.d.ts +0 -1
  19. package/dist/manifest/rollout/RollingRestart.d.ts +4 -4
  20. package/dist/manifest/rollout/UndoRollout.d.ts +0 -1
  21. package/dist/manifest/scale/Scale.d.ts +1 -2
  22. package/dist/manifest/scale/ScaleModal.d.ts +3 -3
  23. package/dist/manifest/scale/ScaleSettingsForm.d.ts +7 -1
  24. package/dist/manifest/selector/ManifestSelector.d.ts +1 -1
  25. package/dist/manifest/traffic/ManifestTrafficService.d.ts +2 -2
  26. package/dist/pipelines/stages/deleteManifest/DeleteManifestOptionsForm.d.ts +1 -1
  27. package/dist/pipelines/stages/deployManifest/manifestStatus/DeployStatus.d.ts +1 -0
  28. package/dist/pipelines/stages/deployManifest/manifestStatus/ManifestDetailsLink.d.ts +6 -3
  29. package/dist/pipelines/stages/traffic/disableManifest.stage.d.ts +2 -1
  30. package/dist/pipelines/stages/traffic/enableManifest.stage.d.ts +2 -1
  31. package/dist/rawResource/index.d.ts +3 -1
  32. package/dist/rawResource/rawResource.dataSource.d.ts +1 -1
  33. package/dist/rawResource/rawResource.states.d.ts +4 -1
  34. package/dist/resources/resources.state.d.ts +2 -1
  35. package/dist/securityGroup/details/KubernetesSecurityGroupDetails.d.ts +49 -0
  36. package/dist/securityGroup/index.d.ts +3 -1
  37. package/dist/securityGroup/transformer.d.ts +4 -1
  38. package/dist/serverGroup/serverGroupCommandBuilder.d.ts +1 -1
  39. package/dist/serverGroup/serverGroupTransformer.d.ts +1 -1
  40. package/dist/serverGroupManager/details/ServerGroupManagerDetails.d.ts +7 -3
  41. package/package.json +3 -12
  42. package/src/help/kubernetes.help.ts +2 -0
  43. package/src/index.ts +2 -2
  44. package/src/instance/details/KubernetesInstanceDetails.spec.tsx +451 -0
  45. package/src/instance/details/KubernetesInstanceDetails.tsx +342 -0
  46. package/src/instance/details/kubernetesInstanceDetails.utils.ts +77 -0
  47. package/src/instance/index.ts +1 -1
  48. package/src/kubernetes.module.spec.ts +25 -0
  49. package/src/kubernetes.module.ts +23 -87
  50. package/src/loadBalancer/details/KubernetesLoadBalancerActions.tsx +30 -35
  51. package/src/loadBalancer/details/sections/LoadBalancerAnnotationCustomSection.tsx +2 -3
  52. package/src/loadBalancer/transformer.ts +1 -1
  53. package/src/manifest/AnnotationCustomSections.spec.tsx +178 -0
  54. package/src/manifest/AnnotationCustomSections.tsx +179 -2
  55. package/src/manifest/ManifestKindSearch.tsx +1 -1
  56. package/src/manifest/delete/Delete.tsx +0 -9
  57. package/src/manifest/delete/DeleteModal.tsx +69 -72
  58. package/src/manifest/delete/delete.types.ts +4 -0
  59. package/src/manifest/index.ts +3 -6
  60. package/src/manifest/manifest.service.ts +18 -1
  61. package/src/manifest/manifestCommandBuilder.service.spec.ts +41 -0
  62. package/src/manifest/manifestCommandBuilder.service.ts +45 -59
  63. package/src/manifest/rollout/PauseRollout.tsx +1 -9
  64. package/src/manifest/rollout/ResumeRollout.tsx +2 -10
  65. package/src/manifest/rollout/RollingRestart.tsx +16 -22
  66. package/src/manifest/rollout/UndoRollout.tsx +1 -10
  67. package/src/manifest/rollout/UndoRolloutModal.tsx +5 -1
  68. package/src/manifest/scale/Scale.tsx +12 -11
  69. package/src/manifest/scale/ScaleModal.tsx +43 -31
  70. package/src/manifest/scale/ScaleSettingsForm.tsx +8 -1
  71. package/src/manifest/selector/ManifestSelector.spec.tsx +89 -46
  72. package/src/manifest/selector/ManifestSelector.tsx +4 -5
  73. package/src/manifest/traffic/ManifestTrafficService.ts +2 -2
  74. package/src/manifest/wizard/ManifestWizard.tsx +1 -1
  75. package/src/pipelines/stages/deleteManifest/DeleteManifestOptionsForm.tsx +1 -1
  76. package/src/pipelines/stages/deleteManifest/DeleteManifestStageConfig.tsx +1 -1
  77. package/src/pipelines/stages/deployManifest/DeployManifestStageForm.tsx +16 -0
  78. package/src/pipelines/stages/deployManifest/ManifestCopier.spec.ts +52 -77
  79. package/src/pipelines/stages/deployManifest/ManifestDeploymentOptions.spec.tsx +2 -0
  80. package/src/pipelines/stages/deployManifest/manifestStatus/DeployStatus.tsx +39 -4
  81. package/src/pipelines/stages/deployManifest/manifestStatus/ManifestDetailsLink.spec.tsx +35 -0
  82. package/src/pipelines/stages/deployManifest/manifestStatus/ManifestDetailsLink.tsx +10 -5
  83. package/src/pipelines/stages/traffic/ManifestTrafficStageRegistration.spec.ts +34 -0
  84. package/src/pipelines/stages/traffic/disableManifest.stage.ts +17 -19
  85. package/src/pipelines/stages/traffic/enableManifest.stage.ts +17 -19
  86. package/src/rawResource/index.ts +18 -1
  87. package/src/rawResource/rawResource.dataSource.ts +5 -8
  88. package/src/rawResource/rawResource.states.ts +50 -51
  89. package/src/resources/resources.state.spec.ts +138 -0
  90. package/src/resources/resources.state.ts +30 -35
  91. package/src/securityGroup/details/KubernetesSecurityGroupDetails.spec.tsx +292 -0
  92. package/src/securityGroup/details/KubernetesSecurityGroupDetails.tsx +304 -0
  93. package/src/securityGroup/index.ts +3 -1
  94. package/src/securityGroup/transformer.ts +2 -10
  95. package/src/serverGroup/details/KubernetesServerGroupActions.tsx +31 -61
  96. package/src/serverGroup/details/kubernetesServerGroupDetailsGetter.ts +1 -1
  97. package/src/serverGroup/details/sections/ServerGroupAnnotationCustomSection.tsx +2 -3
  98. package/src/serverGroup/serverGroupCommandBuilder.ts +1 -1
  99. package/src/serverGroup/serverGroupTransformer.ts +1 -1
  100. package/src/serverGroupManager/details/ServerGroupManagerActions.tsx +48 -128
  101. package/src/serverGroupManager/details/ServerGroupManagerDetails.spec.ts +12 -0
  102. package/src/serverGroupManager/details/ServerGroupManagerDetails.tsx +19 -8
  103. package/src/serverGroupManager/details/sections/ServerGroupManagerAnnotationCustomSection.tsx +2 -3
  104. package/src/serverGroupManager/details/useKubernetesServerGroupManagerDetails.spec.tsx +112 -0
  105. package/src/serverGroupManager/details/useKubernetesServerGroupManagerDetails.tsx +50 -29
  106. package/dist/instance/details/details.controller.d.ts +0 -1
  107. package/dist/manifest/annotationCustomSections.component.d.ts +0 -3
  108. package/dist/manifest/delete/delete.controller.d.ts +0 -12
  109. package/dist/manifest/delete/deleteOptionsForm.component.d.ts +0 -1
  110. package/dist/manifest/editor/json/jsonEditor.component.d.ts +0 -1
  111. package/dist/manifest/manifestEvents.component.d.ts +0 -1
  112. package/dist/manifest/manifestImageDetails.component.d.ts +0 -1
  113. package/dist/manifest/manifestLabels.component.d.ts +0 -1
  114. package/dist/manifest/manifestQos.component.d.ts +0 -1
  115. package/dist/manifest/manifestResources.component.d.ts +0 -1
  116. package/dist/manifest/rollout/pause.controller.d.ts +0 -1
  117. package/dist/manifest/rollout/resume.controller.d.ts +0 -1
  118. package/dist/manifest/rollout/undo.controller.d.ts +0 -5
  119. package/dist/manifest/scale/scale.controller.d.ts +0 -8
  120. package/dist/manifest/scale/scaleSettingsForm.component.d.ts +0 -1
  121. package/dist/manifest/selector/selector.component.d.ts +0 -1
  122. package/dist/manifest/status/condition.component.d.ts +0 -1
  123. package/dist/manifest/status/status.component.d.ts +0 -1
  124. package/dist/rawResource/rawResource.module.d.ts +0 -1
  125. package/dist/reactShims/index.d.ts +0 -1
  126. package/dist/reactShims/kubernetes.react.injector.d.ts +0 -11
  127. package/dist/reactShims/kubernetes.react.module.d.ts +0 -1
  128. package/dist/securityGroup/details/details.controller.d.ts +0 -1
  129. package/src/instance/details/details.controller.ts +0 -186
  130. package/src/instance/details/details.html +0 -80
  131. package/src/manifest/annotationCustomSections.component.ts +0 -114
  132. package/src/manifest/delete/delete.controller.ts +0 -80
  133. package/src/manifest/delete/delete.html +0 -42
  134. package/src/manifest/delete/deleteOptionsForm.component.ts +0 -52
  135. package/src/manifest/editor/json/jsonEditor.component.ts +0 -12
  136. package/src/manifest/manifestEvents.component.ts +0 -12
  137. package/src/manifest/manifestImageDetails.component.ts +0 -12
  138. package/src/manifest/manifestLabels.component.ts +0 -12
  139. package/src/manifest/manifestQos.component.ts +0 -12
  140. package/src/manifest/manifestResources.component.ts +0 -12
  141. package/src/manifest/rollout/pause.controller.ts +0 -66
  142. package/src/manifest/rollout/pause.html +0 -28
  143. package/src/manifest/rollout/resume.controller.ts +0 -66
  144. package/src/manifest/rollout/resume.html +0 -28
  145. package/src/manifest/rollout/undo.controller.ts +0 -74
  146. package/src/manifest/rollout/undo.html +0 -44
  147. package/src/manifest/scale/scale.controller.ts +0 -75
  148. package/src/manifest/scale/scale.html +0 -32
  149. package/src/manifest/scale/scaleSettingsForm.component.ts +0 -11
  150. package/src/manifest/selector/selector.component.ts +0 -17
  151. package/src/manifest/status/condition.component.ts +0 -12
  152. package/src/manifest/status/status.component.ts +0 -11
  153. package/src/rawResource/rawResource.module.ts +0 -8
  154. package/src/reactShims/index.ts +0 -1
  155. package/src/reactShims/kubernetes.react.injector.ts +0 -30
  156. package/src/reactShims/kubernetes.react.module.ts +0 -12
  157. package/src/securityGroup/details/details.controller.ts +0 -118
  158. package/src/securityGroup/details/details.html +0 -91
@@ -0,0 +1,54 @@
1
+ import React from 'react';
2
+ import type { Application, IManifest, IMoniker, IRouterInjectedProps } from '@spinnaker/core';
3
+ import type { IKubernetesInstance } from '../../interfaces';
4
+ interface IInstanceFromStateParams {
5
+ instanceId: string;
6
+ }
7
+ export interface IKubernetesInstanceDetailsProps {
8
+ $stateParams?: {
9
+ instanceId?: string;
10
+ };
11
+ app: Application;
12
+ autoClose?: () => void;
13
+ environment?: string;
14
+ instance?: IInstanceFromStateParams;
15
+ moniker?: IMoniker;
16
+ }
17
+ interface IKubernetesInstanceDetailsState {
18
+ instance?: IKubernetesInstance;
19
+ loading: boolean;
20
+ manifest?: IKubernetesInstanceManifest;
21
+ }
22
+ interface IKubernetesInstanceManifest extends IManifest {
23
+ metrics?: any;
24
+ }
25
+ export interface IKubernetesInstanceActionsProps {
26
+ app: Application;
27
+ instance: IKubernetesInstance;
28
+ manifest: IManifest;
29
+ }
30
+ export declare class KubernetesInstanceDetailsComponent extends React.Component<IKubernetesInstanceDetailsProps & IRouterInjectedProps, IKubernetesInstanceDetailsState> {
31
+ protected readonly renderActions: boolean;
32
+ protected readonly instanceLinksPlacement: 'afterInformation' | 'afterSections';
33
+ state: IKubernetesInstanceDetailsState;
34
+ private isUnmounted;
35
+ private appReady;
36
+ private loadRequestId;
37
+ private unsubscribeFromRefresh;
38
+ componentDidMount(): void;
39
+ componentDidUpdate(prevProps: IKubernetesInstanceDetailsProps): void;
40
+ componentWillUnmount(): void;
41
+ private getInstanceId;
42
+ private loadInstance;
43
+ private isCurrentLoad;
44
+ private autoClose;
45
+ private buildConsoleOutputInstance;
46
+ render(): JSX.Element;
47
+ private renderInstanceLinks;
48
+ private renderInformationSection;
49
+ }
50
+ export declare const KubernetesInstanceDetails: React.ForwardRefExoticComponent<Omit<IKubernetesInstanceDetailsProps & IRouterInjectedProps, keyof IRouterInjectedProps> & {
51
+ children?: React.ReactNode;
52
+ } & React.RefAttributes<any>>;
53
+ export declare function KubernetesInstanceActions({ app, instance, manifest }: IKubernetesInstanceActionsProps): JSX.Element;
54
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { Application } from '@spinnaker/core';
2
+ export interface IKubernetesInstanceIdentifier {
3
+ account: string;
4
+ id: string;
5
+ name: string;
6
+ namespace: string;
7
+ }
8
+ export interface IKubernetesInstanceRecentHistoryData {
9
+ account: string;
10
+ region: string;
11
+ serverGroup?: string;
12
+ }
13
+ export declare function findKubernetesInstanceIdentifier(app: Application, instanceId: string, addRecentHistoryData?: (extraData: IKubernetesInstanceRecentHistoryData) => void): IKubernetesInstanceIdentifier | null;
@@ -1 +1 @@
1
- export * from './details/details.controller';
1
+ export * from './details/KubernetesInstanceDetails';
@@ -1,6 +1,10 @@
1
1
  import './help/kubernetes.help';
2
2
  import './pipelines/stages';
3
+ import './pipelines/stages/traffic/disableManifest.stage';
4
+ import './pipelines/stages/traffic/enableManifest.stage';
3
5
  import './pipelines/validation/manifestSelector.validator';
6
+ import './rawResource';
7
+ import './resources/resources.state';
4
8
  import './validation/applicationName.validator';
5
9
  import './logo/kubernetes.logo.less';
6
- export declare const KUBERNETES_MODULE = "spinnaker.kubernetes";
10
+ export declare function registerKubernetesProvider(): void;
@@ -1,5 +1,5 @@
1
1
  import type { IKubernetesLoadBalancer } from '../interfaces';
2
2
  export declare class KubernetesLoadBalancerTransformer {
3
- normalizeLoadBalancer(loadBalancer: IKubernetesLoadBalancer): PromiseLike<IKubernetesLoadBalancer>;
3
+ normalizeLoadBalancer(loadBalancer: IKubernetesLoadBalancer): Promise<IKubernetesLoadBalancer>;
4
4
  private buildInstanceCounts;
5
5
  }
@@ -1,5 +1,6 @@
1
- import type { IKubernetesResource } from '../interfaces';
1
+ /// <reference types="react" />
2
2
  export interface IAnnotationCustomSectionsProps {
3
3
  manifest: any;
4
- resource: IKubernetesResource;
4
+ resource: any;
5
5
  }
6
+ export declare function AnnotationCustomSections({ manifest, resource }: IAnnotationCustomSectionsProps): JSX.Element;
@@ -8,6 +8,6 @@ interface IManifestKindSearchResults {
8
8
  type: string;
9
9
  }
10
10
  export declare class ManifestKindSearchService {
11
- static search(kind: string, namespace: string, account: string): PromiseLike<IManifestKindSearchResults[]>;
11
+ static search(kind: string, namespace: string, account: string): Promise<IManifestKindSearchResults[]>;
12
12
  }
13
13
  export {};
@@ -7,4 +7,3 @@ export interface IDeleteProps {
7
7
  manifestController: string | undefined;
8
8
  }
9
9
  export declare function Delete(props: IDeleteProps): JSX.Element;
10
- export declare const KUBERNETES_DELETE = "spinnaker.kubernetes.delete";
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { Application, IModalComponentProps, IModalProps } from '@spinnaker/core';
3
- import type { IDeleteOptions } from './delete.controller';
3
+ import type { IDeleteOptions } from './delete.types';
4
4
  import type { IAnyKubernetesResource } from '../../interfaces';
5
5
  export interface IKubernetesDeleteModalProps extends Pick<IModalProps, 'isOpen'>, Pick<IModalComponentProps, 'dismissModal'> {
6
6
  application: Application;
@@ -0,0 +1,4 @@
1
+ export interface IDeleteOptions {
2
+ gracePeriodSeconds?: number;
3
+ cascading: boolean;
4
+ }
@@ -2,9 +2,6 @@ export * from './manifest.service';
2
2
  export * from './manifestCommandBuilder.service';
3
3
  export * from './IManifestCoordinates';
4
4
  export * from './artifact/ManifestArtifact';
5
- export * from './delete/delete.controller';
6
- export * from './rollout/pause.controller';
7
- export * from './rollout/undo.controller';
8
- export * from './scale/scale.controller';
9
- export * from './status/condition.component';
10
- export * from './status/status.component';
5
+ export * from './delete/delete.types';
6
+ export * from './scale/ScaleSettingsForm';
7
+ export * from './status/ManifestCondition';
@@ -7,6 +7,11 @@ export interface IStageManifest {
7
7
  name: string;
8
8
  };
9
9
  }
10
+ export interface IStoredManifestReference {
11
+ type: string;
12
+ reference: string;
13
+ }
14
+ export declare function isStoredManifestReference(manifest: unknown): manifest is IStoredManifestReference;
10
15
  export interface IManifestParams {
11
16
  account: string;
12
17
  location: string;
@@ -26,5 +26,5 @@ export interface IKubernetesManifestSpinnakerRelationships {
26
26
  export declare class KubernetesManifestCommandBuilder {
27
27
  static manifestCommandIsValid(command: IKubernetesManifestCommand): boolean;
28
28
  static copyAndCleanCommand(input: IKubernetesManifestCommand): IKubernetesManifestCommand;
29
- static buildNewManifestCommand(app: Application, sourceManifest?: any, sourceMoniker?: IMoniker, sourceAccount?: string): PromiseLike<IKubernetesManifestCommandData>;
29
+ static buildNewManifestCommand(app: Application, sourceManifest?: any, sourceMoniker?: IMoniker, sourceAccount?: string): Promise<IKubernetesManifestCommandData>;
30
30
  }
@@ -6,4 +6,3 @@ export interface IPauseRolloutProps {
6
6
  resource: IAnyKubernetesResource;
7
7
  }
8
8
  export declare function PauseRollout({ application, resource }: IPauseRolloutProps): JSX.Element;
9
- export declare const KUBERNETES_PAUSE_ROLLOUT = "spinnaker.kubernetes.pause.rollout";
@@ -6,4 +6,3 @@ export interface IResumeRolloutProps {
6
6
  resource: IAnyKubernetesResource;
7
7
  }
8
8
  export declare function ResumeRollout({ application, resource }: IResumeRolloutProps): JSX.Element;
9
- export declare const KUBERNETES_RESUME_ROLLOUT = "spinnaker.kubernetes.resume.rollout";
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import type { Application } from '@spinnaker/core';
3
- import type { IKubernetesServerGroupManager } from '../../interfaces';
3
+ import type { IKubernetesServerGroup, IKubernetesServerGroupManager } from '../../interfaces';
4
4
  interface IRollingRestartProps {
5
5
  application: Application;
6
- serverGroupManager: IKubernetesServerGroupManager;
6
+ serverGroupManager?: IKubernetesServerGroupManager;
7
+ serverGroup?: IKubernetesServerGroup;
7
8
  }
8
- export declare function RollingRestart({ application, serverGroupManager }: IRollingRestartProps): JSX.Element;
9
- export declare const KUBERNETES_ROLLING_RESTART = "spinnaker.kubernetes.v2.rolling.restart";
9
+ export declare function RollingRestart({ application, serverGroupManager, serverGroup }: IRollingRestartProps): JSX.Element;
10
10
  export {};
@@ -6,4 +6,3 @@ export interface IUndoRolloutProps {
6
6
  resource: IAnyKubernetesResource;
7
7
  }
8
8
  export declare function UndoRollout(props: IUndoRolloutProps): JSX.Element;
9
- export declare const KUBERNETES_UNDO_ROLLOUT = "spinnaker.kubernetes.undo.rollout";
@@ -6,5 +6,4 @@ export interface IScaleProps {
6
6
  resource: IAnyKubernetesResource;
7
7
  currentReplicas: number;
8
8
  }
9
- export declare function Scale(props: IScaleProps): JSX.Element;
10
- export declare const KUBERNETES_SCALE = "spinnaker.kubernetes.scale";
9
+ export declare function Scale({ application, resource, currentReplicas }: IScaleProps): JSX.Element;
@@ -1,13 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import type { Application, IModalComponentProps, IModalProps } from '@spinnaker/core';
3
- import type { IAnyKubernetesResource } from '../../interfaces';
3
+ import type { IManifestCoordinates } from '../IManifestCoordinates';
4
4
  export interface IKubernetesScaleModalProps extends Pick<IModalProps, 'isOpen'>, Pick<IModalComponentProps, 'dismissModal'> {
5
5
  application: Application;
6
- resource: IAnyKubernetesResource;
6
+ coordinates: IManifestCoordinates;
7
7
  currentReplicas: number;
8
8
  }
9
9
  export interface IKubernetesScaleValues {
10
10
  reason?: string;
11
11
  replicas: number;
12
12
  }
13
- export declare function ScaleModal({ application, resource, currentReplicas, isOpen, dismissModal, }: IKubernetesScaleModalProps): JSX.Element;
13
+ export declare function ScaleModal({ application, coordinates, currentReplicas, isOpen, dismissModal, }: IKubernetesScaleModalProps): JSX.Element;
@@ -1,5 +1,11 @@
1
1
  /// <reference types="react" />
2
- import type { IScaleCommand } from './scale.controller';
2
+ export interface IScaleCommand {
3
+ manifestName: string;
4
+ location: string;
5
+ account: string;
6
+ reason: string;
7
+ replicas: number;
8
+ }
3
9
  export interface IScaleSettingsFormProps {
4
10
  options: IScaleCommand;
5
11
  onChange(options: IScaleCommand): void;
@@ -26,7 +26,7 @@ export declare class ManifestSelector extends React.Component<IManifestSelectorP
26
26
  setStateAndUpdateStage: (state: Partial<IManifestSelectorState>, cb?: () => void) => void;
27
27
  componentDidMount: () => void;
28
28
  componentWillUnmount: () => void;
29
- loadAccounts: () => PromiseLike<void>;
29
+ loadAccounts: () => Promise<void>;
30
30
  private handleAccountChange;
31
31
  private handleNamespaceChange;
32
32
  handleKindChange: (kind: string) => void;
@@ -3,8 +3,8 @@ import type { IKubernetesServerGroup } from '../../interfaces';
3
3
  export declare class ManifestTrafficService {
4
4
  static readonly ENABLE_MANIFEST_OPERATION = "enableManifest";
5
5
  static readonly DISABLE_MANIFEST_OPERATION = "disableManifest";
6
- static enable: (manifest: IManifest, application: Application, reason?: string) => PromiseLike<ITask>;
7
- static disable: (manifest: IManifest, application: Application, reason?: string) => PromiseLike<ITask>;
6
+ static enable: (manifest: IManifest, application: Application, reason?: string) => Promise<ITask>;
7
+ static disable: (manifest: IManifest, application: Application, reason?: string) => Promise<ITask>;
8
8
  static canDisableServerGroup: (serverGroup: IKubernetesServerGroup) => boolean;
9
9
  static canEnableServerGroup: (serverGroup: IKubernetesServerGroup) => boolean;
10
10
  private static hasLoadBalancers;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { IDeleteOptions } from '../../../manifest/delete/delete.controller';
2
+ import type { IDeleteOptions } from '../../../manifest/delete/delete.types';
3
3
  import './deleteManifestOptionsForm.less';
4
4
  export interface IDeleteManifestOptionsFormProps {
5
5
  onOptionsChange: (options: IDeleteOptions) => void;
@@ -18,6 +18,7 @@ export declare class DeployStatus extends React.Component<IExecutionDetailsSecti
18
18
  componentDidUpdate(_prevProps: IExecutionDetailsSectionProps, prevState: IDeployStatusState): void;
19
19
  private subscribeToManifestUpdates;
20
20
  private unsubscribeAll;
21
+ private get storedManifestRefs();
21
22
  private stageManifestToIManifest;
22
23
  render(): JSX.Element;
23
24
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { IManifest } from '@spinnaker/core';
2
+ import type { IManifest, IRouterInjectedProps } from '@spinnaker/core';
3
3
  export interface IManifestDetailsProps {
4
4
  manifest: IManifest;
5
5
  linkName: string;
@@ -8,9 +8,9 @@ export interface IManifestDetailsProps {
8
8
  export interface IManifestDetailsState {
9
9
  url: string;
10
10
  }
11
- export declare class ManifestDetailsLink extends React.Component<IManifestDetailsProps, IManifestDetailsState> {
11
+ export declare class ManifestDetailsLinkComponent extends React.Component<IManifestDetailsProps & IRouterInjectedProps, IManifestDetailsState> {
12
12
  private spinnakerKindStateMap;
13
- constructor(props: IManifestDetailsProps);
13
+ constructor(props: IManifestDetailsProps & IRouterInjectedProps);
14
14
  private canOpen;
15
15
  private spinnakerKindFromKubernetesKind;
16
16
  private resourceRegion;
@@ -18,3 +18,6 @@ export declare class ManifestDetailsLink extends React.Component<IManifestDetail
18
18
  private loadUrl;
19
19
  render(): JSX.Element;
20
20
  }
21
+ export declare const ManifestDetailsLink: React.ForwardRefExoticComponent<Omit<IManifestDetailsProps & IRouterInjectedProps, keyof IRouterInjectedProps> & {
22
+ children?: React.ReactNode;
23
+ } & React.RefAttributes<any>>;
@@ -1 +1,2 @@
1
- export declare const KUBERNETES_DISABLE_MANIFEST_STAGE = "spinnaker.kubernetes.v2.pipeline.stage.disableManifestStage";
1
+ import type { IStageTypeConfig } from '@spinnaker/core';
2
+ export declare const DISABLE_MANIFEST_STAGE_CONFIG: IStageTypeConfig;
@@ -1 +1,2 @@
1
- export declare const KUBERNETES_ENABLE_MANIFEST_STAGE = "spinnaker.kubernetes.v2.pipeline.stage.enableManifestStage";
1
+ import type { IStageTypeConfig } from '@spinnaker/core';
2
+ export declare const ENABLE_MANIFEST_STAGE_CONFIG: IStageTypeConfig;
@@ -1 +1,3 @@
1
- export * from './rawResource.module';
1
+ export * from './rawResource.dataSource';
2
+ export * from './rawResource.states';
3
+ export declare function registerKubernetesRawResources(): void;
@@ -1,2 +1,2 @@
1
- export declare const KUBERNETS_RAW_RESOURCE_DATA_SOURCE = "spinnaker.core.rawresource.dataSource";
2
1
  export declare const KUBERNETS_RAW_RESOURCE_DATA_SOURCE_KEY = "k8s";
2
+ export declare function registerKubernetesRawResourceDataSource(): void;
@@ -1,6 +1,9 @@
1
+ import type { INestedState } from '@spinnaker/core';
1
2
  export interface IKubernetesRawResourceStateParams {
2
3
  account: string;
3
4
  name: string;
4
5
  region: string;
5
6
  }
6
- export declare const KUBERNETS_RAW_RESOURCE_STATES = "spinnaker.kubernetes.rawresource.states";
7
+ export declare const KUBERNETES_RAW_RESOURCE_DETAILS_STATE: INestedState;
8
+ export declare const KUBERNETES_RAW_RESOURCE_INSIGHT_STATE: INestedState;
9
+ export declare function registerKubernetesRawResourceStates(): void;
@@ -1,7 +1,8 @@
1
+ import type { INestedState } from '@spinnaker/core';
1
2
  export interface IKubernetesResourceStateParams {
2
3
  provider: string;
3
4
  accountId: string;
4
5
  region: string;
5
6
  kubernetesResource: string;
6
7
  }
7
- export declare const KUBERNETES_RESOURCE_STATES = "spinnaker.core.kubernetesResource.states";
8
+ export declare const KUBERNETES_RESOURCE_DETAILS_STATE: INestedState;
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import type { Application, IManifest, IOverridableProps, IRouterInjectedProps, SecurityGroupReader } from '@spinnaker/core';
3
+ import { DeckRuntimeContext } from '@spinnaker/core';
4
+ import type { IKubernetesSecurityGroup } from '../../interfaces';
5
+ interface ISecurityGroupFromStateParams {
6
+ accountId: string;
7
+ name: string;
8
+ region: string;
9
+ }
10
+ export interface IKubernetesSecurityGroupDetailsProps extends IOverridableProps {
11
+ app: Application;
12
+ autoClose?: () => void;
13
+ resolvedSecurityGroup: ISecurityGroupFromStateParams;
14
+ securityGroupReader?: SecurityGroupReader;
15
+ }
16
+ interface IKubernetesSecurityGroupDetailsState {
17
+ loading: boolean;
18
+ manifest?: IManifest;
19
+ securityGroup?: IKubernetesSecurityGroup;
20
+ }
21
+ export interface IKubernetesSecurityGroupActionsProps {
22
+ app: Application;
23
+ manifest: IManifest;
24
+ securityGroup: IKubernetesSecurityGroup;
25
+ }
26
+ export declare class KubernetesSecurityGroupDetailsComponent extends React.Component<IKubernetesSecurityGroupDetailsProps & IRouterInjectedProps, IKubernetesSecurityGroupDetailsState> {
27
+ static contextType: React.Context<import("@spinnaker/core").DeckRuntimeContextValue>;
28
+ context: React.ContextType<typeof DeckRuntimeContext>;
29
+ state: IKubernetesSecurityGroupDetailsState;
30
+ private isUnmounted;
31
+ private dataSourceReady;
32
+ private loadRequestId;
33
+ private unsubscribeFromRefresh;
34
+ componentDidMount(): void;
35
+ componentDidUpdate(prevProps: IKubernetesSecurityGroupDetailsProps): void;
36
+ componentWillUnmount(): void;
37
+ private getSecurityGroupReader;
38
+ private getCoordinatesKey;
39
+ private loadSecurityGroup;
40
+ private isCurrentLoad;
41
+ private autoClose;
42
+ private closeDetails;
43
+ render(): JSX.Element;
44
+ }
45
+ export declare const KubernetesSecurityGroupDetails: React.ForwardRefExoticComponent<Omit<IKubernetesSecurityGroupDetailsProps & IRouterInjectedProps, keyof IRouterInjectedProps> & {
46
+ children?: React.ReactNode;
47
+ } & React.RefAttributes<any>>;
48
+ export declare function KubernetesSecurityGroupActions({ app, manifest, securityGroup }: IKubernetesSecurityGroupActionsProps): JSX.Element;
49
+ export {};
@@ -1 +1,3 @@
1
- export * from './details/details.controller';
1
+ export * from './details/KubernetesSecurityGroupDetails';
2
+ export * from './securityGroup.reader';
3
+ export * from './transformer';
@@ -1 +1,4 @@
1
- export declare const KUBERNETES_SECURITY_GROUP_TRANSFORMER = "spinnaker.kubernetes.securityGroupTransformer";
1
+ import type { ISecurityGroup } from '@spinnaker/core';
2
+ export declare class KubernetesV2SecurityGroupTransformer {
3
+ normalizeSecurityGroup(securityGroup: ISecurityGroup): Promise<ISecurityGroup>;
4
+ }
@@ -1,5 +1,5 @@
1
1
  import type { Application } from '@spinnaker/core';
2
2
  import type { IKubernetesManifestCommandData } from '../manifest/manifestCommandBuilder.service';
3
3
  export declare class KubernetesV2ServerGroupCommandBuilder {
4
- buildNewServerGroupCommand(app: Application): PromiseLike<IKubernetesManifestCommandData>;
4
+ buildNewServerGroupCommand(app: Application): Promise<IKubernetesManifestCommandData>;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import type { Application } from '@spinnaker/core';
2
2
  import type { IKubernetesServerGroup } from '../interfaces';
3
3
  export declare class KubernetesV2ServerGroupTransformer {
4
- normalizeServerGroup(serverGroup: IKubernetesServerGroup, application: Application): PromiseLike<IKubernetesServerGroup>;
4
+ normalizeServerGroup(serverGroup: IKubernetesServerGroup, application: Application): Promise<IKubernetesServerGroup>;
5
5
  }
@@ -1,7 +1,11 @@
1
- /// <reference types="react" />
2
- import type { Application, IServerGroupManagerDetailsProps, IServerGroupManagerStateParams } from '@spinnaker/core';
1
+ import React from 'react';
2
+ import type { Application, IRouterInjectedProps, IServerGroupManagerDetailsProps, IServerGroupManagerStateParams } from '@spinnaker/core';
3
3
  export interface IKubernetesServerGroupManagerDetailsProps extends IServerGroupManagerDetailsProps {
4
4
  app: Application;
5
5
  serverGroupManager: IServerGroupManagerStateParams;
6
6
  }
7
- export declare function ServerGroupManagerDetails(props: IKubernetesServerGroupManagerDetailsProps): JSX.Element;
7
+ export declare function closeServerGroupManagerDetails(stateService: IRouterInjectedProps['stateService']): void;
8
+ export declare function ServerGroupManagerDetailsComponent(props: IKubernetesServerGroupManagerDetailsProps & IRouterInjectedProps): JSX.Element;
9
+ export declare const ServerGroupManagerDetails: React.ForwardRefExoticComponent<Omit<IKubernetesServerGroupManagerDetailsProps & IRouterInjectedProps, keyof IRouterInjectedProps> & {
10
+ children?: React.ReactNode;
11
+ } & React.RefAttributes<any>>;
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "https://github.com/spinnaker/spinnaker.git"
6
6
  },
7
7
  "license": "Apache-2.0",
8
- "version": "2026.2.3",
8
+ "version": "2026.3.0",
9
9
  "module": "dist/index.js",
10
10
  "typings": "dist/index.d.ts",
11
11
  "publishConfig": {
@@ -22,33 +22,24 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@spinnaker/core": "^0.29.1",
25
- "@uirouter/angularjs": "1.0.26",
26
25
  "@uirouter/react": "1.0.7",
27
- "@uirouter/react-hybrid": "1.0.2",
28
- "angular": "1.8.3",
29
- "angular-ui-bootstrap": "2.5.0",
30
- "angular2react": "3.0.2",
31
26
  "brace": "0.11.1",
32
27
  "dompurify": "^3.0.0",
33
28
  "enzyme": "3.11.0",
34
29
  "formik": "1.5.1",
35
- "js-yaml": "3.13.1",
30
+ "js-yaml": "4.1.1",
36
31
  "lodash": "4.18.1",
37
32
  "luxon": "1.28.1",
38
- "ngimport": "0.6.1",
39
33
  "react": "16.14.0",
40
34
  "react-ace": "6.4.0",
41
35
  "react-bootstrap": "0.32.1",
42
36
  "react-ga": "2.4.1",
43
37
  "react-select": "1.2.1",
44
- "react2angular": "3.2.1",
45
38
  "rxjs": "6.6.7"
46
39
  },
47
40
  "devDependencies": {
48
41
  "@spinnaker/eslint-plugin": "^3.0.2",
49
42
  "@spinnaker/scripts": "^0.4.0",
50
- "@types/angular": "1.6.26",
51
- "@types/angular-ui-bootstrap": "0.13.41",
52
43
  "@types/dompurify": "^2.3.3",
53
44
  "@types/enzyme": "3.10.3",
54
45
  "@types/js-yaml": "3.5.30",
@@ -60,5 +51,5 @@
60
51
  "shx": "0.3.3",
61
52
  "typescript": "5.0.4"
62
53
  },
63
- "gitHead": "a4e60ac0d767ffea0a41057a8bd9b0df110dfaa4"
54
+ "gitHead": "0f7d75f5d4b42c1675e2ecc69a53f8eb73090eb9"
64
55
  }
@@ -228,6 +228,8 @@ const helpContents: { [key: string]: string } = {
228
228
  <p><b>json</b>: <a href="https://tools.ietf.org/html/rfc6902" target="_blank">JSON Patch, RFC 6902</a></p>
229
229
  <p><b>merge</b>: <a href="https://tools.ietf.org/html/rfc7386" target="_blank">JSON Merge Patch, RFC 7386</a></p>
230
230
  `,
231
+ 'kubernetes.manifest.stableManifestTimeout':
232
+ '(Optional) How long to wait for the manifest to stabilize before considering this stage failed. Defaults to 30 minutes if not specified.',
231
233
  'kubernetes.runJob.captureSource':
232
234
  'Source from which to capture Job output. Captured output will be available in the pipeline context for use in downstream stages.',
233
235
  'kubernetes.runJob.captureSource.containerName': `Use logs from this container to capture output data.`,
package/src/index.ts CHANGED
@@ -1,8 +1,8 @@
1
- export * from './kubernetes.module';
1
+ import './kubernetes.module';
2
+
2
3
  export * from './serverGroupManager';
3
4
  export * from './serverGroup';
4
5
  export * from './securityGroup';
5
6
  export * from './manifest';
6
7
  export * from './loadBalancer';
7
8
  export * from './rawResource';
8
- export * from './reactShims';