Skip to content

Commit

Permalink
fix(bake/kustomize): fix name validation (spinnaker#7450)
Browse files Browse the repository at this point in the history
name is only a required field for manifest baked with helm so we should
only validate that it's supplied if the rendering engine is of type
HELM2.
  • Loading branch information
ethanfrogers committed Sep 27, 2019
1 parent 4f24db3 commit 677ab6b
Showing 1 changed file with 25 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,39 @@
import { get } from 'lodash';

import { ArtifactReferenceService, ExecutionArtifactTab, ExpectedArtifactService } from 'core/artifact';
import { ExecutionDetailsTasks } from 'core/pipeline';
import { IArtifact, IStage } from 'core/domain';
import { ExecutionDetailsTasks, IValidatorConfig } from 'core/pipeline';

import { IArtifact, IStage, IPipeline, IStageOrTriggerTypeConfig } from 'core/domain';

import { Registry } from 'core/registry';
import { SETTINGS } from 'core/config';

import { BakeManifestConfig } from './BakeManifestConfig';
import { BakeManifestDetailsTab } from './BakeManifestDetailsTab';
import { ManualExecutionBakeManifest } from './ManualExecutionBakeManifest';
import { ICustomValidator } from '../../validation/PipelineConfigValidator';
import { RequiredFieldValidator, IRequiredFieldValidationConfig } from '../../validation/requiredField.validator';

export const BAKE_MANIFEST_STAGE_KEY = 'bakeManifest';
if (SETTINGS.feature.versionedProviders) {
const requiredField = (
_pipeline: IPipeline,
stage: IStage,
_validator: IValidatorConfig,
_config: IStageOrTriggerTypeConfig,
): string => {
if (stage.templateRenderer !== 'HELM2') {
return '';
}

return new RequiredFieldValidator().validate(
_pipeline,
stage,
{ fieldLabel: 'Name', fieldName: 'outputName' } as IRequiredFieldValidationConfig,
_config,
);
};

Registry.pipeline.registerStage({
label: 'Bake (Manifest)',
description: 'Bake a manifest (or multi-doc manifest set) using a template renderer such as Helm.',
Expand All @@ -29,7 +51,7 @@ if (SETTINGS.feature.versionedProviders) {
stage.expectedArtifacts = get(stage, 'expectedArtifacts', []).filter(a => !artifactMatches(a));
stage.inputArtifacts = get(stage, 'inputArtifacts', []).filter(a => !artifactMatches(a));
},
validators: [{ type: 'requiredField', fieldName: 'outputName', fieldLabel: 'Name' }],
validators: [{ type: 'custom', validate: requiredField } as ICustomValidator],
manualExecutionComponent: ManualExecutionBakeManifest,
});
}

0 comments on commit 677ab6b

Please sign in to comment.