@spinnaker/kubernetes 2025.0.5 → 2025.1.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 (99) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1178 -641
  3. package/dist/index.js.map +1 -1
  4. package/dist/interfaces/infrastructure.types.d.ts +4 -1
  5. package/dist/manifest/AnnotationCustomSections.d.ts +5 -0
  6. package/dist/manifest/annotationCustomSections.component.d.ts +2 -0
  7. package/dist/manifest/artifact/ManifestArtifact.d.ts +6 -0
  8. package/dist/manifest/index.d.ts +1 -1
  9. package/dist/manifest/manifest.service.d.ts +1 -1
  10. package/dist/manifest/rollout/RollingRestart.d.ts +9 -1
  11. package/dist/manifest/status/ManifestStatus.d.ts +8 -0
  12. package/dist/rawResource/controller/FiltersPubSub.d.ts +1 -1
  13. package/dist/reactShims/index.d.ts +1 -0
  14. package/dist/reactShims/kubernetes.react.injector.d.ts +11 -0
  15. package/dist/reactShims/kubernetes.react.module.d.ts +1 -0
  16. package/dist/serverGroup/details/KubernetesServerGroupActions.d.ts +7 -0
  17. package/dist/serverGroup/details/kubernetesServerGroupDetailsGetter.d.ts +4 -0
  18. package/dist/serverGroup/details/sections/IKubernetesServerGroupDetailsSectionProps.d.ts +5 -0
  19. package/dist/serverGroup/details/sections/ServerGroupAnnotationCustomSection.d.ts +3 -0
  20. package/dist/serverGroup/details/sections/ServerGroupEventsSection.d.ts +3 -0
  21. package/dist/serverGroup/details/sections/ServerGroupHealthSection.d.ts +3 -0
  22. package/dist/serverGroup/details/sections/ServerGroupImagesSection.d.ts +3 -0
  23. package/dist/serverGroup/details/sections/ServerGroupInformationSection.d.ts +3 -0
  24. package/dist/serverGroup/details/sections/ServerGroupLabelsSection.d.ts +3 -0
  25. package/dist/serverGroup/details/sections/ServerGroupManifestStatusSection.d.ts +3 -0
  26. package/dist/serverGroup/details/sections/ServerGroupSizeSection.d.ts +3 -0
  27. package/dist/serverGroup/details/sections/index.d.ts +9 -0
  28. package/dist/serverGroup/details/useManifest.d.ts +8 -0
  29. package/dist/serverGroup/index.d.ts +3 -4
  30. package/dist/serverGroup/{serverGroupCommandBuilder.service.d.ts → serverGroupCommandBuilder.d.ts} +0 -1
  31. package/dist/serverGroup/{serverGroupTransformer.service.d.ts → serverGroupTransformer.d.ts} +0 -1
  32. package/dist/serverGroupManager/details/ServerGroupManagerActions.d.ts +9 -0
  33. package/dist/serverGroupManager/details/ServerGroupManagerDetails.d.ts +7 -0
  34. package/dist/serverGroupManager/details/sections/IKubernetesServerGroupManagerDetailsSectionProps.d.ts +6 -0
  35. package/dist/serverGroupManager/details/sections/ServerGroupManagerAnnotationCustomSection.d.ts +3 -0
  36. package/dist/serverGroupManager/details/sections/ServerGroupManagerArtifactsSection.d.ts +3 -0
  37. package/dist/serverGroupManager/details/sections/ServerGroupManagerEventsSection.d.ts +3 -0
  38. package/dist/serverGroupManager/details/sections/ServerGroupManagerInformationSection.d.ts +3 -0
  39. package/dist/serverGroupManager/details/sections/ServerGroupManagerLabelsSection.d.ts +3 -0
  40. package/dist/serverGroupManager/details/sections/ServerGroupManagerManifestConditionSection.d.ts +3 -0
  41. package/dist/serverGroupManager/details/sections/ServerGroupManagerManifestStatusSection.d.ts +3 -0
  42. package/dist/serverGroupManager/details/sections/index.d.ts +8 -0
  43. package/dist/serverGroupManager/details/useKubernetesServerGroupManagerDetails.d.ts +4 -0
  44. package/dist/serverGroupManager/index.d.ts +1 -1
  45. package/package.json +3 -3
  46. package/src/index.ts +1 -0
  47. package/src/interfaces/infrastructure.types.ts +5 -0
  48. package/src/kubernetes.module.ts +32 -21
  49. package/src/manifest/AnnotationCustomSections.tsx +6 -0
  50. package/src/manifest/annotationCustomSections.component.ts +1 -1
  51. package/src/manifest/artifact/ManifestArtifact.tsx +16 -0
  52. package/src/manifest/index.ts +1 -1
  53. package/src/manifest/rollout/RollingRestart.tsx +2 -10
  54. package/src/manifest/status/ManifestStatus.tsx +39 -0
  55. package/src/manifest/status/status.component.ts +7 -32
  56. package/src/reactShims/index.ts +1 -0
  57. package/src/reactShims/kubernetes.react.injector.ts +30 -0
  58. package/src/reactShims/kubernetes.react.module.ts +12 -0
  59. package/src/serverGroup/details/KubernetesServerGroupActions.tsx +138 -0
  60. package/src/serverGroup/details/kubernetesServerGroupDetailsGetter.ts +63 -0
  61. package/src/serverGroup/details/sections/IKubernetesServerGroupDetailsSectionProps.ts +6 -0
  62. package/src/serverGroup/details/sections/ServerGroupAnnotationCustomSection.tsx +11 -0
  63. package/src/serverGroup/details/sections/ServerGroupEventsSection.tsx +14 -0
  64. package/src/serverGroup/details/sections/ServerGroupHealthSection.tsx +19 -0
  65. package/src/serverGroup/details/sections/ServerGroupImagesSection.tsx +14 -0
  66. package/src/serverGroup/details/sections/ServerGroupInformationSection.tsx +46 -0
  67. package/src/serverGroup/details/sections/ServerGroupLabelsSection.tsx +14 -0
  68. package/src/serverGroup/details/sections/ServerGroupManifestStatusSection.tsx +9 -0
  69. package/src/serverGroup/details/sections/ServerGroupSizeSection.tsx +35 -0
  70. package/src/serverGroup/details/sections/index.ts +9 -0
  71. package/src/serverGroup/details/useManifest.ts +42 -0
  72. package/src/serverGroup/index.ts +3 -4
  73. package/src/serverGroup/{serverGroupCommandBuilder.service.ts → serverGroupCommandBuilder.ts} +0 -9
  74. package/src/serverGroup/{serverGroupTransformer.service.spec.ts → serverGroupTransformer.spec.ts} +1 -1
  75. package/src/serverGroup/{serverGroupTransformer.service.ts → serverGroupTransformer.ts} +0 -7
  76. package/src/serverGroupManager/details/ServerGroupManagerActions.tsx +171 -0
  77. package/src/serverGroupManager/details/ServerGroupManagerDetails.tsx +72 -0
  78. package/src/serverGroupManager/details/sections/IKubernetesServerGroupManagerDetailsSectionProps.ts +7 -0
  79. package/src/serverGroupManager/details/sections/ServerGroupManagerAnnotationCustomSection.tsx +12 -0
  80. package/src/serverGroupManager/details/sections/ServerGroupManagerArtifactsSection.tsx +18 -0
  81. package/src/serverGroupManager/details/sections/ServerGroupManagerEventsSection.tsx +14 -0
  82. package/src/serverGroupManager/details/sections/ServerGroupManagerInformationSection.tsx +51 -0
  83. package/src/serverGroupManager/details/sections/ServerGroupManagerLabelsSection.tsx +14 -0
  84. package/src/serverGroupManager/details/sections/ServerGroupManagerManifestConditionSection.tsx +21 -0
  85. package/src/serverGroupManager/details/sections/ServerGroupManagerManifestStatusSection.tsx +10 -0
  86. package/src/serverGroupManager/details/sections/index.ts +8 -0
  87. package/src/serverGroupManager/details/useKubernetesServerGroupManagerDetails.tsx +53 -0
  88. package/src/serverGroupManager/index.ts +1 -1
  89. package/dist/manifest/artifact/artifact.component.d.ts +0 -1
  90. package/dist/serverGroup/details/details.controller.d.ts +0 -1
  91. package/dist/serverGroup/details/resize/resize.controller.d.ts +0 -1
  92. package/dist/serverGroupManager/details/details.controller.d.ts +0 -1
  93. package/src/manifest/artifact/artifact.component.ts +0 -23
  94. package/src/serverGroup/details/details.controller.ts +0 -207
  95. package/src/serverGroup/details/details.html +0 -153
  96. package/src/serverGroup/details/resize/resize.controller.ts +0 -73
  97. package/src/serverGroup/details/resize/resize.html +0 -57
  98. package/src/serverGroupManager/details/details.controller.ts +0 -191
  99. package/src/serverGroupManager/details/details.html +0 -136
@@ -1,4 +1,4 @@
1
- import type { IInstance, ILoadBalancer, IMoniker, ISecurityGroupDetail, IServerGroup, IServerGroupManager } from '@spinnaker/core';
1
+ import type { IInstance, ILoadBalancer, IManifest, IMoniker, ISecurityGroupDetail, IServerGroup, IServerGroupManager } from '@spinnaker/core';
2
2
  export interface IKubernetesResource {
3
3
  apiVersion: string;
4
4
  createdTime?: number;
@@ -20,5 +20,8 @@ export interface IKubernetesSecurityGroup extends ISecurityGroupDetail, IKuberne
20
20
  export interface IKubernetesServerGroup extends IServerGroup, IKubernetesResource {
21
21
  disabled: boolean;
22
22
  }
23
+ export interface IKubernetesServerGroupView extends IKubernetesServerGroup {
24
+ manifest: IManifest;
25
+ }
23
26
  export interface IKubernetesServerGroupManager extends IServerGroupManager, IKubernetesResource {
24
27
  }
@@ -0,0 +1,5 @@
1
+ import type { IKubernetesResource } from '../interfaces';
2
+ export interface IAnnotationCustomSectionsProps {
3
+ manifest: any;
4
+ resource: IKubernetesResource;
5
+ }
@@ -1 +1,3 @@
1
+ import type { IComponentOptions } from 'angular';
2
+ export declare const kubernetesAnnotationCustomSectionsComponent: IComponentOptions;
1
3
  export declare const KUBERNETES_ANNOTATION_CUSTOM_SECTIONS = "spinnaker.kubernetes.v2.manifest.annotation.custom.sections";
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { IArtifact } from '@spinnaker/core';
3
+ export interface IKubernetesManifestArtifactProps {
4
+ artifact: IArtifact;
5
+ }
6
+ export declare function ManifestArtifact({ artifact }: IKubernetesManifestArtifactProps): JSX.Element;
@@ -1,7 +1,7 @@
1
1
  export * from './manifest.service';
2
2
  export * from './manifestCommandBuilder.service';
3
3
  export * from './IManifestCoordinates';
4
- export * from './artifact/artifact.component';
4
+ export * from './artifact/ManifestArtifact';
5
5
  export * from './delete/delete.controller';
6
6
  export * from './rollout/pause.controller';
7
7
  export * from './rollout/undo.controller';
@@ -12,7 +12,7 @@ export interface IManifestParams {
12
12
  location: string;
13
13
  name: string;
14
14
  }
15
- export declare type IManifestCallback = (manifest: IManifest) => void;
15
+ export type IManifestCallback = (manifest: IManifest) => void;
16
16
  export declare class KubernetesManifestService {
17
17
  static subscribe(app: Application, params: IManifestParams, fn: IManifestCallback): () => void;
18
18
  private static updateManifest;
@@ -1 +1,9 @@
1
- export declare const KUBERNETES_ROLLING_RESTART = "spinnaker.kubernetes.v2.rolling.restart";
1
+ /// <reference types="react" />
2
+ import type { Application } from '@spinnaker/core';
3
+ import type { IKubernetesServerGroupManager } from '../../interfaces';
4
+ interface IRollingRestartProps {
5
+ application: Application;
6
+ serverGroupManager: IKubernetesServerGroupManager;
7
+ }
8
+ export declare function RollingRestart({ application, serverGroupManager }: IRollingRestartProps): JSX.Element;
9
+ export {};
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import type { IManifestStatus } from '@spinnaker/core';
3
+ export interface IKubernetesManifestStatusProps {
4
+ status?: {
5
+ [key: string]: IManifestStatus;
6
+ };
7
+ }
8
+ export declare function ManifestStatus({ status }: IKubernetesManifestStatusProps): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import type { IK8sResourcesFiltersState } from '../component/K8sResourcesFilters';
2
- declare type ISubscriber = (message: IK8sResourcesFiltersState) => void;
2
+ type ISubscriber = (message: IK8sResourcesFiltersState) => void;
3
3
  export declare class FiltersPubSub {
4
4
  private subscribers;
5
5
  private static intances;
@@ -0,0 +1 @@
1
+ export * from './kubernetes.react.injector';
@@ -0,0 +1,11 @@
1
+ /// <reference types="angular" />
2
+ import type React from 'react';
3
+ import { ReactInject } from '@spinnaker/core';
4
+ import type { IAnnotationCustomSectionsProps } from '../manifest/AnnotationCustomSections';
5
+ import IInjectorService = angular.auto.IInjectorService;
6
+ export declare class KubernetesReactInject extends ReactInject {
7
+ private $injectorProxy;
8
+ KubernetesAnnotationCustomSections: React.ComponentClass<IAnnotationCustomSectionsProps>;
9
+ initialize($injector: IInjectorService): void;
10
+ }
11
+ export declare const KubernetesReactInjector: KubernetesReactInject;
@@ -0,0 +1 @@
1
+ export declare const KUBERNETES_REACT_MODULE = "spinnaker.kubernetes.react";
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { IServerGroupActionsProps } from '@spinnaker/core';
3
+ import type { IKubernetesServerGroupView } from '../../interfaces';
4
+ export interface IKubernetesServerGroupActionsProps extends IServerGroupActionsProps {
5
+ serverGroup: IKubernetesServerGroupView;
6
+ }
7
+ export declare function KubernetesServerGroupActions({ app, serverGroup }: IKubernetesServerGroupActionsProps): JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { Observable } from 'rxjs';
2
+ import type { IServerGroupDetailsProps } from '@spinnaker/core';
3
+ import type { IKubernetesServerGroupView } from '../../interfaces';
4
+ export declare function kubernetesServerGroupDetailsGetter(props: IServerGroupDetailsProps, autoClose: () => void): Observable<IKubernetesServerGroupView>;
@@ -0,0 +1,5 @@
1
+ import type { IServerGroupDetailsSectionProps } from '@spinnaker/core';
2
+ import type { IKubernetesServerGroupView } from '../../../interfaces';
3
+ export interface IKubernetesServerGroupDetailsSectionProps extends IServerGroupDetailsSectionProps {
4
+ serverGroup: IKubernetesServerGroupView;
5
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupDetailsSectionProps } from './IKubernetesServerGroupDetailsSectionProps';
3
+ export declare function ServerGroupAnnotationCustomSection({ serverGroup }: IKubernetesServerGroupDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupDetailsSectionProps } from './IKubernetesServerGroupDetailsSectionProps';
3
+ export declare function ServerGroupEventsSection({ serverGroup }: IKubernetesServerGroupDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupDetailsSectionProps } from './IKubernetesServerGroupDetailsSectionProps';
3
+ export declare function ServerGroupHealthSection({ serverGroup }: IKubernetesServerGroupDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupDetailsSectionProps } from './IKubernetesServerGroupDetailsSectionProps';
3
+ export declare function ServerGroupImagesSection({ serverGroup }: IKubernetesServerGroupDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupDetailsSectionProps } from './IKubernetesServerGroupDetailsSectionProps';
3
+ export declare function ServerGroupInformationSection({ serverGroup }: IKubernetesServerGroupDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupDetailsSectionProps } from './IKubernetesServerGroupDetailsSectionProps';
3
+ export declare function ServerGroupLabelsSection({ serverGroup }: IKubernetesServerGroupDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupDetailsSectionProps } from './IKubernetesServerGroupDetailsSectionProps';
3
+ export declare function ServerGroupManifestStatusSection({ serverGroup }: IKubernetesServerGroupDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupDetailsSectionProps } from './IKubernetesServerGroupDetailsSectionProps';
3
+ export declare function ServerGroupSizeSection({ serverGroup }: IKubernetesServerGroupDetailsSectionProps): JSX.Element;
@@ -0,0 +1,9 @@
1
+ export * from './IKubernetesServerGroupDetailsSectionProps';
2
+ export * from './ServerGroupAnnotationCustomSection';
3
+ export * from './ServerGroupEventsSection';
4
+ export * from './ServerGroupHealthSection';
5
+ export * from './ServerGroupImagesSection';
6
+ export * from './ServerGroupInformationSection';
7
+ export * from './ServerGroupLabelsSection';
8
+ export * from './ServerGroupManifestStatusSection';
9
+ export * from './ServerGroupSizeSection';
@@ -0,0 +1,8 @@
1
+ import type { IManifest } from '@spinnaker/core';
2
+ interface IUseManifestProps {
3
+ manifest: IManifest;
4
+ }
5
+ export declare function useManifest({ manifest }: IUseManifestProps): {
6
+ manifestController: string;
7
+ };
8
+ export {};
@@ -1,4 +1,3 @@
1
- export * from './serverGroupCommandBuilder.service';
2
- export * from './serverGroupTransformer.service';
3
- export * from './details/details.controller';
4
- export * from './details/resize/resize.controller';
1
+ export * from './details/sections';
2
+ export * from './serverGroupCommandBuilder';
3
+ export * from './serverGroupTransformer';
@@ -3,4 +3,3 @@ import type { IKubernetesManifestCommandData } from '../manifest/manifestCommand
3
3
  export declare class KubernetesV2ServerGroupCommandBuilder {
4
4
  buildNewServerGroupCommand(app: Application): PromiseLike<IKubernetesManifestCommandData>;
5
5
  }
6
- export declare const KUBERNETES_SERVER_GROUP_COMMAND_BUILDER = "spinnaker.kubernetes.serverGroup.commandBuilder.service";
@@ -3,4 +3,3 @@ import type { IKubernetesServerGroup } from '../interfaces';
3
3
  export declare class KubernetesV2ServerGroupTransformer {
4
4
  normalizeServerGroup(serverGroup: IKubernetesServerGroup, application: Application): PromiseLike<IKubernetesServerGroup>;
5
5
  }
6
- export declare const KUBERNETES_SERVER_GROUP_TRANSFORMER = "spinnaker.kubernetes.serverGroup.transformer.service";
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import type { Application, IManifest } from '@spinnaker/core';
3
+ import type { IKubernetesServerGroupManager } from '../../interfaces';
4
+ export interface IServerGroupManagerActionsProps {
5
+ application: Application;
6
+ serverGroupManager: IKubernetesServerGroupManager;
7
+ manifest: IManifest;
8
+ }
9
+ export declare function ServerGroupManagerActions({ application, serverGroupManager, manifest, }: IServerGroupManagerActionsProps): JSX.Element;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { Application, IServerGroupManagerDetailsProps, IServerGroupManagerStateParams } from '@spinnaker/core';
3
+ export interface IKubernetesServerGroupManagerDetailsProps extends IServerGroupManagerDetailsProps {
4
+ app: Application;
5
+ serverGroupManager: IServerGroupManagerStateParams;
6
+ }
7
+ export declare function ServerGroupManagerDetails(props: IKubernetesServerGroupManagerDetailsProps): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { IManifest, IServerGroupManagerDetailsProps } from '@spinnaker/core';
2
+ import type { IKubernetesServerGroupManager } from '../../../interfaces';
3
+ export interface IKubernetesServerGroupManagerDetailsSectionProps extends IServerGroupManagerDetailsProps {
4
+ serverGroupManager: IKubernetesServerGroupManager;
5
+ manifest: IManifest;
6
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupManagerDetailsSectionProps } from './IKubernetesServerGroupManagerDetailsSectionProps';
3
+ export declare function ServerGroupManagerAnnotationCustomSection({ serverGroupManager, manifest, }: IKubernetesServerGroupManagerDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupManagerDetailsSectionProps } from './IKubernetesServerGroupManagerDetailsSectionProps';
3
+ export declare function ServerGroupManagerArtifactsSection({ manifest }: IKubernetesServerGroupManagerDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupManagerDetailsSectionProps } from './IKubernetesServerGroupManagerDetailsSectionProps';
3
+ export declare function ServerGroupManagerEventsSection({ manifest }: IKubernetesServerGroupManagerDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupManagerDetailsSectionProps } from './IKubernetesServerGroupManagerDetailsSectionProps';
3
+ export declare function ServerGroupManagerInformationSection({ serverGroupManager, }: IKubernetesServerGroupManagerDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupManagerDetailsSectionProps } from './IKubernetesServerGroupManagerDetailsSectionProps';
3
+ export declare function ServerGroupManagerLabelsSection({ manifest }: IKubernetesServerGroupManagerDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupManagerDetailsSectionProps } from './IKubernetesServerGroupManagerDetailsSectionProps';
3
+ export declare function ServerGroupManagerManifestConditionSection({ manifest, }: IKubernetesServerGroupManagerDetailsSectionProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IKubernetesServerGroupManagerDetailsSectionProps } from './IKubernetesServerGroupManagerDetailsSectionProps';
3
+ export declare function ServerGroupManagerManifestStatusSection({ manifest, }: IKubernetesServerGroupManagerDetailsSectionProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ export * from './IKubernetesServerGroupManagerDetailsSectionProps';
2
+ export * from './ServerGroupManagerAnnotationCustomSection';
3
+ export * from './ServerGroupManagerArtifactsSection';
4
+ export * from './ServerGroupManagerEventsSection';
5
+ export * from './ServerGroupManagerInformationSection';
6
+ export * from './ServerGroupManagerLabelsSection';
7
+ export * from './ServerGroupManagerManifestConditionSection';
8
+ export * from './ServerGroupManagerManifestStatusSection';
@@ -0,0 +1,4 @@
1
+ import type { IManifest } from '@spinnaker/core';
2
+ import type { IKubernetesServerGroupManagerDetailsProps } from './ServerGroupManagerDetails';
3
+ import type { IKubernetesServerGroupManager } from '../../interfaces';
4
+ export declare function useKubernetesServerGroupManagerDetails(props: IKubernetesServerGroupManagerDetailsProps, autoClose: () => void): [IKubernetesServerGroupManager | undefined, IManifest | undefined, boolean];
@@ -1 +1 @@
1
- export * from './details/details.controller';
1
+ export * from './details/sections';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@spinnaker/kubernetes",
3
3
  "license": "Apache-2.0",
4
- "version": "2025.0.5",
4
+ "version": "2025.1.0",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
7
7
  "publishConfig": {
@@ -52,7 +52,7 @@
52
52
  "@types/react-bootstrap": "0.32.5",
53
53
  "@types/react-select": "1.3.4",
54
54
  "shx": "0.3.3",
55
- "typescript": "4.3.5"
55
+ "typescript": "5.0.4"
56
56
  },
57
- "gitHead": "6df197b79d9dbbf6a4619ec5e4b35e02d0739592"
57
+ "gitHead": "ed6c0f8929f68fcb6295c4d56c4bfbdec8d21ce6"
58
58
  }
package/src/index.ts CHANGED
@@ -5,3 +5,4 @@ export * from './securityGroup';
5
5
  export * from './manifest';
6
6
  export * from './loadBalancer';
7
7
  export * from './rawResource';
8
+ export * from './reactShims';
@@ -1,6 +1,7 @@
1
1
  import type {
2
2
  IInstance,
3
3
  ILoadBalancer,
4
+ IManifest,
4
5
  IMoniker,
5
6
  ISecurityGroupDetail,
6
7
  IServerGroup,
@@ -32,4 +33,8 @@ export interface IKubernetesServerGroup extends IServerGroup, IKubernetesResourc
32
33
  disabled: boolean;
33
34
  }
34
35
 
36
+ export interface IKubernetesServerGroupView extends IKubernetesServerGroup {
37
+ manifest: IManifest;
38
+ }
39
+
35
40
  export interface IKubernetesServerGroupManager extends IServerGroupManager, IKubernetesResource {}
@@ -13,7 +13,6 @@ import { KUBERNETES_LOAD_BALANCER_DETAILS_CTRL } from './loadBalancer/details/de
13
13
  import { KUBERNETES_LOAD_BALANCER_TRANSFORMER } from './loadBalancer/transformer';
14
14
  import kubernetesLogo from './logo/kubernetes.logo.svg';
15
15
  import { KUBERNETES_ANNOTATION_CUSTOM_SECTIONS } from './manifest/annotationCustomSections.component';
16
- import { KUBERNETES_MANIFEST_ARTIFACT } from './manifest/artifact/artifact.component';
17
16
  import { KUBERNETES_MANIFEST_DELETE_CTRL } from './manifest/delete/delete.controller';
18
17
  import { JSON_EDITOR_COMPONENT } from './manifest/editor/json/jsonEditor.component';
19
18
  import { KUBERNETES_MANIFEST_EVENTS } from './manifest/manifestEvents.component';
@@ -21,7 +20,6 @@ import { KUBERNETES_MANIFEST_IMAGE_DETAILS } from './manifest/manifestImageDetai
21
20
  import { KUBERNETES_MANIFEST_LABELS } from './manifest/manifestLabels.component';
22
21
  import { KUBERNETES_MANIFEST_QOS } from './manifest/manifestQos.component';
23
22
  import { KUBERNETES_MANIFEST_RESOURCES } from './manifest/manifestResources.component';
24
- import { KUBERNETES_ROLLING_RESTART } from './manifest/rollout/RollingRestart';
25
23
  import { KUBERNETES_MANIFEST_PAUSE_ROLLOUT_CTRL } from './manifest/rollout/pause.controller';
26
24
  import { KUBERNETES_MANIFEST_RESUME_ROLLOUT_CTRL } from './manifest/rollout/resume.controller';
27
25
  import { KUBERNETES_MANIFEST_UNDO_ROLLOUT_CTRL } from './manifest/rollout/undo.controller';
@@ -35,15 +33,26 @@ import { KUBERNETES_DISABLE_MANIFEST_STAGE } from './pipelines/stages/traffic/di
35
33
  import { KUBERNETES_ENABLE_MANIFEST_STAGE } from './pipelines/stages/traffic/enableManifest.stage';
36
34
  import './pipelines/validation/manifestSelector.validator';
37
35
  import { KUBERNETS_RAW_RESOURCE_MODULE } from './rawResource';
36
+ import { KUBERNETES_REACT_MODULE } from './reactShims/kubernetes.react.module';
38
37
  import { KUBERNETES_RESOURCE_STATES } from './resources/resources.state';
39
38
  import { KUBERNETES_SECURITY_GROUP_DETAILS_CTRL } from './securityGroup/details/details.controller';
40
39
  import { KubernetesSecurityGroupReader } from './securityGroup/securityGroup.reader';
41
40
  import { KUBERNETES_SECURITY_GROUP_TRANSFORMER } from './securityGroup/transformer';
42
- import { KUBERNETES_SERVER_GROUP_DETAILS_CTRL } from './serverGroup/details/details.controller';
43
- import { KUBERNETES_SERVER_GROUP_RESIZE_CTRL } from './serverGroup/details/resize/resize.controller';
44
- import { KUBERNETES_SERVER_GROUP_COMMAND_BUILDER } from './serverGroup/serverGroupCommandBuilder.service';
45
- import { KUBERNETES_SERVER_GROUP_TRANSFORMER } from './serverGroup/serverGroupTransformer.service';
46
- import { KUBERNETES_SERVER_GROUP_MANAGER_DETAILS_CTRL } from './serverGroupManager/details/details.controller';
41
+ import { KubernetesServerGroupActions } from './serverGroup/details/KubernetesServerGroupActions';
42
+ import { kubernetesServerGroupDetailsGetter } from './serverGroup/details/kubernetesServerGroupDetailsGetter';
43
+ import {
44
+ ServerGroupAnnotationCustomSection,
45
+ ServerGroupEventsSection,
46
+ ServerGroupHealthSection,
47
+ ServerGroupImagesSection,
48
+ ServerGroupInformationSection,
49
+ ServerGroupLabelsSection,
50
+ ServerGroupManifestStatusSection,
51
+ ServerGroupSizeSection,
52
+ } from './serverGroup/details/sections';
53
+ import { KubernetesV2ServerGroupCommandBuilder } from './serverGroup/serverGroupCommandBuilder';
54
+ import { KubernetesV2ServerGroupTransformer } from './serverGroup/serverGroupTransformer';
55
+ import { ServerGroupManagerDetails } from './serverGroupManager/details/ServerGroupManagerDetails';
47
56
  import './validation/applicationName.validator';
48
57
 
49
58
  import './logo/kubernetes.logo.less';
@@ -51,15 +60,10 @@ import './logo/kubernetes.logo.less';
51
60
  export const KUBERNETES_MODULE = 'spinnaker.kubernetes';
52
61
 
53
62
  const requires = [
63
+ KUBERNETES_REACT_MODULE,
54
64
  KUBERNETES_INSTANCE_DETAILS_CTRL,
55
65
  KUBERNETES_LOAD_BALANCER_DETAILS_CTRL,
56
66
  KUBERNETES_SECURITY_GROUP_DETAILS_CTRL,
57
- KUBERNETES_SERVER_GROUP_COMMAND_BUILDER,
58
- KUBERNETES_SERVER_GROUP_DETAILS_CTRL,
59
- KUBERNETES_SERVER_GROUP_TRANSFORMER,
60
- KUBERNETES_SERVER_GROUP_MANAGER_DETAILS_CTRL,
61
- KUBERNETES_SERVER_GROUP_RESIZE_CTRL,
62
- KUBERNETES_SERVER_GROUP_MANAGER_DETAILS_CTRL,
63
67
  KUBERNETES_MANIFEST_DELETE_CTRL,
64
68
  KUBERNETES_MANIFEST_SCALE_CTRL,
65
69
  KUBERNETES_MANIFEST_UNDO_ROLLOUT_CTRL,
@@ -67,7 +71,6 @@ const requires = [
67
71
  KUBERNETES_MANIFEST_RESUME_ROLLOUT_CTRL,
68
72
  KUBERNETES_MANIFEST_STATUS,
69
73
  KUBERNETES_MANIFEST_CONDITION,
70
- KUBERNETES_MANIFEST_ARTIFACT,
71
74
  KUBERNETES_LOAD_BALANCER_TRANSFORMER,
72
75
  KUBERNETES_SECURITY_GROUP_TRANSFORMER,
73
76
  KUBERNETES_MANIFEST_SELECTOR,
@@ -83,7 +86,6 @@ const requires = [
83
86
  KUBERNETES_ENABLE_MANIFEST_STAGE,
84
87
  KUBERNETES_DISABLE_MANIFEST_STAGE,
85
88
  STAGE_ARTIFACT_SELECTOR_COMPONENT_REACT,
86
- KUBERNETES_ROLLING_RESTART,
87
89
  ];
88
90
 
89
91
  if (SETTINGS.feature.kubernetesRawResources) {
@@ -99,14 +101,23 @@ module(KUBERNETES_MODULE, requires).config(() => {
99
101
  },
100
102
  serverGroup: {
101
103
  CloneServerGroupModal: ManifestWizard,
102
- commandBuilder: 'kubernetesV2ServerGroupCommandBuilder',
103
- detailsController: 'kubernetesV2ServerGroupDetailsCtrl',
104
- detailsTemplateUrl: require('./serverGroup/details/details.html'),
105
- transformer: 'kubernetesV2ServerGroupTransformer',
104
+ detailsActions: KubernetesServerGroupActions,
105
+ detailsGetter: kubernetesServerGroupDetailsGetter,
106
+ detailsSections: [
107
+ ServerGroupManifestStatusSection,
108
+ ServerGroupInformationSection,
109
+ ServerGroupAnnotationCustomSection,
110
+ ServerGroupImagesSection,
111
+ ServerGroupEventsSection,
112
+ ServerGroupLabelsSection,
113
+ ServerGroupSizeSection,
114
+ ServerGroupHealthSection,
115
+ ],
116
+ commandBuilder: KubernetesV2ServerGroupCommandBuilder,
117
+ transformer: KubernetesV2ServerGroupTransformer,
106
118
  },
107
119
  serverGroupManager: {
108
- detailsTemplateUrl: require('./serverGroupManager/details/details.html'),
109
- detailsController: 'kubernetesV2ServerGroupManagerDetailsCtrl',
120
+ details: ServerGroupManagerDetails,
110
121
  },
111
122
  loadBalancer: {
112
123
  CreateLoadBalancerModal: ManifestWizard,
@@ -0,0 +1,6 @@
1
+ import type { IKubernetesResource } from '../interfaces';
2
+
3
+ export interface IAnnotationCustomSectionsProps {
4
+ manifest: any;
5
+ resource: IKubernetesResource;
6
+ }
@@ -90,7 +90,7 @@ class KubernetesAnnotationCustomSections implements IController {
90
90
  }
91
91
  }
92
92
 
93
- const kubernetesAnnotationCustomSectionsComponent: IComponentOptions = {
93
+ export const kubernetesAnnotationCustomSectionsComponent: IComponentOptions = {
94
94
  bindings: { manifest: '<', resource: '<' },
95
95
  controller: ['$sce', '$interpolate', KubernetesAnnotationCustomSections],
96
96
  controllerAs: 'ctrl',
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+
3
+ import type { IArtifact } from '@spinnaker/core';
4
+
5
+ export interface IKubernetesManifestArtifactProps {
6
+ artifact: IArtifact;
7
+ }
8
+
9
+ export function ManifestArtifact({ artifact }: IKubernetesManifestArtifactProps) {
10
+ return (
11
+ <span>
12
+ <b>{artifact.type}&nbsp;</b>
13
+ <i>{artifact.reference}</i>
14
+ </span>
15
+ );
16
+ }
@@ -1,7 +1,7 @@
1
1
  export * from './manifest.service';
2
2
  export * from './manifestCommandBuilder.service';
3
3
  export * from './IManifestCoordinates';
4
- export * from './artifact/artifact.component';
4
+ export * from './artifact/ManifestArtifact';
5
5
  export * from './delete/delete.controller';
6
6
  export * from './rollout/pause.controller';
7
7
  export * from './rollout/undo.controller';
@@ -1,9 +1,7 @@
1
- import { module } from 'angular';
2
1
  import React from 'react';
3
- import { react2angular } from 'react2angular';
4
2
 
5
3
  import type { Application } from '@spinnaker/core';
6
- import { ConfirmationModalService, ManifestWriter, withErrorBoundary } from '@spinnaker/core';
4
+ import { ConfirmationModalService, ManifestWriter } from '@spinnaker/core';
7
5
 
8
6
  import type { IKubernetesServerGroupManager } from '../../interfaces';
9
7
 
@@ -19,7 +17,7 @@ interface IRollingRestartParameters {
19
17
  manifestName: string;
20
18
  }
21
19
 
22
- function RollingRestart({ application, serverGroupManager }: IRollingRestartProps) {
20
+ export function RollingRestart({ application, serverGroupManager }: IRollingRestartProps) {
23
21
  function rollingRestart() {
24
22
  const rollingRestartParameters: IRollingRestartParameters = {
25
23
  account: serverGroupManager.account,
@@ -46,9 +44,3 @@ function RollingRestart({ application, serverGroupManager }: IRollingRestartProp
46
44
  </li>
47
45
  );
48
46
  }
49
-
50
- export const KUBERNETES_ROLLING_RESTART = 'spinnaker.kubernetes.v2.rolling.restart';
51
- module(KUBERNETES_ROLLING_RESTART, []).component(
52
- 'kubernetesRollingRestart',
53
- react2angular(withErrorBoundary(RollingRestart, 'kubernetesRollingRestart'), ['application', 'serverGroupManager']),
54
- );
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+
3
+ import type { IManifestStatus } from '@spinnaker/core';
4
+ import { Spinner, Tooltip } from '@spinnaker/core';
5
+
6
+ export interface IKubernetesManifestStatusProps {
7
+ status?: { [key: string]: IManifestStatus };
8
+ }
9
+
10
+ export function ManifestStatus({ status }: IKubernetesManifestStatusProps) {
11
+ if (!status) {
12
+ return (
13
+ <div className="header">
14
+ <div className="horizontal middle center spinner-section">
15
+ <Spinner size="small" />
16
+ </div>
17
+ </div>
18
+ );
19
+ }
20
+ return (
21
+ <div>
22
+ {!status.available.state && (
23
+ <Tooltip value={status.available.message}>
24
+ <div className="band band-warning">Not Fully Available</div>
25
+ </Tooltip>
26
+ )}
27
+ {!status.stable.state && (
28
+ <Tooltip value={status.stable.message}>
29
+ <div className="band band-active">Transitioning</div>
30
+ </Tooltip>
31
+ )}
32
+ {status.paused.state && (
33
+ <Tooltip value={status.paused.message}>
34
+ <div className="band band-info">Rollout Paused</div>
35
+ </Tooltip>
36
+ )}
37
+ </div>
38
+ );
39
+ }
@@ -1,36 +1,11 @@
1
- import type { IComponentOptions, IController } from 'angular';
2
1
  import { module } from 'angular';
3
2
 
4
- import type { IManifestStatus } from '@spinnaker/core';
5
-
6
- class KubernetesManifestStatusCtrl implements IController {
7
- public status: IManifestStatus;
8
- }
9
-
10
- const kubernetesManifestStatusComponent: IComponentOptions = {
11
- bindings: { status: '<' },
12
- controller: KubernetesManifestStatusCtrl,
13
- controllerAs: 'ctrl',
14
- template: `
15
- <div ng-if="!ctrl.status" class="horizontal middle center spinner-section">
16
- <loading-spinner size="'small'"></loading-spinner>
17
- </div>
18
- <div ng-if="ctrl.status">
19
- <div class="band band-warning" ng-if="!ctrl.status.available.state"
20
- uib-tooltip="{{ctrl.status.available.message}}">
21
- Not Fully Available
22
- </div>
23
- <div class="band band-active" ng-if="!ctrl.status.stable.state"
24
- uib-tooltip="{{ctrl.status.stable.message}}">
25
- Transitioning
26
- </div>
27
- <div class="band band-info" ng-if="ctrl.status.paused.state"
28
- uib-tooltip="{{ctrl.status.paused.message}}">
29
- Rollout Paused
30
- </div>
31
- </div>
32
- `,
33
- };
3
+ import { react2angular } from 'react2angular';
4
+ import { withErrorBoundary } from '@spinnaker/core';
5
+ import { ManifestStatus } from './ManifestStatus';
34
6
 
35
7
  export const KUBERNETES_MANIFEST_STATUS = 'spinnaker.kubernetes.v2.kubernetes.manifest.status.component';
36
- module(KUBERNETES_MANIFEST_STATUS, []).component('kubernetesManifestStatus', kubernetesManifestStatusComponent);
8
+ module(KUBERNETES_MANIFEST_STATUS, []).component(
9
+ 'kubernetesManifestStatus',
10
+ react2angular(withErrorBoundary(ManifestStatus, 'kubernetesManifestStatus'), ['status']),
11
+ );
@@ -0,0 +1 @@
1
+ export * from './kubernetes.react.injector';