Stitch any CI into Tangled

Adding Tekton Pipelines as a provider #53

Closed itisamystery.com
targeting main
Closed opened by and assigned to itisamystery.com
targeting main

I use Tekton Pipelines for my CICD workflows. I've got quite a few pipelines already defined, and quite a few task interops. I would be so happy to have my logs be pulled into the place where my code lives rather than having to go dig around in separate tooling.

I wrote it basically as a clone to what BuildKite was doing, and it relies on a few K8s infra pieces in place. I.e. you have to have Tekton Pipelines configured, and then the Tack container has to be running with a specific RBAC. I wasn't sure if you would want that committed to Tack or not, but the code for having it on K8s is here: https://tangled.org/dsx.sh/tack-k8s

I can't quite prove that this all works right, as my tack/knot seem to be misconfigured. The Tack pod is showing the right invocation:

2026/05/03 02:04:42 INFO tekton PipelineRun created component=provider kind=tekton knot=knot.vlan.foo pipeline_rkey=3mkw2yg6flz22 workflow=hello-world.yml actor=did:plc:6so2rykrnjmzebbr2zbwbqbx namespace=tekton-pipelines pipeline=hello-world pipeline_run=tack-hello-world-yml-0b44d9cb9b65 uid=6e0657e2-b709-44c9-85b7-8a36ff3d4489```

But the actual pipeline run on the repo doesn't happen, so I blame my own infra. The code seems valid, I was able to run it with a variety of PIpelineRuns with text values. 

The downside here is that it adds the k8s client to the go.mod, which is like +360 something packages. I can rewrite to just take the Service Account token and hit the K8s api with basic network requests, but this seemed cleaner.

This pull request has no versions submitted yet.