@spinnaker/titus 0.0.0-main-2

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 (185) hide show
  1. package/CHANGELOG.md +2661 -0
  2. package/LICENSE.txt +203 -0
  3. package/dist/domain/IJobDisruptionBudget.d.ts +35 -0
  4. package/dist/domain/ITitusCredentials.d.ts +5 -0
  5. package/dist/domain/ITitusInstance.d.ts +28 -0
  6. package/dist/domain/ITitusScalingPolicy.d.ts +4 -0
  7. package/dist/domain/ITitusServerGroup.d.ts +52 -0
  8. package/dist/domain/ITitusServiceJobProcesses.d.ts +3 -0
  9. package/dist/domain/index.d.ts +5 -0
  10. package/dist/help/titus.help.d.ts +1 -0
  11. package/dist/index.d.ts +6 -0
  12. package/dist/index.js +12828 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/instance/details/TitusInstanceDetails.d.ts +25 -0
  15. package/dist/instance/details/TitusInstanceDns.d.ts +8 -0
  16. package/dist/instance/details/TitusInstanceInformation.d.ts +7 -0
  17. package/dist/instance/details/index.d.ts +4 -0
  18. package/dist/instance/details/titusInstanceDetailsUtils.d.ts +14 -0
  19. package/dist/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.d.ts +2 -0
  20. package/dist/pipeline/stages/cloneServerGroup/titusCloneServerGroupStage.d.ts +2 -0
  21. package/dist/pipeline/stages/destroyAsg/titusDestroyAsgStage.d.ts +2 -0
  22. package/dist/pipeline/stages/disableAsg/titusDisableAsgStage.d.ts +2 -0
  23. package/dist/pipeline/stages/disableCluster/titusDisableClusterStage.d.ts +2 -0
  24. package/dist/pipeline/stages/enableAsg/titusEnableAsgStage.d.ts +2 -0
  25. package/dist/pipeline/stages/findAmi/titusFindAmiStage.d.ts +2 -0
  26. package/dist/pipeline/stages/resizeAsg/titusResizeAsgStage.d.ts +2 -0
  27. package/dist/pipeline/stages/runJob/RunJobExecutionDetails.d.ts +16 -0
  28. package/dist/pipeline/stages/runJob/TitusRunJobStageConfig.d.ts +25 -0
  29. package/dist/pipeline/stages/runJob/TitusSecurityGroupPicker.d.ts +34 -0
  30. package/dist/pipeline/stages/runJob/titusRunJobStage.d.ts +1 -0
  31. package/dist/pipeline/stages/scaleDownCluster/titusScaleDownClusterStage.d.ts +2 -0
  32. package/dist/pipeline/stages/shrinkCluster/titusShrinkClusterStage.d.ts +2 -0
  33. package/dist/reactShims/index.d.ts +1 -0
  34. package/dist/reactShims/titus.react.injector.d.ts +11 -0
  35. package/dist/reactShims/titus.react.module.d.ts +1 -0
  36. package/dist/securityGroup/securityGroup.read.service.d.ts +2 -0
  37. package/dist/serverGroup/configure/ServerGroupCommandBuilder.d.ts +2 -0
  38. package/dist/serverGroup/configure/serverGroup.configure.titus.module.d.ts +2 -0
  39. package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +89 -0
  40. package/dist/serverGroup/configure/wizard/TitusCloneServerGroupModal.d.ts +31 -0
  41. package/dist/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.d.ts +28 -0
  42. package/dist/serverGroup/configure/wizard/pages/ServerGroupParameters.d.ts +15 -0
  43. package/dist/serverGroup/configure/wizard/pages/ServerGroupResources.d.ts +11 -0
  44. package/dist/serverGroup/configure/wizard/pages/TitusMapLayout.d.ts +4 -0
  45. package/dist/serverGroup/configure/wizard/pages/disruptionBudget/JobDisruptionBudget.d.ts +40 -0
  46. package/dist/serverGroup/configure/wizard/pages/disruptionBudget/PolicyOptions.d.ts +2 -0
  47. package/dist/serverGroup/configure/wizard/pages/disruptionBudget/RateOptions.d.ts +2 -0
  48. package/dist/serverGroup/configure/wizard/pages/disruptionBudget/WindowPicker.d.ts +23 -0
  49. package/dist/serverGroup/configure/wizard/pages/index.d.ts +4 -0
  50. package/dist/serverGroup/details/TitusCapacityDetailsSection.d.ts +11 -0
  51. package/dist/serverGroup/details/TitusLaunchConfigSection.d.ts +9 -0
  52. package/dist/serverGroup/details/TitusPackageDetailsSection.d.ts +6 -0
  53. package/dist/serverGroup/details/TitusSecurityGroups.d.ts +17 -0
  54. package/dist/serverGroup/details/capacityDetailsSection.component.d.ts +1 -0
  55. package/dist/serverGroup/details/disruptionBudget/DisruptionBudgetSection.d.ts +19 -0
  56. package/dist/serverGroup/details/disruptionBudget/EditDisruptionBudgetModal.d.ts +14 -0
  57. package/dist/serverGroup/details/index.d.ts +5 -0
  58. package/dist/serverGroup/details/launchConfigSection.component.d.ts +1 -0
  59. package/dist/serverGroup/details/resize/TitusResizeServerGroupModal.d.ts +8 -0
  60. package/dist/serverGroup/details/resize/useTaskMonitor.d.ts +25 -0
  61. package/dist/serverGroup/details/rollback/rollbackServerGroup.controller.d.ts +2 -0
  62. package/dist/serverGroup/details/scalingActivity/TitusScalingActivitiesModal.d.ts +7 -0
  63. package/dist/serverGroup/details/scalingPolicy/CreateScalingPolicyButton.d.ts +21 -0
  64. package/dist/serverGroup/details/scalingPolicy/TitusCustomScalingPolicy.d.ts +7 -0
  65. package/dist/serverGroup/details/scalingPolicy/createScalingPolicyButton.component.d.ts +1 -0
  66. package/dist/serverGroup/details/scalingPolicy/index.d.ts +3 -0
  67. package/dist/serverGroup/details/scalingPolicy/scalingPolicy.module.d.ts +1 -0
  68. package/dist/serverGroup/details/scalingPolicy/targetTracking/TitusTargetTrackingChart.d.ts +9 -0
  69. package/dist/serverGroup/details/scalingPolicy/targetTracking/UpsertTargetTrackingModal.d.ts +10 -0
  70. package/dist/serverGroup/details/scalingPolicy/titusCustomScalingPolicy.component.d.ts +1 -0
  71. package/dist/serverGroup/details/scalingPolicy/upsert/TitusScalingPolicyCommandBuilderService.d.ts +10 -0
  72. package/dist/serverGroup/details/scalingPolicy/upsert/UpsertScalingPolicyModal.d.ts +10 -0
  73. package/dist/serverGroup/details/sections/ITitusServerGroupDetailsSectionProps.d.ts +5 -0
  74. package/dist/serverGroup/details/serverGroupDetails.titus.controller.d.ts +2 -0
  75. package/dist/serverGroup/details/serviceJobProcesses/ServiceJobProcesses.d.ts +3 -0
  76. package/dist/serverGroup/details/serviceJobProcesses/ServiceJobProcessesSection.d.ts +7 -0
  77. package/dist/serverGroup/details/titusPackageDetailsSection.component.d.ts +1 -0
  78. package/dist/serverGroup/details/titusSecurityGroups.component.d.ts +1 -0
  79. package/dist/serverGroup/serverGroup.transformer.d.ts +2 -0
  80. package/dist/titus.module.d.ts +5 -0
  81. package/dist/titus.settings.d.ts +14 -0
  82. package/dist/validation/ApplicationNameValidator.d.ts +1 -0
  83. package/package.json +52 -0
  84. package/src/domain/IJobDisruptionBudget.ts +19 -0
  85. package/src/domain/ITitusCredentials.ts +6 -0
  86. package/src/domain/ITitusInstance.ts +30 -0
  87. package/src/domain/ITitusScalingPolicy.ts +5 -0
  88. package/src/domain/ITitusServerGroup.ts +56 -0
  89. package/src/domain/ITitusServiceJobProcesses.ts +3 -0
  90. package/src/domain/index.ts +5 -0
  91. package/src/help/titus.help.ts +99 -0
  92. package/src/index.ts +6 -0
  93. package/src/instance/details/TitusInstanceDetails.tsx +234 -0
  94. package/src/instance/details/TitusInstanceDns.tsx +40 -0
  95. package/src/instance/details/TitusInstanceInformation.tsx +42 -0
  96. package/src/instance/details/index.ts +4 -0
  97. package/src/instance/details/titusInstanceDetailsUtils.spec.ts +124 -0
  98. package/src/instance/details/titusInstanceDetailsUtils.ts +181 -0
  99. package/src/logo/titus.logo.less +5 -0
  100. package/src/logo/titus.logo.png +0 -0
  101. package/src/logo/titus.logo.svg +7 -0
  102. package/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js +66 -0
  103. package/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html +46 -0
  104. package/src/pipeline/stages/cloneServerGroup/cloneServerGroupStage.html +106 -0
  105. package/src/pipeline/stages/cloneServerGroup/cloneServerGroupStepLabel.html +1 -0
  106. package/src/pipeline/stages/cloneServerGroup/titusCloneServerGroupStage.js +104 -0
  107. package/src/pipeline/stages/destroyAsg/destroyAsgStage.html +9 -0
  108. package/src/pipeline/stages/destroyAsg/destroyAsgStepLabel.html +1 -0
  109. package/src/pipeline/stages/destroyAsg/titusDestroyAsgStage.js +65 -0
  110. package/src/pipeline/stages/disableAsg/disableAsgStage.html +11 -0
  111. package/src/pipeline/stages/disableAsg/disableAsgStepLabel.html +1 -0
  112. package/src/pipeline/stages/disableAsg/titusDisableAsgStage.js +69 -0
  113. package/src/pipeline/stages/disableCluster/disableClusterStage.html +26 -0
  114. package/src/pipeline/stages/disableCluster/titusDisableClusterStage.js +85 -0
  115. package/src/pipeline/stages/enableAsg/enableAsgStage.html +11 -0
  116. package/src/pipeline/stages/enableAsg/enableAsgStepLabel.html +1 -0
  117. package/src/pipeline/stages/enableAsg/titusEnableAsgStage.js +73 -0
  118. package/src/pipeline/stages/findAmi/findAmiStage.html +24 -0
  119. package/src/pipeline/stages/findAmi/titusFindAmiStage.js +79 -0
  120. package/src/pipeline/stages/resizeAsg/resizeAsgStage.html +99 -0
  121. package/src/pipeline/stages/resizeAsg/resizeAsgStepLabel.html +1 -0
  122. package/src/pipeline/stages/resizeAsg/titusResizeAsgStage.js +125 -0
  123. package/src/pipeline/stages/runJob/RunJobExecutionDetails.tsx +165 -0
  124. package/src/pipeline/stages/runJob/TitusRunJobStageConfig.tsx +466 -0
  125. package/src/pipeline/stages/runJob/TitusSecurityGroupPicker.tsx +170 -0
  126. package/src/pipeline/stages/runJob/titusRunJobStage.ts +30 -0
  127. package/src/pipeline/stages/scaleDownCluster/scaleDownClusterStage.html +35 -0
  128. package/src/pipeline/stages/scaleDownCluster/titusScaleDownClusterStage.js +79 -0
  129. package/src/pipeline/stages/shrinkCluster/shrinkClusterStage.html +34 -0
  130. package/src/pipeline/stages/shrinkCluster/titusShrinkClusterStage.js +73 -0
  131. package/src/reactShims/index.ts +1 -0
  132. package/src/reactShims/titus.react.injector.ts +17 -0
  133. package/src/reactShims/titus.react.module.ts +10 -0
  134. package/src/securityGroup/securityGroup.read.service.js +15 -0
  135. package/src/serverGroup/configure/ServerGroupCommandBuilder.js +247 -0
  136. package/src/serverGroup/configure/serverGroup.configure.titus.module.js +9 -0
  137. package/src/serverGroup/configure/serverGroupCommandBuilder.spec.js +63 -0
  138. package/src/serverGroup/configure/serverGroupConfiguration.service.ts +410 -0
  139. package/src/serverGroup/configure/wizard/TitusCloneServerGroupModal.tsx +293 -0
  140. package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.tsx +339 -0
  141. package/src/serverGroup/configure/wizard/pages/ServerGroupParameters.less +5 -0
  142. package/src/serverGroup/configure/wizard/pages/ServerGroupParameters.tsx +217 -0
  143. package/src/serverGroup/configure/wizard/pages/ServerGroupResources.tsx +200 -0
  144. package/src/serverGroup/configure/wizard/pages/TitusMapLayout.less +3 -0
  145. package/src/serverGroup/configure/wizard/pages/TitusMapLayout.tsx +29 -0
  146. package/src/serverGroup/configure/wizard/pages/disruptionBudget/JobDisruptionBudget.tsx +285 -0
  147. package/src/serverGroup/configure/wizard/pages/disruptionBudget/PolicyOptions.tsx +112 -0
  148. package/src/serverGroup/configure/wizard/pages/disruptionBudget/RateOptions.tsx +89 -0
  149. package/src/serverGroup/configure/wizard/pages/disruptionBudget/WindowPicker.tsx +202 -0
  150. package/src/serverGroup/configure/wizard/pages/index.ts +4 -0
  151. package/src/serverGroup/details/TitusCapacityDetailsSection.tsx +66 -0
  152. package/src/serverGroup/details/TitusLaunchConfigSection.tsx +35 -0
  153. package/src/serverGroup/details/TitusPackageDetailsSection.tsx +40 -0
  154. package/src/serverGroup/details/TitusSecurityGroups.tsx +107 -0
  155. package/src/serverGroup/details/capacityDetailsSection.component.ts +12 -0
  156. package/src/serverGroup/details/disruptionBudget/DisruptionBudgetSection.tsx +226 -0
  157. package/src/serverGroup/details/disruptionBudget/EditDisruptionBudgetModal.tsx +92 -0
  158. package/src/serverGroup/details/index.ts +5 -0
  159. package/src/serverGroup/details/launchConfigSection.component.ts +12 -0
  160. package/src/serverGroup/details/resize/TitusResizeServerGroupModal.tsx +302 -0
  161. package/src/serverGroup/details/resize/useTaskMonitor.ts +30 -0
  162. package/src/serverGroup/details/rollback/rollbackServerGroup.controller.js +149 -0
  163. package/src/serverGroup/details/rollback/rollbackServerGroup.html +133 -0
  164. package/src/serverGroup/details/scalingActivity/TitusScalingActivitiesModal.tsx +81 -0
  165. package/src/serverGroup/details/scalingPolicy/CreateScalingPolicyButton.tsx +102 -0
  166. package/src/serverGroup/details/scalingPolicy/TitusCustomScalingPolicy.tsx +13 -0
  167. package/src/serverGroup/details/scalingPolicy/createScalingPolicyButton.component.ts +15 -0
  168. package/src/serverGroup/details/scalingPolicy/index.js +3 -0
  169. package/src/serverGroup/details/scalingPolicy/scalingPolicy.module.ts +7 -0
  170. package/src/serverGroup/details/scalingPolicy/targetTracking/TitusTargetTrackingChart.tsx +57 -0
  171. package/src/serverGroup/details/scalingPolicy/targetTracking/UpsertTargetTrackingModal.tsx +82 -0
  172. package/src/serverGroup/details/scalingPolicy/titusCustomScalingPolicy.component.ts +17 -0
  173. package/src/serverGroup/details/scalingPolicy/upsert/TitusScalingPolicyCommandBuilderService.ts +115 -0
  174. package/src/serverGroup/details/scalingPolicy/upsert/UpsertScalingPolicyModal.tsx +157 -0
  175. package/src/serverGroup/details/sections/ITitusServerGroupDetailsSectionProps.ts +6 -0
  176. package/src/serverGroup/details/serverGroupDetails.html +191 -0
  177. package/src/serverGroup/details/serverGroupDetails.titus.controller.js +457 -0
  178. package/src/serverGroup/details/serviceJobProcesses/ServiceJobProcesses.ts +12 -0
  179. package/src/serverGroup/details/serviceJobProcesses/ServiceJobProcessesSection.tsx +136 -0
  180. package/src/serverGroup/details/titusPackageDetailsSection.component.ts +12 -0
  181. package/src/serverGroup/details/titusSecurityGroups.component.ts +12 -0
  182. package/src/serverGroup/serverGroup.transformer.js +90 -0
  183. package/src/titus.module.ts +95 -0
  184. package/src/titus.settings.ts +22 -0
  185. package/src/validation/ApplicationNameValidator.ts +43 -0
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ import type { IAmazonHealth } from '@spinnaker/amazon';
3
+ import type { Action, Application, IAccountDetails, IInstanceDetailsProps, IMoniker } from '@spinnaker/core';
4
+ import type { ITitusInstance, ITitusServerGroup } from '../../domain';
5
+ export interface ITitusInstanceDetailsProps extends IInstanceDetailsProps {
6
+ instance: {
7
+ instanceId: string;
8
+ };
9
+ }
10
+ export interface ITitusInstanceDetailsContentProps {
11
+ account: IAccountDetails;
12
+ actions: Action[];
13
+ app: Application;
14
+ baseIpAddress: string;
15
+ environment: string;
16
+ healthMetrics: IAmazonHealth[];
17
+ instance: ITitusInstance;
18
+ instanceId: string;
19
+ instancePort: string;
20
+ loading: boolean;
21
+ moniker: IMoniker;
22
+ serverGroup: ITitusServerGroup;
23
+ region: string;
24
+ }
25
+ export declare const TitusInstanceDetails: ({ app, environment, instance, moniker }: ITitusInstanceDetailsProps) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export interface ITitusInstanceDnsProps {
3
+ containerIp: string;
4
+ host: string;
5
+ instancePort: string;
6
+ ipv6Address: string;
7
+ }
8
+ export declare const TitusInstanceDns: ({ containerIp, host, instancePort, ipv6Address }: ITitusInstanceDnsProps) => JSX.Element;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { ITitusInstance } from '../../domain';
3
+ export interface ITitusInstanceInformationProps {
4
+ instance: ITitusInstance;
5
+ titusUiEndpoint: string;
6
+ }
7
+ export declare const TitusInstanceInformation: ({ instance, titusUiEndpoint }: ITitusInstanceInformationProps) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ export * from './TitusInstanceDetails';
2
+ export * from './titusInstanceDetailsUtils';
3
+ export * from './TitusInstanceDns';
4
+ export * from './TitusInstanceInformation';
@@ -0,0 +1,14 @@
1
+ import type { IAmazonApplicationLoadBalancer, IAmazonHealth, IAmazonNetworkLoadBalancer, IAmazonTargetGroupHealth, ITargetGroup } from '@spinnaker/amazon';
2
+ import type { Action, Application, IInstance } from '@spinnaker/core';
3
+ export declare const applyTargetGroupInfoToHealthMetric: (metricGroups: IAmazonTargetGroupHealth[], targetGroups: ITargetGroup[], account: string) => {
4
+ name: string;
5
+ healthCheckPath: string;
6
+ healthCheckProtocol: string;
7
+ targetGroupName: string;
8
+ instanceId?: string;
9
+ state: string;
10
+ description: string;
11
+ healthState: string;
12
+ }[];
13
+ export declare const extractHealthMetrics: (health: IAmazonHealth[], loadBalancers: IAmazonApplicationLoadBalancer[] | IAmazonNetworkLoadBalancer[], account: string) => IAmazonHealth[];
14
+ export declare const buildTaskActions: (instance: IInstance, app: Application) => Action[];
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_CLONESERVERGROUP_CLONESERVERGROUPEXECUTIONDETAILS_CONTROLLER: "spinnaker.titus.pipeline.stage.cloneServerGroup.executionDetails.controller";
2
+ export const name: "spinnaker.titus.pipeline.stage.cloneServerGroup.executionDetails.controller";
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_CLONESERVERGROUP_TITUSCLONESERVERGROUPSTAGE: "spinnaker.titus.pipeline.stage.cloneServerGroupStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.cloneServerGroupStage";
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_DESTROYASG_TITUSDESTROYASGSTAGE: "spinnaker.titus.pipeline.stage.destroyAsgStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.destroyAsgStage";
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_DISABLEASG_TITUSDISABLEASGSTAGE: "spinnaker.titus.pipeline.stage.disableAsgStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.disableAsgStage";
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_DISABLECLUSTER_TITUSDISABLECLUSTERSTAGE: "spinnaker.titus.pipeline.stage.disableClusterStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.disableClusterStage";
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_ENABLEASG_TITUSENABLEASGSTAGE: "spinnaker.titus.pipeline.stage.enableAsgStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.enableAsgStage";
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_FINDAMI_TITUSFINDAMISTAGE: "spinnaker.titus.pipeline.stage.findAmiStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.findAmiStage";
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_RESIZEASG_TITUSRESIZEASGSTAGE: "spinnaker.titus.pipeline.stage.resizeAsgStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.resizeAsgStage";
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { IExecutionDetailsSectionProps } from '@spinnaker/core';
3
+ export interface IRunJobExecutionDetailsState {
4
+ titusUiEndpoint?: string;
5
+ }
6
+ export declare class RunJobExecutionDetails extends React.Component<IExecutionDetailsSectionProps, IRunJobExecutionDetailsState> {
7
+ static title: string;
8
+ private mounted;
9
+ constructor(props: IExecutionDetailsSectionProps);
10
+ componentDidMount(): void;
11
+ private setEndpoint;
12
+ private formatEntryPoint;
13
+ componentWillUnmount(): void;
14
+ componentWillReceiveProps(): void;
15
+ render(): JSX.Element;
16
+ }
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import type { IRegion, IStageConfigProps } from '@spinnaker/core';
3
+ import type { IJobDisruptionBudget } from '../../../domain';
4
+ export interface ITitusRunJobStageConfigState {
5
+ credentials: string[];
6
+ regions: IRegion[];
7
+ loaded: boolean;
8
+ }
9
+ export declare class TitusRunJobStageConfig extends React.Component<IStageConfigProps, ITitusRunJobStageConfigState> {
10
+ private credentialsKeyedByAccount;
11
+ private defaultIamProfile;
12
+ state: ITitusRunJobStageConfigState;
13
+ constructor(props: IStageConfigProps);
14
+ private setRegistry;
15
+ private updateRegions;
16
+ private accountChanged;
17
+ private dockerChanged;
18
+ private stageFieldChanged;
19
+ componentDidMount(): void;
20
+ private mapChanged;
21
+ private groupsChanged;
22
+ private associateIPv6AddressChanged;
23
+ disruptionBudgetChanged: (values: IJobDisruptionBudget) => void;
24
+ render(): JSX.Element;
25
+ }
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import type { ISecurityGroup } from '@spinnaker/core';
3
+ export interface ITitusSecurityGroupPickerProps {
4
+ account: string;
5
+ region: string;
6
+ command: any;
7
+ groupsToEdit: string[];
8
+ hideLabel: boolean;
9
+ amazonAccount: string;
10
+ onChange: (groups: string[]) => void;
11
+ }
12
+ export interface ITitusSecurityGroupPickerState {
13
+ availableGroups: ISecurityGroup[];
14
+ removedGroups: string[];
15
+ loaded: boolean;
16
+ }
17
+ export declare class TitusSecurityGroupPicker extends React.Component<ITitusSecurityGroupPickerProps, ITitusSecurityGroupPickerState> {
18
+ state: ITitusSecurityGroupPickerState;
19
+ private credentials;
20
+ private vpcs;
21
+ private securityGroups;
22
+ constructor(props: ITitusSecurityGroupPickerProps);
23
+ private getCredentials;
24
+ private getAwsAccount;
25
+ private getRegion;
26
+ private getVpcId;
27
+ private getRegionalSecurityGroups;
28
+ refreshSecurityGroups(skipCommandReconfiguration?: boolean): PromiseLike<void>;
29
+ private configureSecurityGroupOptions;
30
+ private clearRemoved;
31
+ componentDidMount(): void;
32
+ componentWillReceiveProps(nextProps: ITitusSecurityGroupPickerProps): void;
33
+ render(): JSX.Element;
34
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_SCALEDOWNCLUSTER_TITUSSCALEDOWNCLUSTERSTAGE: "spinnaker.titus.pipeline.stage.scaleDownClusterStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.scaleDownClusterStage";
@@ -0,0 +1,2 @@
1
+ export const TITUS_PIPELINE_STAGES_SHRINKCLUSTER_TITUSSHRINKCLUSTERSTAGE: "spinnaker.titus.pipeline.stage.shrinkClusterStage";
2
+ export const name: "spinnaker.titus.pipeline.stage.shrinkClusterStage";
@@ -0,0 +1 @@
1
+ export * from './titus.react.injector';
@@ -0,0 +1,11 @@
1
+ /// <reference types="angular" />
2
+ import IInjectorService = angular.auto.IInjectorService;
3
+ import { ReactInject } from '@spinnaker/core';
4
+ export declare class TitusReactInject extends ReactInject {
5
+ get titusServerGroupTransformer(): any;
6
+ get titusServerGroupCommandBuilder(): any;
7
+ get titusServerGroupConfigurationService(): any;
8
+ get titusSecurityGroupReader(): any;
9
+ initialize($injector: IInjectorService): void;
10
+ }
11
+ export declare const TitusReactInjector: TitusReactInject;
@@ -0,0 +1 @@
1
+ export declare const TITUS_REACT_MODULE = "spinnaker.titus.react";
@@ -0,0 +1,2 @@
1
+ export const TITUS_SECURITYGROUP_SECURITYGROUP_READ_SERVICE: "spinnaker.titus.securityGroup.reader";
2
+ export const name: "spinnaker.titus.securityGroup.reader";
@@ -0,0 +1,2 @@
1
+ export const TITUS_SERVERGROUP_CONFIGURE_SERVERGROUPCOMMANDBUILDER: "spinnaker.titus.serverGroupCommandBuilder.service";
2
+ export const name: "spinnaker.titus.serverGroupCommandBuilder.service";
@@ -0,0 +1,2 @@
1
+ export const TITUS_SERVERGROUP_CONFIGURE_SERVERGROUP_CONFIGURE_TITUS_MODULE: "spinnaker.serverGroup.configure.titus";
2
+ export const name: "spinnaker.serverGroup.configure.titus";
@@ -0,0 +1,89 @@
1
+ import { Subject } from 'rxjs';
2
+ import type { IAmazonServerGroupCommandDirty } from '@spinnaker/amazon';
3
+ import type { Application, CacheInitializerService, ICluster, IServerGroupCommand, IServerGroupCommandBackingData, IServerGroupCommandViewState, IVpc, LoadBalancerReader, SecurityGroupReader } from '@spinnaker/core';
4
+ import type { IJobDisruptionBudget, ITitusResources } from '../../domain';
5
+ import type { ITitusServiceJobProcesses } from '../../domain/ITitusServiceJobProcesses';
6
+ export interface ITitusServerGroupCommandBackingData extends IServerGroupCommandBackingData {
7
+ accounts: string[];
8
+ vpcs: IVpc[];
9
+ }
10
+ export interface ITitusServerGroupCommandViewState extends IServerGroupCommandViewState {
11
+ accountChangedStream: Subject<{}>;
12
+ regionChangedStream: Subject<{}>;
13
+ groupsRemovedStream: Subject<{}>;
14
+ dirty: IAmazonServerGroupCommandDirty;
15
+ defaultIamProfile: string;
16
+ }
17
+ export declare const defaultJobDisruptionBudget: IJobDisruptionBudget;
18
+ export declare const getDefaultJobDisruptionBudgetForApp: (application: Application) => IJobDisruptionBudget;
19
+ export interface ITitusServerGroupCommand extends IServerGroupCommand {
20
+ cluster?: ICluster;
21
+ disruptionBudget?: IJobDisruptionBudget;
22
+ deferredInitialization?: boolean;
23
+ registry: string;
24
+ imageId: string;
25
+ organization: string;
26
+ repository: string;
27
+ tag?: string;
28
+ digest?: string;
29
+ image: string;
30
+ inService: boolean;
31
+ resources: ITitusResources;
32
+ efs: {
33
+ efsId: string;
34
+ mountPoint: string;
35
+ mountPerm: string;
36
+ efsRelativeMountPoint: string;
37
+ };
38
+ viewState: ITitusServerGroupCommandViewState;
39
+ targetGroups: string[];
40
+ removedTargetGroups: string[];
41
+ backingData: ITitusServerGroupCommandBackingData;
42
+ labels: {
43
+ [key: string]: string;
44
+ };
45
+ containerAttributes: {
46
+ [key: string]: string;
47
+ };
48
+ env: {
49
+ [key: string]: string;
50
+ };
51
+ iamProfile: string;
52
+ migrationPolicy: {
53
+ type: string;
54
+ };
55
+ constraints: {
56
+ hard: {
57
+ [key: string]: string;
58
+ };
59
+ soft: {
60
+ [key: string]: string;
61
+ };
62
+ };
63
+ serviceJobProcesses: ITitusServiceJobProcesses;
64
+ }
65
+ export declare class TitusServerGroupConfigurationService {
66
+ private cacheInitializer;
67
+ private loadBalancerReader;
68
+ private securityGroupReader;
69
+ static $inject: string[];
70
+ constructor(cacheInitializer: CacheInitializerService, loadBalancerReader: LoadBalancerReader, securityGroupReader: SecurityGroupReader);
71
+ configureZones(command: ITitusServerGroupCommand): void;
72
+ configureSubnets(command: ITitusServerGroupCommand): {
73
+ dirty: {};
74
+ };
75
+ private attachEventHandlers;
76
+ configureCommand(cmd: ITitusServerGroupCommand): PromiseLike<void>;
77
+ private getVpcId;
78
+ private getRegionalSecurityGroups;
79
+ private configureSecurityGroupOptions;
80
+ refreshSecurityGroups(command: ITitusServerGroupCommand, skipCommandReconfiguration: boolean): PromiseLike<void>;
81
+ private getCredentials;
82
+ private getAwsAccount;
83
+ private getRegion;
84
+ getTargetGroupNames(command: ITitusServerGroupCommand): string[];
85
+ private getLoadBalancerMap;
86
+ configureLoadBalancerOptions(command: ITitusServerGroupCommand): void;
87
+ refreshLoadBalancers(command: ITitusServerGroupCommand): PromiseLike<void>;
88
+ }
89
+ export declare const TITUS_SERVER_GROUP_CONFIGURATION_SERVICE = "spinnaker.titus.serverGroup.configure.service";
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import type { Application, IModalComponentProps } from '@spinnaker/core';
3
+ import { TaskMonitor } from '@spinnaker/core';
4
+ import type { ITitusServerGroupCommand } from '../serverGroupConfiguration.service';
5
+ export interface ITitusCloneServerGroupModalProps extends IModalComponentProps {
6
+ title: string;
7
+ application: Application;
8
+ command: ITitusServerGroupCommand;
9
+ }
10
+ export interface ITitusCloneServerGroupModalState {
11
+ firewallsLabel: string;
12
+ loaded: boolean;
13
+ requiresTemplateSelection: boolean;
14
+ taskMonitor: TaskMonitor;
15
+ }
16
+ export declare class TitusCloneServerGroupModal extends React.Component<ITitusCloneServerGroupModalProps, ITitusCloneServerGroupModalState> {
17
+ static defaultProps: Partial<ITitusCloneServerGroupModalProps>;
18
+ private _isUnmounted;
19
+ private refreshUnsubscribe;
20
+ static show(props: ITitusCloneServerGroupModalProps): Promise<ITitusServerGroupCommand>;
21
+ constructor(props: ITitusCloneServerGroupModalProps);
22
+ private templateSelected;
23
+ private onTaskComplete;
24
+ protected onApplicationRefresh: () => void;
25
+ private configureCommand;
26
+ componentWillUnmount(): void;
27
+ private submit;
28
+ private getLoadBalancerNote;
29
+ private getSecurityGroupNote;
30
+ render(): JSX.Element;
31
+ }
@@ -0,0 +1,28 @@
1
+ import type { FormikErrors, FormikProps } from 'formik';
2
+ import React from 'react';
3
+ import type { Application, IServerGroup, IWizardPageComponent } from '@spinnaker/core';
4
+ import type { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
5
+ export interface IServerGroupBasicSettingsProps {
6
+ app: Application;
7
+ formik: FormikProps<ITitusServerGroupCommand>;
8
+ }
9
+ export interface IServerGroupBasicSettingsState {
10
+ namePreview: string;
11
+ createsNewCluster: boolean;
12
+ latestServerGroup: IServerGroup;
13
+ }
14
+ export declare class ServerGroupBasicSettings extends React.Component<IServerGroupBasicSettingsProps, IServerGroupBasicSettingsState> implements IWizardPageComponent<ITitusServerGroupCommand> {
15
+ constructor(props: IServerGroupBasicSettingsProps);
16
+ private getStateFromProps;
17
+ private accountUpdated;
18
+ private regionUpdated;
19
+ validate(values: ITitusServerGroupCommand): FormikErrors<ITitusServerGroupCommand>;
20
+ private navigateToLatestServerGroup;
21
+ private stackChanged;
22
+ componentWillReceiveProps(nextProps: IServerGroupBasicSettingsProps): void;
23
+ private strategyChanged;
24
+ private dockerValuesChanged;
25
+ private onStrategyFieldChange;
26
+ private onSubnetChange;
27
+ render(): JSX.Element;
28
+ }
@@ -0,0 +1,15 @@
1
+ import type { FormikProps } from 'formik';
2
+ import React from 'react';
3
+ import type { Application, IFormInputProps, IWizardPageComponent } from '@spinnaker/core';
4
+ import type { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
5
+ import './ServerGroupParameters.less';
6
+ export interface IServerGroupParametersProps {
7
+ app: Application;
8
+ formik: FormikProps<ITitusServerGroupCommand>;
9
+ }
10
+ export declare function IPv6CheckboxInput(props: IFormInputProps): JSX.Element;
11
+ export declare class ServerGroupParameters extends React.Component<IServerGroupParametersProps> implements IWizardPageComponent<ITitusServerGroupCommand> {
12
+ constructor(props: IServerGroupParametersProps);
13
+ validate(_values: ITitusServerGroupCommand): any;
14
+ render(): JSX.Element;
15
+ }
@@ -0,0 +1,11 @@
1
+ import type { FormikProps } from 'formik';
2
+ import React from 'react';
3
+ import type { IWizardPageComponent } from '@spinnaker/core';
4
+ import type { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
5
+ export interface IServerGroupResourcesProps {
6
+ formik: FormikProps<ITitusServerGroupCommand>;
7
+ }
8
+ export declare class ServerGroupResources extends React.Component<IServerGroupResourcesProps> implements IWizardPageComponent<ITitusServerGroupCommand> {
9
+ validate(values: ITitusServerGroupCommand): any;
10
+ render(): JSX.Element;
11
+ }
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import type { ILayoutProps } from '@spinnaker/core';
3
+ import './TitusMapLayout.less';
4
+ export declare function TitusMapLayout(props: ILayoutProps): JSX.Element;
@@ -0,0 +1,40 @@
1
+ import type { FormikProps } from 'formik';
2
+ import React from 'react';
3
+ import type { Option } from 'react-select';
4
+ import type { Application } from '@spinnaker/core';
5
+ import type { IJobDisruptionBudget } from '../../../../../domain';
6
+ import type { ITitusServerGroupCommand } from '../../../serverGroupConfiguration.service';
7
+ export interface IJobDisruptionBudgetProps {
8
+ formik: FormikProps<ITitusServerGroupCommand>;
9
+ app: Application;
10
+ runJobView?: boolean;
11
+ onStageChange?: (values: IJobDisruptionBudget) => void;
12
+ }
13
+ export interface IJobDisruptionBudgetState {
14
+ usingDefault: boolean;
15
+ }
16
+ export interface IFieldOption extends Option {
17
+ field: keyof IJobDisruptionBudget;
18
+ description?: string;
19
+ defaultValues: any;
20
+ fieldComponent?: (props: IFieldOptionComponentProps) => JSX.Element;
21
+ }
22
+ export interface IFieldOptionComponentProps {
23
+ isDisabled: boolean;
24
+ }
25
+ export declare const DisruptionBudgetDescription: () => JSX.Element;
26
+ export declare class JobDisruptionBudget extends React.Component<IJobDisruptionBudgetProps, IJobDisruptionBudgetState> {
27
+ private timeWindowOptions;
28
+ constructor(props: IJobDisruptionBudgetProps);
29
+ private setToDefaultBudget;
30
+ private toggleUseDefault;
31
+ private getSelectionFromFields;
32
+ componentDidUpdate: (oldProps: IJobDisruptionBudgetProps) => void;
33
+ private optionTypeChanged;
34
+ private policyTypeChanged;
35
+ private rateTypeChanged;
36
+ private timeWindowsChanged;
37
+ private getTimeWindowSelection;
38
+ private toggleHealthProvider;
39
+ render(): JSX.Element;
40
+ }
@@ -0,0 +1,2 @@
1
+ import type { IFieldOption } from './JobDisruptionBudget';
2
+ export declare const policyOptions: IFieldOption[];
@@ -0,0 +1,2 @@
1
+ import type { IFieldOption } from './JobDisruptionBudget';
2
+ export declare const rateOptions: IFieldOption[];
@@ -0,0 +1,23 @@
1
+ import type { FormikProps } from 'formik';
2
+ import React from 'react';
3
+ import type { ITitusServerGroupCommand } from '../../../serverGroupConfiguration.service';
4
+ export interface IWindowPickerProps {
5
+ formik: FormikProps<ITitusServerGroupCommand>;
6
+ isDisabled: boolean;
7
+ }
8
+ export interface IWindowPickerState {
9
+ addingNewWindow?: boolean;
10
+ }
11
+ export declare class WindowPicker extends React.Component<IWindowPickerProps, IWindowPickerState> {
12
+ constructor(props: IWindowPickerProps);
13
+ private removeWindow;
14
+ /**
15
+ * The Budget API allows multiple hourly windows for a set of days; however, the UI is not really supportive of this,
16
+ * so we'll add them as a single window for a single set of days. It's fine!
17
+ */
18
+ private configureNewWindow;
19
+ private addNewWindow;
20
+ private CurrentWindows;
21
+ private NewWindowComponent;
22
+ render(): JSX.Element;
23
+ }
@@ -0,0 +1,4 @@
1
+ export * from './ServerGroupBasicSettings';
2
+ export * from './ServerGroupResources';
3
+ export * from './ServerGroupParameters';
4
+ export * from './disruptionBudget/JobDisruptionBudget';
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { Application } from '@spinnaker/core';
3
+ import type { ITitusServerGroup } from '../../domain';
4
+ interface ICapacityDetailsSectionProps {
5
+ app: Application;
6
+ serverGroup: ITitusServerGroup;
7
+ }
8
+ export declare class TitusCapacityDetailsSection extends React.Component<ICapacityDetailsSectionProps> {
9
+ render(): JSX.Element;
10
+ }
11
+ export {};
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { ITitusServerGroup } from '../../domain';
3
+ interface ILaunchConfigSectionProps {
4
+ serverGroup: ITitusServerGroup;
5
+ }
6
+ export declare class TitusLaunchConfigSection extends React.Component<ILaunchConfigSectionProps> {
7
+ render(): JSX.Element;
8
+ }
9
+ export {};
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { ITitusBuildInfo } from '../../domain';
3
+ export interface ITitusPackageDetailsSectionProps {
4
+ buildInfo: ITitusBuildInfo;
5
+ }
6
+ export declare const TitusPackageDetailsSection: ({ buildInfo }: ITitusPackageDetailsSectionProps) => JSX.Element;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { Application, ISecurityGroup } from '@spinnaker/core';
3
+ import type { ITitusServerGroupView } from '../../domain';
4
+ export interface ITitusServerGroupDetailsSectionProps {
5
+ app: Application;
6
+ serverGroup: ITitusServerGroupView;
7
+ }
8
+ export interface ISecurityGroupsDetailsSectionState {
9
+ securityGroups?: ISecurityGroup[];
10
+ }
11
+ export declare class TitusSecurityGroupsDetailsSection extends React.Component<ITitusServerGroupDetailsSectionProps, ISecurityGroupsDetailsSectionState> {
12
+ constructor(props: ITitusServerGroupDetailsSectionProps);
13
+ componentDidMount(): void;
14
+ private configureSecurityGroups;
15
+ componentWillReceiveProps(nextProps: ITitusServerGroupDetailsSectionProps): void;
16
+ render(): JSX.Element;
17
+ }
@@ -0,0 +1 @@
1
+ export declare const TITUS_SERVERGROUP_DETAILS_CAPACITYDETAILSSECTION = "titus.servergroup.details.capacitydetailssection";
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import type { IServerGroupDetailsSectionProps } from '@spinnaker/core';
3
+ import type { ITitusServerGroup } from '../../../domain';
4
+ interface IDisruptionBudgetSection extends IServerGroupDetailsSectionProps {
5
+ serverGroup: ITitusServerGroup;
6
+ }
7
+ export declare class DisruptionBudgetSection extends React.Component<IDisruptionBudgetSection> {
8
+ private SectionHeading;
9
+ private Policy;
10
+ private ParentheticalDuration;
11
+ private Rate;
12
+ private groupedDays;
13
+ private toDayRangeString;
14
+ private TimeWindows;
15
+ private editBudget;
16
+ render(): JSX.Element;
17
+ }
18
+ export declare const DISRUPTION_BUDGET_DETAILS_SECTION = "spinnaker.titus.disruptionbudget.section";
19
+ export {};
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { Application, IModalComponentProps } from '@spinnaker/core';
3
+ import type { ITitusServerGroupCommand } from '../../configure/serverGroupConfiguration.service';
4
+ import type { ITitusServerGroup } from '../../../domain';
5
+ export interface IEditDisruptionBudgetModalProps extends IModalComponentProps {
6
+ application: Application;
7
+ command: ITitusServerGroupCommand;
8
+ serverGroup: ITitusServerGroup;
9
+ }
10
+ export declare class EditDisruptionBudgetModal extends React.Component<IEditDisruptionBudgetModalProps> {
11
+ static show(props: IEditDisruptionBudgetModalProps): Promise<void>;
12
+ private submit;
13
+ render(): JSX.Element;
14
+ }
@@ -0,0 +1,5 @@
1
+ export * from './TitusCapacityDetailsSection';
2
+ export * from './TitusSecurityGroups';
3
+ export * from './resize/TitusResizeServerGroupModal';
4
+ export * from './scalingActivity/TitusScalingActivitiesModal';
5
+ export * from './scalingPolicy';
@@ -0,0 +1 @@
1
+ export declare const TITUS_SERVERGROUP_DETAILS_LAUNCHCONFIGSECTION = "titus.servergroup.details.launchConfigSection";
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import type { Application, IModalComponentProps } from '@spinnaker/core';
3
+ import type { ITitusServerGroup } from '../../../domain';
4
+ export interface ITitusResizeServerGroupModalProps extends IModalComponentProps {
5
+ application: Application;
6
+ serverGroup: ITitusServerGroup;
7
+ }
8
+ export declare function TitusResizeServerGroupModal(props: ITitusResizeServerGroupModalProps): JSX.Element;
@@ -0,0 +1,25 @@
1
+ import type { ITaskMonitorConfig } from '@spinnaker/core';
2
+ import { TaskMonitor } from '@spinnaker/core';
3
+ /**
4
+ * React hook that returns a TaskMonitor
5
+ *
6
+ * @param config a ITaskMonitorConfig
7
+ * @param dismissModal a function that closes the modal enclosing the task monitor
8
+ *
9
+ * Example:
10
+ *
11
+ * function MyComponent(props) {
12
+ * const { application, serverGroup } = props;
13
+ * const title = `Resize ${serverGroup.name}`;
14
+ * const taskMonitor = useTaskMonitor({ application, title });
15
+ *
16
+ * return (
17
+ * <>
18
+ * <TaskMonitorWrapper taskMonitor={taskMonitor}>
19
+ * <form onSubmit={() => taskMonitor.submit(() => API.runSomeTask())}>
20
+ * </>
21
+ * )
22
+ * }
23
+ *
24
+ */
25
+ export declare const useTaskMonitor: (config: ITaskMonitorConfig, dismissModal: () => void) => TaskMonitor;
@@ -0,0 +1,2 @@
1
+ export const TITUS_SERVERGROUP_DETAILS_ROLLBACK_ROLLBACKSERVERGROUP_CONTROLLER: "spinnaker.titus.serverGroup.details.rollback.controller";
2
+ export const name: "spinnaker.titus.serverGroup.details.rollback.controller";