@spinnaker/cloudfoundry 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.
- package/CHANGELOG.md +1085 -0
- package/LICENSE.txt +203 -0
- package/dist/cf.module.d.ts +24 -0
- package/dist/cf.settings.d.ts +7 -0
- package/dist/common/applicationName.validator.d.ts +1 -0
- package/dist/deploymentStrategy/CloudFoundryDeploymentStrategySelector.d.ts +21 -0
- package/dist/deploymentStrategy/strategies/redblack/redblack.strategy.d.ts +10 -0
- package/dist/deploymentStrategy/strategies/rollingredblack/AdditionalFields.d.ts +22 -0
- package/dist/domain/ICloudFoundryAccount.d.ts +7 -0
- package/dist/domain/ICloudFoundryApplication.d.ts +4 -0
- package/dist/domain/ICloudFoundryCluster.d.ts +5 -0
- package/dist/domain/ICloudFoundryDroplet.d.ts +19 -0
- package/dist/domain/ICloudFoundryInstance.d.ts +4 -0
- package/dist/domain/ICloudFoundryLoadBalancer.d.ts +25 -0
- package/dist/domain/ICloudFoundryServerGroup.d.ts +41 -0
- package/dist/domain/ICloudFoundrySpace.d.ts +9 -0
- package/dist/domain/index.d.ts +8 -0
- package/dist/help/cloudfoundry.help.d.ts +1 -0
- package/dist/image/image.reader.cf.d.ts +4 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +5929 -0
- package/dist/index.js.map +1 -0
- package/dist/instance/details/CloudFoundryInstanceActions.d.ts +11 -0
- package/dist/instance/details/CloudFoundryInstanceDetails.d.ts +23 -0
- package/dist/instance/details/index.d.ts +1 -0
- package/dist/instance/details/sections/CloudFoundryInstanceDetailsSection.d.ts +9 -0
- package/dist/instance/details/sections/index.d.ts +1 -0
- package/dist/loadBalancer/configure/CloudFoundryMapLoadBalancerModal.d.ts +33 -0
- package/dist/loadBalancer/configure/loadBalancerDetails.d.ts +32 -0
- package/dist/loadBalancer/details/CloudFoundryLoadBalancerActions.d.ts +10 -0
- package/dist/loadBalancer/details/CloudFoundryLoadBalancerDetails.d.ts +26 -0
- package/dist/loadBalancer/details/index.d.ts +1 -0
- package/dist/loadBalancer/details/sections/CloudFoundryLoadBalancerDetailsSection.d.ts +9 -0
- package/dist/loadBalancer/details/sections/CloudFoundryLoadBalancerLinksSection.d.ts +9 -0
- package/dist/loadBalancer/details/sections/CloudFoundryLoadBalancerStatusSection.d.ts +9 -0
- package/dist/loadBalancer/details/sections/index.d.ts +3 -0
- package/dist/loadBalancer/index.d.ts +3 -0
- package/dist/loadBalancer/loadBalancer.transformer.d.ts +25 -0
- package/dist/pipeline/config/validation/cfTargetImpedance.validator.d.ts +9 -0
- package/dist/pipeline/config/validation/instanceSize.validator.d.ts +15 -0
- package/dist/pipeline/config/validation/requiredRoutes.validator.d.ts +4 -0
- package/dist/pipeline/stages/bakeCloudFoundryManifest/BakeCloudFoundryManifestConfig.d.ts +7 -0
- package/dist/pipeline/stages/bakeCloudFoundryManifest/BakeCloudFoundryManifestConfigForm.d.ts +13 -0
- package/dist/pipeline/stages/bakeCloudFoundryManifest/BakeCloudFoundryManifestDetailsTab.d.ts +6 -0
- package/dist/pipeline/stages/bakeCloudFoundryManifest/bakeCloudFoundryManifestStage.d.ts +1 -0
- package/dist/pipeline/stages/cloneServerGroup/CloudFoundryCloneServerGroupStageConfig.d.ts +11 -0
- package/dist/pipeline/stages/cloneServerGroup/cloudFoundryCloneServerGroupStage.module.d.ts +1 -0
- package/dist/pipeline/stages/createServiceBindings/CloudFoundryCreateServiceBindingsConfig.d.ts +9 -0
- package/dist/pipeline/stages/createServiceBindings/CloudFoundryCreateServiceBindingsStageConfigForm.d.ts +26 -0
- package/dist/pipeline/stages/createServiceBindings/cloudFoundryCreateServiceBindingsStage.d.ts +1 -0
- package/dist/pipeline/stages/createServiceKey/CloudFoundryCreateServiceKeyStageConfig.d.ts +19 -0
- package/dist/pipeline/stages/createServiceKey/cloudFoundryCreateServiceKeyStage.module.d.ts +1 -0
- package/dist/pipeline/stages/deleteServiceBindings/CloudFoundryDeleteServiceBindingsConfig.d.ts +10 -0
- package/dist/pipeline/stages/deleteServiceBindings/CloudFoundryDeleteServiceBindingsStageConfigForm.d.ts +20 -0
- package/dist/pipeline/stages/deleteServiceBindings/cloudFoundryDeleteServiceBindingsStage.d.ts +1 -0
- package/dist/pipeline/stages/deleteServiceKey/CloudFoundryDeleteServiceKeyStageConfig.d.ts +19 -0
- package/dist/pipeline/stages/deleteServiceKey/cloudFoundryDeleteServiceKeyStage.module.d.ts +1 -0
- package/dist/pipeline/stages/deployService/CloudFoundryDeployServiceStageConfig.d.ts +24 -0
- package/dist/pipeline/stages/deployService/CreateServiceInstanceDirectInput.d.ts +29 -0
- package/dist/pipeline/stages/deployService/CreateUserProvidedInput.d.ts +19 -0
- package/dist/pipeline/stages/deployService/ICloudFoundryServiceManifestSource.d.ts +24 -0
- package/dist/pipeline/stages/deployService/ServiceTagsInput.d.ts +17 -0
- package/dist/pipeline/stages/deployService/cloudFoundryDeployServiceStage.module.d.ts +1 -0
- package/dist/pipeline/stages/destroyAsg/cloudFoundryDestroyAsgStage.module.d.ts +1 -0
- package/dist/pipeline/stages/destroyService/CloudFoundryDestroyServiceStageConfig.d.ts +5 -0
- package/dist/pipeline/stages/destroyService/CloudFoundryDestroyServiceStageConfigForm.d.ts +19 -0
- package/dist/pipeline/stages/destroyService/cloudFoundryDestroyServiceStage.module.d.ts +1 -0
- package/dist/pipeline/stages/disableAsg/cloudFoundryDisableAsgStage.module.d.ts +1 -0
- package/dist/pipeline/stages/enableAsg/cloudFoundryEnableAsgStage.module.d.ts +1 -0
- package/dist/pipeline/stages/mapLoadBalancers/cloudFoundryMapLoadBalancersStage.module.d.ts +1 -0
- package/dist/pipeline/stages/resizeAsg/CloudFoundryResizeAsgStageConfig.d.ts +17 -0
- package/dist/pipeline/stages/resizeAsg/cloudFoundryResizeAsgStage.module.d.ts +1 -0
- package/dist/pipeline/stages/rollbackCluster/CloudFoundryRollbackClusterStageConfig.d.ts +17 -0
- package/dist/pipeline/stages/rollbackCluster/cloudFoundryRollbackClusterStage.module.d.ts +1 -0
- package/dist/pipeline/stages/runJob/CloudFoundryRunJobStageConfig.d.ts +14 -0
- package/dist/pipeline/stages/runJob/RunJobExecutionDetails.d.ts +6 -0
- package/dist/pipeline/stages/runJob/cloudFoundryRunJob.module.d.ts +1 -0
- package/dist/pipeline/stages/shareService/CloudFoundryShareServiceExecutionDetails.d.ts +6 -0
- package/dist/pipeline/stages/shareService/CloudFoundryShareServiceStageConfig.d.ts +21 -0
- package/dist/pipeline/stages/shareService/cloudFoundryShareServiceStage.module.d.ts +1 -0
- package/dist/pipeline/stages/unmapLoadBalancers/cloudFoundryUnmapLoadBalancersStage.module.d.ts +1 -0
- package/dist/pipeline/stages/unshareService/CloudFoundryUnshareServiceExecutionDetails.d.ts +6 -0
- package/dist/pipeline/stages/unshareService/CloudFoundryUnshareServiceStageConfig.d.ts +18 -0
- package/dist/pipeline/stages/unshareService/cloudFoundryUnshareServiceStage.module.d.ts +1 -0
- package/dist/presentation/forms/index.d.ts +2 -0
- package/dist/presentation/forms/inputs/FormikConfigField.d.ts +10 -0
- package/dist/presentation/forms/inputs/index.d.ts +1 -0
- package/dist/presentation/forms/serverGroup/Buildpacks.d.ts +8 -0
- package/dist/presentation/forms/serverGroup/EnvironmentVariables.d.ts +8 -0
- package/dist/presentation/forms/serverGroup/HealthCheck.d.ts +12 -0
- package/dist/presentation/forms/serverGroup/InstanceParameters.d.ts +12 -0
- package/dist/presentation/forms/serverGroup/Routes.d.ts +10 -0
- package/dist/presentation/forms/serverGroup/Services.d.ts +5 -0
- package/dist/presentation/forms/serverGroup/index.d.ts +6 -0
- package/dist/presentation/index.d.ts +3 -0
- package/dist/presentation/pipeline/index.d.ts +1 -0
- package/dist/presentation/pipeline/stages/CloudFoundryAsgStageConfig.d.ts +14 -0
- package/dist/presentation/pipeline/stages/CloudFoundryLoadBalancersExecutionDetails.d.ts +6 -0
- package/dist/presentation/pipeline/stages/CloudFoundryLoadBalancersStageConfig.d.ts +25 -0
- package/dist/presentation/pipeline/stages/CloudFoundryServiceExecutionDetails.d.ts +6 -0
- package/dist/presentation/pipeline/stages/CloudFoundryServiceKeyExecutionDetails.d.ts +6 -0
- package/dist/presentation/pipeline/stages/index.d.ts +5 -0
- package/dist/presentation/widgets/accountRegionClusterSelector/AccountRegionClusterSelector.d.ts +33 -0
- package/dist/presentation/widgets/accountRegionClusterSelector/FormikAccountRegionClusterSelector.d.ts +32 -0
- package/dist/presentation/widgets/accountRegionClusterSelector/index.d.ts +2 -0
- package/dist/presentation/widgets/index.d.ts +1 -0
- package/dist/presentation/widgets/recentLogs/CloudFoundryRecentLogs.d.ts +27 -0
- package/dist/routeDomains/index.d.ts +1 -0
- package/dist/routeDomains/routeDomainSelectField.d.ts +15 -0
- package/dist/serverGroup/configure/index.d.ts +4 -0
- package/dist/serverGroup/configure/serverGroupCommandBuilder.service.cf.d.ts +12 -0
- package/dist/serverGroup/configure/serverGroupCommandBuilderShim.service.cf.d.ts +14 -0
- package/dist/serverGroup/configure/serverGroupConfigurationModel.cf.d.ts +65 -0
- package/dist/serverGroup/configure/wizard/CreateServerGroupModal.d.ts +31 -0
- package/dist/serverGroup/configure/wizard/ServerGroupTemplateSelection.d.ts +16 -0
- package/dist/serverGroup/configure/wizard/sections/artifactSettings/ArtifactSettings.cf.d.ts +17 -0
- package/dist/serverGroup/configure/wizard/sections/artifactSettings/ConstantArtifactSettings.cf.d.ts +11 -0
- package/dist/serverGroup/configure/wizard/sections/basicSettings/BasicSettings.cf.d.ts +24 -0
- package/dist/serverGroup/configure/wizard/sections/cloneSettings/CloneSettings.cf.d.ts +21 -0
- package/dist/serverGroup/configure/wizard/sections/configurationSettings/ConfigurationSettings.cf.d.ts +22 -0
- package/dist/serverGroup/details/cfServerGroupDetailsGetter.d.ts +4 -0
- package/dist/serverGroup/details/cloudFoundryServerGroupActions.d.ts +24 -0
- package/dist/serverGroup/details/mapLoadBalancers/CloudFoundryMapLoadBalancersModal.d.ts +28 -0
- package/dist/serverGroup/details/mapLoadBalancers/CloudFoundryUnmapLoadBalancersModal.d.ts +28 -0
- package/dist/serverGroup/details/resize/CloudFoundryResizeServerGroupModal.d.ts +37 -0
- package/dist/serverGroup/details/rollback/CloudFoundryRollbackServerGroupModal.d.ts +36 -0
- package/dist/serverGroup/details/sections/ApplicationManagerSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/BoundServicesSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/BuildSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/EnvironmentVariablesSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/HealthCheckSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/ICloudFoundryServerGroupDetailsSectionProps.d.ts +5 -0
- package/dist/serverGroup/details/sections/MetricsSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/PackageSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/ServerGroupInformationSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/ServerGroupSizingSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/index.d.ts +9 -0
- package/dist/serverGroup/index.d.ts +5 -0
- package/dist/serverGroup/serverGroup.transformer.d.ts +10 -0
- package/package.json +52 -0
- package/src/cf.module.ts +85 -0
- package/src/cf.settings.ts +14 -0
- package/src/common/applicationName.validator.ts +43 -0
- package/src/common/cloudFoundry.less +16 -0
- package/src/deploymentStrategy/CloudFoundryDeploymentStrategySelector.tsx +175 -0
- package/src/deploymentStrategy/strategies/redblack/redblack.strategy.ts +11 -0
- package/src/deploymentStrategy/strategies/rollingredblack/AdditionalFields.tsx +161 -0
- package/src/domain/ICloudFoundryAccount.ts +9 -0
- package/src/domain/ICloudFoundryApplication.ts +5 -0
- package/src/domain/ICloudFoundryCluster.ts +6 -0
- package/src/domain/ICloudFoundryDroplet.ts +22 -0
- package/src/domain/ICloudFoundryInstance.ts +5 -0
- package/src/domain/ICloudFoundryLoadBalancer.ts +29 -0
- package/src/domain/ICloudFoundryServerGroup.ts +47 -0
- package/src/domain/ICloudFoundrySpace.ts +10 -0
- package/src/domain/index.ts +8 -0
- package/src/help/cloudfoundry.help.ts +31 -0
- package/src/image/image.reader.cf.ts +17 -0
- package/src/index.ts +7 -0
- package/src/instance/details/CloudFoundryInstanceActions.tsx +59 -0
- package/src/instance/details/CloudFoundryInstanceDetails.tsx +154 -0
- package/src/instance/details/index.ts +1 -0
- package/src/instance/details/sections/CloudFoundryInstanceDetailsSection.tsx +49 -0
- package/src/instance/details/sections/index.ts +1 -0
- package/src/loadBalancer/configure/CloudFoundryMapLoadBalancerModal.tsx +210 -0
- package/src/loadBalancer/configure/loadBalancerDetails.tsx +228 -0
- package/src/loadBalancer/details/CloudFoundryLoadBalancerActions.tsx +61 -0
- package/src/loadBalancer/details/CloudFoundryLoadBalancerDetails.tsx +148 -0
- package/src/loadBalancer/details/index.ts +1 -0
- package/src/loadBalancer/details/sections/CloudFoundryLoadBalancerDetailsSection.tsx +63 -0
- package/src/loadBalancer/details/sections/CloudFoundryLoadBalancerLinksSection.tsx +34 -0
- package/src/loadBalancer/details/sections/CloudFoundryLoadBalancerStatusSection.tsx +27 -0
- package/src/loadBalancer/details/sections/index.ts +3 -0
- package/src/loadBalancer/index.ts +3 -0
- package/src/loadBalancer/loadBalancer.transformer.ts +144 -0
- package/src/logo/cf.icon.svg +12 -0
- package/src/logo/cf.logo.less +5 -0
- package/src/logo/cf.logo.svg +12 -0
- package/src/pipeline/config/validation/cfTargetImpedance.validator.ts +60 -0
- package/src/pipeline/config/validation/instanceSize.validator.ts +66 -0
- package/src/pipeline/config/validation/requiredRoutes.validator.ts +26 -0
- package/src/pipeline/stages/bakeCloudFoundryManifest/BakeCloudFoundryManifestConfig.tsx +62 -0
- package/src/pipeline/stages/bakeCloudFoundryManifest/BakeCloudFoundryManifestConfigForm.tsx +174 -0
- package/src/pipeline/stages/bakeCloudFoundryManifest/BakeCloudFoundryManifestDetailsTab.tsx +35 -0
- package/src/pipeline/stages/bakeCloudFoundryManifest/bakeCloudFoundryManifestConfig.spec.tsx +80 -0
- package/src/pipeline/stages/bakeCloudFoundryManifest/bakeCloudFoundryManifestStage.ts +35 -0
- package/src/pipeline/stages/cloneServerGroup/CloudFoundryCloneServerGroupStageConfig.tsx +113 -0
- package/src/pipeline/stages/cloneServerGroup/cloudFoundryCloneServerGroupStage.module.ts +14 -0
- package/src/pipeline/stages/createServiceBindings/CloudFoundryCreateServiceBindingsConfig.spec.tsx +35 -0
- package/src/pipeline/stages/createServiceBindings/CloudFoundryCreateServiceBindingsConfig.tsx +69 -0
- package/src/pipeline/stages/createServiceBindings/CloudFoundryCreateServiceBindingsStageConfigForm.tsx +230 -0
- package/src/pipeline/stages/createServiceBindings/cloudFoundryCreateServiceBindingsStage.ts +19 -0
- package/src/pipeline/stages/createServiceBindings/cloudFoundryCreateServiceBindingsStageForm.spec.tsx +50 -0
- package/src/pipeline/stages/createServiceKey/CloudFoundryCreateServiceKeyStageConfig.tsx +116 -0
- package/src/pipeline/stages/createServiceKey/cloudFoundryCreateServiceKeyStage.module.ts +21 -0
- package/src/pipeline/stages/deleteServiceBindings/CloudFoundryDeleteServiceBindingsConfig.tsx +69 -0
- package/src/pipeline/stages/deleteServiceBindings/CloudFoundryDeleteServiceBindingsStageConfigForm.tsx +158 -0
- package/src/pipeline/stages/deleteServiceBindings/cloudFoundryDeleteServiceBindingsStage.ts +19 -0
- package/src/pipeline/stages/deleteServiceBindings/cloudFoundryDeleteServiceBindingsStageForm.spec.tsx +49 -0
- package/src/pipeline/stages/deleteServiceKey/CloudFoundryDeleteServiceKeyStageConfig.tsx +116 -0
- package/src/pipeline/stages/deleteServiceKey/cloudFoundryDeleteServiceKeyStage.module.ts +22 -0
- package/src/pipeline/stages/deployService/CloudFoundryDeployServiceStageConfig.tsx +198 -0
- package/src/pipeline/stages/deployService/CreateServiceInstanceDirectInput.tsx +164 -0
- package/src/pipeline/stages/deployService/CreateUserProvidedInput.tsx +116 -0
- package/src/pipeline/stages/deployService/ICloudFoundryServiceManifestSource.ts +27 -0
- package/src/pipeline/stages/deployService/ServiceTagsInput.tsx +89 -0
- package/src/pipeline/stages/deployService/cloudFoundryDeployServiceStage.module.ts +153 -0
- package/src/pipeline/stages/deployService/cloudfoundryDeployServiceStage.less +12 -0
- package/src/pipeline/stages/destroyAsg/cloudFoundryDestroyAsgStage.module.ts +23 -0
- package/src/pipeline/stages/destroyService/CloudFoundryDestroyServiceStageConfig.tsx +46 -0
- package/src/pipeline/stages/destroyService/CloudFoundryDestroyServiceStageConfigForm.tsx +134 -0
- package/src/pipeline/stages/destroyService/cloudFoundryDestroyServiceStage.module.ts +20 -0
- package/src/pipeline/stages/disableAsg/cloudFoundryDisableAsgStage.module.ts +18 -0
- package/src/pipeline/stages/enableAsg/cloudFoundryEnableAsgStage.module.ts +18 -0
- package/src/pipeline/stages/mapLoadBalancers/cloudFoundryMapLoadBalancersStage.module.ts +21 -0
- package/src/pipeline/stages/resizeAsg/CloudFoundryResizeAsgStageConfig.tsx +148 -0
- package/src/pipeline/stages/resizeAsg/cloudFoundryResizeAsgStage.module.ts +52 -0
- package/src/pipeline/stages/rollbackCluster/CloudFoundryRollbackClusterStageConfig.tsx +90 -0
- package/src/pipeline/stages/rollbackCluster/cloudFoundryRollbackClusterStage.module.ts +19 -0
- package/src/pipeline/stages/runJob/CloudFoundryRunJobStageConfig.tsx +100 -0
- package/src/pipeline/stages/runJob/RunJobExecutionDetails.tsx +62 -0
- package/src/pipeline/stages/runJob/cloudFoundryRunJob.module.ts +24 -0
- package/src/pipeline/stages/shareService/CloudFoundryShareServiceExecutionDetails.tsx +52 -0
- package/src/pipeline/stages/shareService/CloudFoundryShareServiceStageConfig.tsx +141 -0
- package/src/pipeline/stages/shareService/cloudFoundryShareServiceStage.module.ts +21 -0
- package/src/pipeline/stages/unmapLoadBalancers/cloudFoundryUnmapLoadBalancersStage.module.ts +21 -0
- package/src/pipeline/stages/unshareService/CloudFoundryUnshareServiceExecutionDetails.tsx +46 -0
- package/src/pipeline/stages/unshareService/CloudFoundryUnshareServiceStageConfig.tsx +114 -0
- package/src/pipeline/stages/unshareService/cloudFoundryUnshareServiceStage.module.ts +21 -0
- package/src/presentation/forms/index.ts +2 -0
- package/src/presentation/forms/inputs/FormikConfigField.tsx +28 -0
- package/src/presentation/forms/inputs/index.ts +1 -0
- package/src/presentation/forms/serverGroup/Buildpacks.tsx +69 -0
- package/src/presentation/forms/serverGroup/EnvironmentVariables.tsx +94 -0
- package/src/presentation/forms/serverGroup/HealthCheck.tsx +57 -0
- package/src/presentation/forms/serverGroup/InstanceParameters.tsx +63 -0
- package/src/presentation/forms/serverGroup/Routes.tsx +74 -0
- package/src/presentation/forms/serverGroup/Services.tsx +62 -0
- package/src/presentation/forms/serverGroup/index.ts +6 -0
- package/src/presentation/index.ts +3 -0
- package/src/presentation/pipeline/index.ts +1 -0
- package/src/presentation/pipeline/stages/CloudFoundryAsgStageConfig.tsx +67 -0
- package/src/presentation/pipeline/stages/CloudFoundryLoadBalancersExecutionDetails.tsx +53 -0
- package/src/presentation/pipeline/stages/CloudFoundryLoadBalancersStageConfig.tsx +116 -0
- package/src/presentation/pipeline/stages/CloudFoundryServiceExecutionDetails.tsx +46 -0
- package/src/presentation/pipeline/stages/CloudFoundryServiceKeyExecutionDetails.tsx +52 -0
- package/src/presentation/pipeline/stages/index.ts +5 -0
- package/src/presentation/widgets/accountRegionClusterSelector/AccountRegionClusterSelector.spec.tsx +385 -0
- package/src/presentation/widgets/accountRegionClusterSelector/AccountRegionClusterSelector.tsx +231 -0
- package/src/presentation/widgets/accountRegionClusterSelector/FormikAccountRegionClusterSelector.tsx +164 -0
- package/src/presentation/widgets/accountRegionClusterSelector/index.ts +2 -0
- package/src/presentation/widgets/index.ts +1 -0
- package/src/presentation/widgets/recentLogs/CloudFoundryRecentLogs.tsx +112 -0
- package/src/routeDomains/index.ts +1 -0
- package/src/routeDomains/routeDomainSelectField.tsx +48 -0
- package/src/serverGroup/configure/index.ts +4 -0
- package/src/serverGroup/configure/serverGroupCommandBuilder.service.cf.ts +168 -0
- package/src/serverGroup/configure/serverGroupCommandBuilderShim.service.cf.ts +64 -0
- package/src/serverGroup/configure/serverGroupConfigurationModel.cf.ts +77 -0
- package/src/serverGroup/configure/wizard/CreateServerGroupModal.tsx +194 -0
- package/src/serverGroup/configure/wizard/ServerGroupTemplateSelection.tsx +55 -0
- package/src/serverGroup/configure/wizard/sections/artifactSettings/ArtifactSettings.cf.tsx +78 -0
- package/src/serverGroup/configure/wizard/sections/artifactSettings/ConstantArtifactSettings.cf.tsx +49 -0
- package/src/serverGroup/configure/wizard/sections/basicSettings/BasicSettings.cf.tsx +163 -0
- package/src/serverGroup/configure/wizard/sections/cloneSettings/CloneSettings.cf.tsx +101 -0
- package/src/serverGroup/configure/wizard/sections/configurationSettings/ConfigurationSettings.cf.tsx +230 -0
- package/src/serverGroup/configure/wizard/serverGroup.less +3 -0
- package/src/serverGroup/details/cfServerGroupDetailsGetter.ts +60 -0
- package/src/serverGroup/details/cloudFoundryServerGroupActions.tsx +365 -0
- package/src/serverGroup/details/mapLoadBalancers/CloudFoundryMapLoadBalancersModal.tsx +137 -0
- package/src/serverGroup/details/mapLoadBalancers/CloudFoundryUnmapLoadBalancersModal.tsx +137 -0
- package/src/serverGroup/details/resize/CloudFoundryResizeServerGroupModal.tsx +232 -0
- package/src/serverGroup/details/rollback/CloudFoundryRollbackServerGroupModal.tsx +179 -0
- package/src/serverGroup/details/sections/ApplicationManagerSection.tsx +28 -0
- package/src/serverGroup/details/sections/BoundServicesSection.tsx +39 -0
- package/src/serverGroup/details/sections/BuildSection.tsx +61 -0
- package/src/serverGroup/details/sections/EnvironmentVariablesSection.tsx +34 -0
- package/src/serverGroup/details/sections/HealthCheckSection.tsx +28 -0
- package/src/serverGroup/details/sections/ICloudFoundryServerGroupDetailsSectionProps.ts +6 -0
- package/src/serverGroup/details/sections/MetricsSection.tsx +28 -0
- package/src/serverGroup/details/sections/PackageSection.tsx +27 -0
- package/src/serverGroup/details/sections/ServerGroupInformationSection.tsx +58 -0
- package/src/serverGroup/details/sections/ServerGroupSizingSection.tsx +27 -0
- package/src/serverGroup/details/sections/index.ts +9 -0
- package/src/serverGroup/index.ts +5 -0
- package/src/serverGroup/serverGroup.transformer.ts +42 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FormikErrors, FormikProps } from 'formik';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { Application, IAccount, IWizardPageComponent } from '@spinnaker/core';
|
|
4
|
+
import type { ICloudFoundryCreateServerGroupCommand } from '../../../serverGroupConfigurationModel.cf';
|
|
5
|
+
import '../../../../../common/cloudFoundry.less';
|
|
6
|
+
export interface ICloudFoundryCloneSettingsProps {
|
|
7
|
+
formik: FormikProps<ICloudFoundryCreateServerGroupCommand>;
|
|
8
|
+
application: Application;
|
|
9
|
+
}
|
|
10
|
+
export interface ICloudFoundryCloneSettingsState {
|
|
11
|
+
accounts: IAccount[];
|
|
12
|
+
}
|
|
13
|
+
export declare class CloudFoundryServerGroupCloneSettings extends React.Component<ICloudFoundryCloneSettingsProps, ICloudFoundryCloneSettingsState> implements IWizardPageComponent<ICloudFoundryCreateServerGroupCommand> {
|
|
14
|
+
private destroy$;
|
|
15
|
+
state: ICloudFoundryCloneSettingsState;
|
|
16
|
+
componentDidMount(): void;
|
|
17
|
+
componentWillUnmount(): void;
|
|
18
|
+
private strategyOptionRenderer;
|
|
19
|
+
render(): JSX.Element;
|
|
20
|
+
validate(_values: ICloudFoundryCreateServerGroupCommand): FormikErrors<ICloudFoundryCreateServerGroupCommand>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { FormikProps } from 'formik';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { IPipeline, IStage, IWizardPageComponent } from '@spinnaker/core';
|
|
4
|
+
import type { ICloudFoundryCreateServerGroupCommand } from '../../../serverGroupConfigurationModel.cf';
|
|
5
|
+
export interface ICloudFoundryServerGroupConfigurationSettingsProps {
|
|
6
|
+
formik: FormikProps<ICloudFoundryCreateServerGroupCommand>;
|
|
7
|
+
stage: IStage;
|
|
8
|
+
pipeline: IPipeline;
|
|
9
|
+
}
|
|
10
|
+
export declare class CloudFoundryServerGroupConfigurationSettings extends React.Component<ICloudFoundryServerGroupConfigurationSettingsProps> implements IWizardPageComponent<ICloudFoundryServerGroupConfigurationSettingsProps> {
|
|
11
|
+
static LABEL: string;
|
|
12
|
+
private defaultDirectManifest;
|
|
13
|
+
private excludedArtifactTypePatterns;
|
|
14
|
+
private manifestSourceUpdated;
|
|
15
|
+
private capacityUpdated;
|
|
16
|
+
private getArtifactInput;
|
|
17
|
+
private onExpectedArtifactSelected;
|
|
18
|
+
private onArtifactChanged;
|
|
19
|
+
private getDirectInput;
|
|
20
|
+
render(): JSX.Element;
|
|
21
|
+
validate(_props: ICloudFoundryServerGroupConfigurationSettingsProps): any;
|
|
22
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import type { IServerGroupDetailsProps } from '@spinnaker/core';
|
|
3
|
+
import type { ICloudFoundryServerGroup } from '../../domain';
|
|
4
|
+
export declare function cfServerGroupDetailsGetter(props: IServerGroupDetailsProps, autoClose: () => void): Observable<ICloudFoundryServerGroup>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { IServerGroupActionsProps, IServerGroupJob } from '@spinnaker/core';
|
|
3
|
+
import type { ICloudFoundryServerGroup } from '../../domain';
|
|
4
|
+
export interface ICloudFoundryServerGroupActionsProps extends IServerGroupActionsProps {
|
|
5
|
+
serverGroup: ICloudFoundryServerGroup;
|
|
6
|
+
}
|
|
7
|
+
export interface ICloudFoundryServerGroupJob extends IServerGroupJob {
|
|
8
|
+
serverGroupId: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class CloudFoundryServerGroupActions extends React.Component<ICloudFoundryServerGroupActionsProps> {
|
|
11
|
+
private isEnableLocked;
|
|
12
|
+
private isRollbackEnabled;
|
|
13
|
+
private hasDisabledInstances;
|
|
14
|
+
private destroyServerGroup;
|
|
15
|
+
private disableServerGroup;
|
|
16
|
+
private enableServerGroup;
|
|
17
|
+
private showEnableServerGroupModal;
|
|
18
|
+
private rollbackServerGroup;
|
|
19
|
+
private resizeServerGroup;
|
|
20
|
+
private mapServerGroupToLoadBalancers;
|
|
21
|
+
private unmapServerGroupFromLoadBalancers;
|
|
22
|
+
private cloneServerGroup;
|
|
23
|
+
render(): JSX.Element;
|
|
24
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Application, IModalComponentProps, IServerGroupJob } from '@spinnaker/core';
|
|
3
|
+
import { TaskMonitor } from '@spinnaker/core';
|
|
4
|
+
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
5
|
+
export interface ICloudFoundryLoadBalancerLinksModalProps extends IModalComponentProps {
|
|
6
|
+
application: Application;
|
|
7
|
+
serverGroup: ICloudFoundryServerGroup;
|
|
8
|
+
}
|
|
9
|
+
export interface ICloudFoundryLoadBalancerLinksModalState {
|
|
10
|
+
initialValues: ICloudFoundryLoadBalancerLinksModalValues;
|
|
11
|
+
taskMonitor: TaskMonitor;
|
|
12
|
+
}
|
|
13
|
+
export interface ICloudFoundryLoadBalancerLinksModalValues {
|
|
14
|
+
routes: string[];
|
|
15
|
+
}
|
|
16
|
+
export interface ICloudFoundryLoadBalancerLinkJob extends IServerGroupJob {
|
|
17
|
+
routes: string[];
|
|
18
|
+
serverGroupName: string;
|
|
19
|
+
}
|
|
20
|
+
export declare class CloudFoundryMapLoadBalancersModal extends React.Component<ICloudFoundryLoadBalancerLinksModalProps, ICloudFoundryLoadBalancerLinksModalState> {
|
|
21
|
+
static defaultProps: Partial<ICloudFoundryLoadBalancerLinksModalProps>;
|
|
22
|
+
private formikRef;
|
|
23
|
+
static show(props: ICloudFoundryLoadBalancerLinksModalProps): Promise<ICloudFoundryLoadBalancerLinkJob>;
|
|
24
|
+
constructor(props: ICloudFoundryLoadBalancerLinksModalProps);
|
|
25
|
+
private close;
|
|
26
|
+
private submit;
|
|
27
|
+
render(): JSX.Element;
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Application, IModalComponentProps, IServerGroupJob } from '@spinnaker/core';
|
|
3
|
+
import { TaskMonitor } from '@spinnaker/core';
|
|
4
|
+
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
5
|
+
export interface ICloudFoundryLoadBalancerLinksModalProps extends IModalComponentProps {
|
|
6
|
+
application: Application;
|
|
7
|
+
serverGroup: ICloudFoundryServerGroup;
|
|
8
|
+
}
|
|
9
|
+
export interface ICloudFoundryLoadBalancerLinksModalState {
|
|
10
|
+
initialValues: ICloudFoundryLoadBalancerLinksModalValues;
|
|
11
|
+
taskMonitor: TaskMonitor;
|
|
12
|
+
}
|
|
13
|
+
export interface ICloudFoundryLoadBalancerLinksModalValues {
|
|
14
|
+
routes: string[];
|
|
15
|
+
}
|
|
16
|
+
export interface ICloudFoundryLoadBalancerLinkJob extends IServerGroupJob {
|
|
17
|
+
routes: string[];
|
|
18
|
+
serverGroupName: string;
|
|
19
|
+
}
|
|
20
|
+
export declare class CloudFoundryUnmapLoadBalancersModal extends React.Component<ICloudFoundryLoadBalancerLinksModalProps, ICloudFoundryLoadBalancerLinksModalState> {
|
|
21
|
+
static defaultProps: Partial<ICloudFoundryLoadBalancerLinksModalProps>;
|
|
22
|
+
private formikRef;
|
|
23
|
+
static show(props: ICloudFoundryLoadBalancerLinksModalProps): Promise<ICloudFoundryLoadBalancerLinkJob>;
|
|
24
|
+
constructor(props: ICloudFoundryLoadBalancerLinksModalProps);
|
|
25
|
+
private close;
|
|
26
|
+
private submit;
|
|
27
|
+
render(): JSX.Element;
|
|
28
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Application, ICapacity, IModalComponentProps, IServerGroupJob } from '@spinnaker/core';
|
|
3
|
+
import { TaskMonitor } from '@spinnaker/core';
|
|
4
|
+
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
5
|
+
export interface ICloudFoundryResizeServerGroupModalProps extends IModalComponentProps {
|
|
6
|
+
application: Application;
|
|
7
|
+
serverGroup: ICloudFoundryServerGroup;
|
|
8
|
+
}
|
|
9
|
+
export interface ICloudFoundryResizeServerGroupModalState {
|
|
10
|
+
initialValues: ICloudFoundryResizeServerGroupValues;
|
|
11
|
+
taskMonitor: TaskMonitor;
|
|
12
|
+
}
|
|
13
|
+
export interface ICloudFoundryResizeServerGroupValues {
|
|
14
|
+
desired: number | string;
|
|
15
|
+
diskQuota?: number;
|
|
16
|
+
memory?: number;
|
|
17
|
+
reason?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ICloudFoundryResizeJob extends IServerGroupJob {
|
|
20
|
+
capacity?: Partial<ICapacity>;
|
|
21
|
+
diskQuota?: number;
|
|
22
|
+
instanceCount?: number;
|
|
23
|
+
memory?: number;
|
|
24
|
+
serverGroupName: string;
|
|
25
|
+
reason?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare class CloudFoundryResizeServerGroupModal extends React.Component<ICloudFoundryResizeServerGroupModalProps, ICloudFoundryResizeServerGroupModalState> {
|
|
28
|
+
static defaultProps: Partial<ICloudFoundryResizeServerGroupModalProps>;
|
|
29
|
+
private formikRef;
|
|
30
|
+
static show(props: ICloudFoundryResizeServerGroupModalProps): Promise<ICloudFoundryResizeJob>;
|
|
31
|
+
constructor(props: ICloudFoundryResizeServerGroupModalProps);
|
|
32
|
+
private close;
|
|
33
|
+
private submit;
|
|
34
|
+
private renderDesired;
|
|
35
|
+
private renderQuota;
|
|
36
|
+
render(): JSX.Element;
|
|
37
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Application, IModalComponentProps, IServerGroupJob } from '@spinnaker/core';
|
|
3
|
+
import { TaskMonitor } from '@spinnaker/core';
|
|
4
|
+
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
5
|
+
export interface ICloudFoundryRollbackServerGroupModalProps extends IModalComponentProps {
|
|
6
|
+
application: Application;
|
|
7
|
+
serverGroup: ICloudFoundryServerGroup;
|
|
8
|
+
previousServerGroup: ICloudFoundryServerGroup;
|
|
9
|
+
allServerGroups: ICloudFoundryServerGroup[];
|
|
10
|
+
disabledServerGroups: ICloudFoundryServerGroup[];
|
|
11
|
+
}
|
|
12
|
+
export interface ICloudFoundryRollbackServerGroupModalState {
|
|
13
|
+
initialValues: ICloudFoundryRollbackServerGroupValues;
|
|
14
|
+
taskMonitor: TaskMonitor;
|
|
15
|
+
}
|
|
16
|
+
export interface ICloudFoundryRollbackServerGroupValues {
|
|
17
|
+
restoreServerGroupName: string;
|
|
18
|
+
reason?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ICloudFoundryRollbackJob extends IServerGroupJob {
|
|
21
|
+
rollbackType: string;
|
|
22
|
+
rollbackContext: {
|
|
23
|
+
rollbackServerGroupName: string;
|
|
24
|
+
restoreServerGroupName: string;
|
|
25
|
+
targetHealthyRollbackPercentage: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export declare class CloudFoundryRollbackServerGroupModal extends React.Component<ICloudFoundryRollbackServerGroupModalProps, ICloudFoundryRollbackServerGroupModalState> {
|
|
29
|
+
static defaultProps: Partial<ICloudFoundryRollbackServerGroupModalProps>;
|
|
30
|
+
private formikRef;
|
|
31
|
+
static show(props: ICloudFoundryRollbackServerGroupModalProps): Promise<ICloudFoundryRollbackJob>;
|
|
32
|
+
constructor(props: ICloudFoundryRollbackServerGroupModalProps);
|
|
33
|
+
private close;
|
|
34
|
+
private submit;
|
|
35
|
+
render(): JSX.Element;
|
|
36
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class ApplicationManagerSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class BoundServicesSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class BuildSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class EnvironmentVariablesSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class HealthCheckSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IServerGroupDetailsSectionProps } from '@spinnaker/core';
|
|
2
|
+
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
3
|
+
export interface ICloudFoundryServerGroupDetailsSectionProps extends IServerGroupDetailsSectionProps {
|
|
4
|
+
serverGroup: ICloudFoundryServerGroup;
|
|
5
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class MetricsSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class PackageSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class ServerGroupInformationSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ICloudFoundryServerGroupDetailsSectionProps } from './ICloudFoundryServerGroupDetailsSectionProps';
|
|
3
|
+
export declare class ServerGroupSizingSection extends React.Component<ICloudFoundryServerGroupDetailsSectionProps> {
|
|
4
|
+
constructor(props: ICloudFoundryServerGroupDetailsSectionProps);
|
|
5
|
+
render(): JSX.Element;
|
|
6
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './ServerGroupInformationSection';
|
|
2
|
+
export * from './ApplicationManagerSection';
|
|
3
|
+
export * from './MetricsSection';
|
|
4
|
+
export * from './ServerGroupSizingSection';
|
|
5
|
+
export * from './HealthCheckSection';
|
|
6
|
+
export * from './PackageSection';
|
|
7
|
+
export * from './BuildSection';
|
|
8
|
+
export * from './BoundServicesSection';
|
|
9
|
+
export * from './EnvironmentVariablesSection';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ICloudFoundryServerGroup } from '../domain';
|
|
2
|
+
export declare class CloudFoundryServerGroupTransformer {
|
|
3
|
+
private $q;
|
|
4
|
+
static $inject: string[];
|
|
5
|
+
constructor($q: ng.IQService);
|
|
6
|
+
normalizeServerGroupDetails(serverGroup: ICloudFoundryServerGroup): ICloudFoundryServerGroup;
|
|
7
|
+
normalizeServerGroup(serverGroup: ICloudFoundryServerGroup): PromiseLike<ICloudFoundryServerGroup>;
|
|
8
|
+
convertServerGroupCommandToDeployConfiguration(base: any): any;
|
|
9
|
+
private convertManifestEnv;
|
|
10
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@spinnaker/cloudfoundry",
|
|
3
|
+
"license": "Apache-2.0",
|
|
4
|
+
"version": "0.0.0-main-2",
|
|
5
|
+
"module": "dist/index.js",
|
|
6
|
+
"typings": "dist/index.d.ts",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public",
|
|
9
|
+
"registry": "https://registry.npmjs.org"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"clean": "shx rm -rf dist",
|
|
13
|
+
"prepublishOnly": "npm run build",
|
|
14
|
+
"build": "npm run clean && spinnaker-scripts build",
|
|
15
|
+
"dev": "spinnaker-scripts start",
|
|
16
|
+
"dev:push": "spinnaker-scripts start --push",
|
|
17
|
+
"lib": "npm run build"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@spinnaker/core": "^0.29.1",
|
|
21
|
+
"@uirouter/react": "1.0.7",
|
|
22
|
+
"@uirouter/react-hybrid": "1.0.2",
|
|
23
|
+
"angular": "1.6.10",
|
|
24
|
+
"angular-ui-bootstrap": "2.5.0",
|
|
25
|
+
"enzyme": "3.11.0",
|
|
26
|
+
"formik": "1.5.1",
|
|
27
|
+
"js-yaml": "3.13.1",
|
|
28
|
+
"lodash": "4.17.21",
|
|
29
|
+
"ngimport": "0.6.1",
|
|
30
|
+
"react": "16.14.0",
|
|
31
|
+
"react-bootstrap": "0.32.1",
|
|
32
|
+
"react-select": "1.2.1",
|
|
33
|
+
"rxjs": "6.6.7"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@rollup/plugin-alias": "^3.1.2",
|
|
37
|
+
"@spinnaker/eslint-plugin": "^3.0.2",
|
|
38
|
+
"@spinnaker/mocks": "1.0.7",
|
|
39
|
+
"@spinnaker/scripts": "^0.4.0",
|
|
40
|
+
"@types/angular": "1.6.26",
|
|
41
|
+
"@types/angular-ui-bootstrap": "0.13.41",
|
|
42
|
+
"@types/enzyme": "3.10.3",
|
|
43
|
+
"@types/js-yaml": "3.5.30",
|
|
44
|
+
"@types/lodash": "4.14.64",
|
|
45
|
+
"@types/react": "16.14.10",
|
|
46
|
+
"@types/react-bootstrap": "0.32.5",
|
|
47
|
+
"@types/react-select": "1.3.4",
|
|
48
|
+
"shx": "0.3.3",
|
|
49
|
+
"typescript": "4.3.5"
|
|
50
|
+
},
|
|
51
|
+
"gitHead": "41637c82dc23fbf1195173a93611a08000fc0e53"
|
|
52
|
+
}
|
package/src/cf.module.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { CloudProviderRegistry } from '@spinnaker/core';
|
|
2
|
+
|
|
3
|
+
import './common/applicationName.validator';
|
|
4
|
+
import './help/cloudfoundry.help';
|
|
5
|
+
import { CloudFoundryInstanceDetails } from './instance/details';
|
|
6
|
+
import {
|
|
7
|
+
CloudFoundryLoadBalancerDetails,
|
|
8
|
+
CloudFoundryLoadBalancerTransformer,
|
|
9
|
+
CloudFoundryMapLoadBalancerModal,
|
|
10
|
+
} from './loadBalancer';
|
|
11
|
+
import cloudFoundryLogo from './logo/cf.logo.svg';
|
|
12
|
+
import './pipeline/config/validation/cfTargetImpedance.validator';
|
|
13
|
+
import './pipeline/config/validation/instanceSize.validator';
|
|
14
|
+
import './pipeline/config/validation/requiredRoutes.validator';
|
|
15
|
+
import './pipeline/stages/bakeCloudFoundryManifest/bakeCloudFoundryManifestStage';
|
|
16
|
+
import './pipeline/stages/cloneServerGroup/cloudFoundryCloneServerGroupStage.module';
|
|
17
|
+
import './pipeline/stages/createServiceBindings/cloudFoundryCreateServiceBindingsStage';
|
|
18
|
+
import './pipeline/stages/createServiceKey/cloudFoundryCreateServiceKeyStage.module';
|
|
19
|
+
import './pipeline/stages/deleteServiceBindings/cloudFoundryDeleteServiceBindingsStage';
|
|
20
|
+
import './pipeline/stages/deleteServiceKey/cloudFoundryDeleteServiceKeyStage.module';
|
|
21
|
+
import './pipeline/stages/deployService/cloudFoundryDeployServiceStage.module';
|
|
22
|
+
import './pipeline/stages/destroyAsg/cloudFoundryDestroyAsgStage.module';
|
|
23
|
+
import './pipeline/stages/destroyService/cloudFoundryDestroyServiceStage.module';
|
|
24
|
+
import './pipeline/stages/disableAsg/cloudFoundryDisableAsgStage.module';
|
|
25
|
+
import './pipeline/stages/enableAsg/cloudFoundryEnableAsgStage.module';
|
|
26
|
+
import './pipeline/stages/mapLoadBalancers/cloudFoundryMapLoadBalancersStage.module';
|
|
27
|
+
import './pipeline/stages/resizeAsg/cloudFoundryResizeAsgStage.module';
|
|
28
|
+
import './pipeline/stages/rollbackCluster/cloudFoundryRollbackClusterStage.module';
|
|
29
|
+
import './pipeline/stages/runJob/cloudFoundryRunJob.module';
|
|
30
|
+
import './pipeline/stages/shareService/cloudFoundryShareServiceStage.module';
|
|
31
|
+
import './pipeline/stages/unmapLoadBalancers/cloudFoundryUnmapLoadBalancersStage.module';
|
|
32
|
+
import './pipeline/stages/unshareService/cloudFoundryUnshareServiceStage.module';
|
|
33
|
+
import {
|
|
34
|
+
ApplicationManagerSection,
|
|
35
|
+
BoundServicesSection,
|
|
36
|
+
BuildSection,
|
|
37
|
+
cfServerGroupDetailsGetter,
|
|
38
|
+
CloudFoundryCreateServerGroupModal,
|
|
39
|
+
CloudFoundryServerGroupActions,
|
|
40
|
+
CloudFoundryServerGroupCommandBuilderShim,
|
|
41
|
+
CloudFoundryServerGroupTransformer,
|
|
42
|
+
EnvironmentVariablesSection,
|
|
43
|
+
HealthCheckSection,
|
|
44
|
+
MetricsSection,
|
|
45
|
+
PackageSection,
|
|
46
|
+
ServerGroupInformationSection,
|
|
47
|
+
ServerGroupSizingSection,
|
|
48
|
+
} from './serverGroup';
|
|
49
|
+
|
|
50
|
+
import './logo/cf.logo.less';
|
|
51
|
+
|
|
52
|
+
CloudProviderRegistry.registerProvider('cloudfoundry', {
|
|
53
|
+
name: 'Cloud Foundry',
|
|
54
|
+
logo: {
|
|
55
|
+
path: cloudFoundryLogo,
|
|
56
|
+
},
|
|
57
|
+
loadBalancer: {
|
|
58
|
+
transformer: CloudFoundryLoadBalancerTransformer,
|
|
59
|
+
details: CloudFoundryLoadBalancerDetails,
|
|
60
|
+
CreateLoadBalancerModal: CloudFoundryMapLoadBalancerModal,
|
|
61
|
+
},
|
|
62
|
+
serverGroup: {
|
|
63
|
+
skipUpstreamStageCheck: true,
|
|
64
|
+
transformer: CloudFoundryServerGroupTransformer,
|
|
65
|
+
detailsActions: CloudFoundryServerGroupActions,
|
|
66
|
+
detailsGetter: cfServerGroupDetailsGetter,
|
|
67
|
+
detailsSections: [
|
|
68
|
+
ServerGroupInformationSection,
|
|
69
|
+
ApplicationManagerSection,
|
|
70
|
+
MetricsSection,
|
|
71
|
+
ServerGroupSizingSection,
|
|
72
|
+
HealthCheckSection,
|
|
73
|
+
BuildSection,
|
|
74
|
+
PackageSection,
|
|
75
|
+
BoundServicesSection,
|
|
76
|
+
EnvironmentVariablesSection,
|
|
77
|
+
],
|
|
78
|
+
CloneServerGroupModal: CloudFoundryCreateServerGroupModal,
|
|
79
|
+
commandBuilder: CloudFoundryServerGroupCommandBuilderShim,
|
|
80
|
+
scalingActivitiesEnabled: false, // FIXME enable?
|
|
81
|
+
},
|
|
82
|
+
instance: {
|
|
83
|
+
details: CloudFoundryInstanceDetails,
|
|
84
|
+
},
|
|
85
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IProviderSettings } from '@spinnaker/core';
|
|
2
|
+
import { SETTINGS } from '@spinnaker/core';
|
|
3
|
+
|
|
4
|
+
export interface ICloudFoundryProviderSettings extends IProviderSettings {
|
|
5
|
+
defaults: {
|
|
6
|
+
account?: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const CloudFoundryProviderSettings: ICloudFoundryProviderSettings = (SETTINGS.providers
|
|
11
|
+
.cloudfoundry as ICloudFoundryProviderSettings) || { defaults: {} };
|
|
12
|
+
if (CloudFoundryProviderSettings) {
|
|
13
|
+
CloudFoundryProviderSettings.resetToOriginal = SETTINGS.resetProvider('cloudfoundry');
|
|
14
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ApplicationNameValidator } from '@spinnaker/core';
|
|
2
|
+
|
|
3
|
+
class CloudFoundryApplicationNameValidator {
|
|
4
|
+
private static MAX_RESOURCE_NAME_LENGTH = 63;
|
|
5
|
+
|
|
6
|
+
private static validateSpecialCharacters(name: string, _warnings: string[], errors: string[]): void {
|
|
7
|
+
const alphanumPattern = /^([a-zA-Z][a-zA-Z0-9]*)?$/;
|
|
8
|
+
if (!alphanumPattern.test(name)) {
|
|
9
|
+
const alphanumWithDashPattern = /^([a-zA-Z][a-zA-Z0-9-]*)?$/;
|
|
10
|
+
if (!alphanumWithDashPattern.test(name)) {
|
|
11
|
+
errors.push(
|
|
12
|
+
'The application name must begin with a letter and must contain only letters, digits or dashes. ' +
|
|
13
|
+
'No special characters are allowed.',
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
private static validateLength(name: string, errors: string[]): void {
|
|
20
|
+
if (name.length > CloudFoundryApplicationNameValidator.MAX_RESOURCE_NAME_LENGTH) {
|
|
21
|
+
errors.push(
|
|
22
|
+
`The maximum length for an application in Cloud Foundry is ${CloudFoundryApplicationNameValidator.MAX_RESOURCE_NAME_LENGTH} characters.`,
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public validate(name = '') {
|
|
28
|
+
const warnings: string[] = [];
|
|
29
|
+
const errors: string[] = [];
|
|
30
|
+
|
|
31
|
+
if (name && name.length) {
|
|
32
|
+
CloudFoundryApplicationNameValidator.validateSpecialCharacters(name, warnings, errors);
|
|
33
|
+
CloudFoundryApplicationNameValidator.validateLength(name, errors);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
warnings,
|
|
38
|
+
errors,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
ApplicationNameValidator.registerValidator('cloudfoundry', new CloudFoundryApplicationNameValidator());
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.cloud-foundry-radio-button {
|
|
2
|
+
margin-left: 20px;
|
|
3
|
+
padding-left: 20px;
|
|
4
|
+
padding-right: 20px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.cloud-foundry-input {
|
|
8
|
+
margin-left: 15px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.cloud-foundry-checkbox {
|
|
12
|
+
input[type='checkbox'] {
|
|
13
|
+
margin-left: -5px;
|
|
14
|
+
margin-top: 9px;
|
|
15
|
+
}
|
|
16
|
+
}
|