slsa-framework / slsa-github-generator

Language-agnostic SLSA provenance generation for Github Actions
Apache License 2.0
430 stars 129 forks source link

[docs][byob] docs for tool writers #1574

Closed asraa closed 1 year ago

asraa commented 1 year ago

Is your feature request related to a problem? Please describe. Start docs aimed towards tool writers to create their own SLSA 3 builder.

Some notable items and example we should provide:

All of these will need corresponding e2e tests, maybe under example-byob or some other name?

cc @laurentsimon

laurentsimon commented 1 year ago
laurentsimon commented 1 year ago

note: I'm doing a Syft PoC at https://github.com/laurentsimon/sbom-action/blob/feat/slsa-trw/.github/workflows/slsa3.yml

ianlewis commented 1 year ago

Related to #1552

I started a template example repo at https://github.com/ianlewis/slsa-byob-template

@asraa @laurentsimon We can maybe move the repo under the SLSA org and start iterating on docs there. wdut?

ianlewis commented 1 year ago

With all the docs we might have to write, maybe we should start thinking about setting up a proper website with rendered HTML docs...

laurentsimon commented 1 year ago

Do you think GitHub pages would be a good start? Do you think we could host the doc in this repo under a different branch with no branch protection enabled? Or doing it on another repo is simpler?

Shall we brainstorm the high-level sections we have in mind?

  1. Intro
    • Terminology
    • Supported triggers
  2. Getting started
    • I want to wrap an existing Action
    • I want to create a compliant builder from scratch
  3. Maintenance
    • Use X
    • Use Y
  4. Improve my security
    • Generate provenance for my binaries
    • Verify them in Action
    • Follow Scorecard best practice
  5. Let your users know
    • Update your README
    • Opt in the compliance program
  6. FAQs / Common pitfalls
    • Error msg "bla"
  7. Examples
    • Passing secrets
    • Using GH token
    • Upload provenance to release asset
    • ...

I'm just making this up :)

laurentsimon commented 1 year ago

/cc @olivekl if you have any insight / advice

ianlewis commented 1 year ago

I think gh pages would be great. We don't have a lot of collective bandwidth and expertise for docs so I think we'll want to use something with low friction.

The slsa website uses netlify so that might be another option to look at.

laurentsimon commented 1 year ago

OK. I propose starting with .md files. Hopefully GH pages will allow us to turn it into a website with a pre-defined theme with little effort if we want to polish it. Wdut?

ianlewis commented 1 year ago

OK. I propose starting with .md files. Hopefully GH pages will allow us to turn it into a website with a pre-defined theme with little effort if we want to polish it. Wdut?

Yeah, it should be easy to do. Definitely something we have to lead with. We can defer decisions until we need to polish and organize. the docs

ianlewis commented 1 year ago

Related to #892

laurentsimon commented 1 year ago

Closing this as completed, see https://github.com/slsa-framework/slsa-github-generator/blob/main/BYOB.md. We will iterate and update the README to mention BYOB in follow-up PR