in graph/task.go [185:215]
func (t *Task) Validate() error {
// Validate secrets if exists
idMap := make(map[string]struct{}, len(t.Secrets))
for _, secret := range t.Secrets {
err := secret.Validate()
if err != nil {
if secret.ID == "" {
return err
}
return errors.Wrap(err, fmt.Sprintf("failed to validate secret with ID: %s", secret.ID))
}
if _, exists := idMap[secret.ID]; exists {
return fmt.Errorf("duplicate secret found with ID: %s", secret.ID)
}
idMap[secret.ID] = struct{}{}
}
// Validate Volumes if exists
if err := ValidateVolumes(t.Volumes); err != nil {
return err
}
// Validate that mounts reference a volume that exists
for _, s := range t.Steps {
if err := s.ValidateMountVolumeNames(t.Volumes); err != nil {
return err
}
}
return nil
}