Closed Bug 1476602 Opened 6 years ago Closed 6 years ago

[tc-references] ensure all references match their schema

Categories

(Taskcluster :: Services, enhancement, P5)

enhancement

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dustin, Unassigned)

Details

api.json and exchanges.json should match the schema. It'd be great to check that in individual services, but the schema isn't available at that time (it's in tc-references). So let's check it at tc-references build time.
I think this will be easier when the as-yet-ill-defined "taskcluster-lib-references" is finished. as it will do most of the work of the tc-references build process (incorporating all of these schemas, references, and so on).
Priority: -- → P5
The idea with the library is to define an on-disk data format that contains a whole set of API references including a manifest. Then tc-references can produce that as an artifact (even allow downloading it), and other things can consume it using the library. It would probably be a multi-language library, or at least have some Go support for consuming the data format.
Pete, Brian, could you peek at the README in https://github.com/taskcluster/taskcluster-lib-references and see if it makes sense? My thinking is that one of these formats would form the input to the client-generation machinery. Probably the as-yet-unwritten JSON format so it would be easy to download. But mostly, this library will be used to help build and deploy taskcluster-references, including the abstract -> absolute transformation at deploy time (currently done with some sed scripts!).
Flags: needinfo?(pmoore)
Flags: needinfo?(bstack)
Looks good to me. This is also probably a nice step in the openapi/swagger direction I think we should go in eventually!
Flags: needinfo?(bstack)
I've had an initial look, but I need to spend some more time on it, which I will do in the next days. John, can you also take a look? Thanks!
Flags: needinfo?(jhford)
Note, I've created https://github.com/taskcluster/taskcluster-rfcs/pull/128 as an overarching design of all the redeployability concerns.
Assignee: dustin → nobody
I've scheduled a meeting to discuss this system with Dustin tomorrow. I'll comment afterwards, but I'll clear the needinfo for now.
Flags: needinfo?(jhford)
John, did you want to add some comments? I'm sort of unable to proceed until I have written evidence we agree :)
Flags: needinfo?(pmoore)
https://github.com/taskcluster/taskcluster-lib-references now handles this, as part of implementing RFC 128.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Component: Redeployability → Services
You need to log in before you can comment on or make changes to this bug.