Validate that Implementation that implements a given Interface uses a proper naming for input Parameters and TypeInstances.
Acceptance Criteria
Validate that Implementation under workflow inputs uses only:
names declared in Interface (spec.input.typeInstances and spec.input.parameters). They cannot have the optional: true property.
and names declared in Implementation (additionalInput.typeInstances and additionalInput.parameters). Should have the optional: true property.
inputs: # validate naming declared below:
artifacts:
- name: input-parameters # if declared on Interface, cannot have `optional: true`
- name: postgresql # if declared under additionalInput, should have `optional: true`
optional: true
fix reported issues in all manifests
Reason
It's easy to introduce bug into Hub manfiests. We already had such situation:
As you can see, Interface requires input parameter as input-parameters but Implementation injects user-input. The naming doesn't match and manifest cannot be rendered.
Use cases
Content Developer - I want to have a tool to detect invalid manifests.
System Users - I don't want to run manifests that are invalid and running them will always result in error.
Description
Validate that Implementation that implements a given Interface uses a proper naming for input Parameters and TypeInstances.
Acceptance Criteria
Validate that Implementation under workflow inputs uses only:
spec.input.typeInstances
andspec.input.parameters
). They cannot have theoptional: true
property.and names declared in Implementation (
additionalInput.typeInstances
andadditionalInput.parameters
). Should have theoptional: true
property.Reason
It's easy to introduce bug into Hub manfiests. We already had such situation:
As you can see, Interface requires input parameter as
input-parameters
but Implementation injectsuser-input
. The naming doesn't match and manifest cannot be rendered.Use cases