/tektor

Primary LanguageGo

Tektor

Why does this thing exist? Because I'm tired of finding out about problems with my Pipeline after I run it.

It is written in go because that is the language used by the Tekton code base. It makes us not have to re-invent the wheel to perform certain checks.

It currently supports the following:

  • Verify PipelineTasks pass all required parameters to Tasks.
  • Verify PipelineTasks pass known parameters to Tasks.
  • Verify PipelineTasks pass parameters of expected types to Tasks.
  • Verify PipelineTasks use known Task results.
  • Resolve remote/local Tasks via PaC resolver, Bundles resolver, and embedded Task definitions.

Future work:

  • Resolve remote Tasks via git resolver.
  • Verify workspace usage.
  • Verify PipelineRun parameters match parameters from Pipeline definition.
  • Verify results are used according to their defined types.
  • Remove printf calls and use proper logging.
  • Don't fail on first found error.