-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
in-toto-run capturing implementation #54
Comments
Many thanks for the write-up, @shibumi! I am not sure I understand your question about TravisCI, can you try to rephrase? Regarding Regarding the tasks:
I think this is the most important sub-task. We already support
Once we have signing, please add code to write the signed
RecordStart/RecordStop is not a priority but should also be easy, once we have signing and file writing support. It's basically in InTotoRun split in two parts).
No, we don't need a CLI. We already have a feature rich Python CLI. in-toto-golang is for library use in go code. |
@lukpueh thanks for your clarification. Nevermind about the TravisCI question, it's clear now. I just thought that I need to create an API for travisCI or something, so that travisCI or any other service could create link data via CLI/Rest/whatever. But I understood now, that we focus on a pure in-toto library implementation for use in other go code. Signing link data is easy, I have already some experience with signing/validating signatures with Regarding generating link files: Do we generate an extra Thank you for this writeup, this solves a lot of my questions. Am I correct with the assumption that we create link data already? We just don't sign it and write it to disk yet? |
You are very welcome! :)
These sound like good ideas, but we try to keep in-toto implementations as un-opinionated as possible. An in-toto travis interface should be a separate code base that uses this (or another in-toto implementation) as dependency.
Exactly!
Excellent! Looking forward to reviewing your code
Please do, the demo and above all the specification should answer that question. ;)
Correct, we create link metadata in the course of the verification, when we run "inspections", which is a client/verifier-side supply chain step. But since these are created and consumed in an adhoc during verification, we don't sign or persist them. |
I've updated the issue description. I think I will start with signing the link metadata that we already create + writing.. the record/stop part makes sense at the end. |
@lukpueh @SantiagoTorres Does this issue include layout generation, too? I just realized that layouts are completely missing in intoto-golang. Do we want to track this in a separate issue? |
Nope, in-toto-run functionality is completely independent of in-toto layouts.
This is only half-true. We do have the
We can, but it is not a high priority at the moment. Unlike link generation and final product verification, which may be incorporated into existing services written in go and thus benefit from an in-toto-golang implementation, it seems feasible to have project owners of any project use the Python tooling, or our (experimental) layout web tool for layout generation. |
#56 fixes the better part of this issue. This issue description mentions in-toto-record functionality, which is still missing. Although it might be nice to add this, it does not seem a huge priority. |
Hi, do we want to track the in-toto-record functionality in a separate issue and close this one? |
Sounds good |
The in-toto record functionality is being tracked here: #69 |
feature request:
The golang implementation is missing functions for capturing changes right now.
This issue tries to give a small roadmap on implementing the capturing functionality.
For this I had a look on the python implementation and tried to conclude which funtions are missing in the golang implementation. I hope I understood this correct.
What we have right now:
RecordArtifacts()
WaitErrToExitCode()
RunCommands()
InTotoRun()
What is missing?
Is this the actual functionality we want or did I misunderstood something?
What I didn't see in the python implementation is triggering intoto via another process (for example TravisCI triggers an intoto-run for hashing artifacts.. doing something like building artifacts.. and triggering again for retrieving hashes for artifacts + recording materials and products.
Is this covered via the RecordStart and RecordStop functionality? How are these functions different to our RecordArtifacts functions?
I am a little bit confused about this topic, I think ^^ I actually thought this would go away after doing a few PRs for the error handling etc.
The text was updated successfully, but these errors were encountered: