# Documentation Plan for Notary v2, ORAS, Ratify ## Goals 1. To comfirm the documentation structure for Notary v2, ORAS, and Ratify. 2. To develop developer-friendly user manual content. 3. Clarify the project status and content delivery timeline. ## Documentation Structure A high-level overview to the general structure (directory) demonstrates how it’s organized will help readers quickly know where to look for certain things: - **Introduction**: Basic introduction to the project, concepts, user scenarios, user values, quickstart, etc. - **Installation**: How to install the project on different platforms or environments - **Tutorials**: Take you by the hand through a series of steps to create your first demo. Start here if you’re new to the project. - **How-to guides**: Guide you through the step-by-step usage involved in addressing key problems and use-cases with ecosystem tools. They are more advanced than tutorials and assume some knowledge of how the project works. - **Community Guides**: discuss topics centered around developer guide, release process, contributing guide. - **Glossary**: Explain technical terms and concepts - **FAQ and Troubleshooting**: ## Notary v2 - **Project status**: Alpha 4 - **Documentation status**: Almost empty. The project spec is comleted. Only two quickstart guides existed, see below: - [Hello World for Notation: Local signing and verification](https://github.com/notaryproject/notation/blob/main/docs/hello-signing.md) - [Build, sign, and verify container images using Notary and Azure Key Vault](https://docs.microsoft.com/azure/container-registry/container-registry-tutorial-sign-build-push) Documention plan **Initial plan before KubeCon (Oct 24)**: Complete the chapters including introduction, installation, tutorials, glossary. ### New Documentation Directory Category | Documentsn | Status | Need review existing docs? | refreshing -- | -- | -- | -- | -- Quick Start | Quick start | 1/1 | Yes | per new release Installation guides | Installation guide | 1/1 | Yes | per new release Tutorials | * Sign a container image <br> * using a local key for testing purpose<br> * Sign a container image using a key stored in Key vault (Azure Key vault or AWS KMS)<br> * Sign artifacts (e.g SBOM file) stored in a registry<br> * List artifacts and associated signatures stored in a registry <br> * Verify signatures using trust store and trust policy<br> * Build a plugin <br> * Others: like Ratify validation | 0 | | Per new feature How-to guides | * Explain Directory structure after installation of notation CLI <br> * Configure signing keys <br> * Configure a different signature envelope <br> * Configure trust policy <br> * Configure trust store <br> * Install/uninstall plugins | 0 | | Per new feature Concepts | Concept | 1/1 | Yes | per new release Troubleshooting | Troubleshooting guide | 0/1 | | Per new feature Frequently asked questions | FAQ | 1/1 | Yes | per new release specifications | A page to add links to each spec in different repos under notaryproject | 0 | | Per new spec ### Other Work Items on the Website Chapters | Documents | Status | Need to review and update existing docs | Maintenance frequency | -- | -- | -- | -- | -- Landing page | Redesign a new landing page | 0 | | basically unchangedKey feature announcement | 0 | | per new key feature or per new release Blog | * Cloud provider story (e.g. AWS or Azure) <br> * Other types of documents not in Tutorials and how-to categories (e.g. Secure supply chain related)<br> | | | per new release Roadmap | https://github.com/notaryproject/roadmap | | Yes | Per milestone update ## ORAS - **Project status**: Release Candidate - **Documentation status**: Only a few CLI user guides, SDK examples, and basic introduction on the ORAS website. Another [ORAS quickstart guide](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-oras-artifacts) is available on the Azure doc. ### New Documentation Directory Chapters | Documents | Status | Need  to   review and update existing docs? | Refreshing -- | -- | -- | -- | -- Overview of ORAS | - What is ORAS <br>  - Use cases <br>  - Demos <br>  - Roadmap | 2/4 | Yes | Per new release. Maintained by PM Installation | Install ORAS CLI on multiple platforms | 1/1 | Yes | Per new release Getting Started | ORAS CLI quick start | 0 |   | Per new release CLI Guides | - Authentication (login and logout) <br>   - Pull and push artifacts  <br> - Attach files to artifacts   <br> - Copy artifacts across registries   - Discover referrers of a manifest   - Repository and tag operations   - Manifest and blob operations | 3/7 | Yes | Per new release How-to guides | - Using ORAS in Secure Supply Chain <br> - Using ORAS in CI/CD (e.g. GitHub Actions) <br> - Working with OCI Registries <br> - Using ORAS with Kubernetes manifest | 1/4 | Yes | Per new release and E2E scenario Development and contribution |<br> - How to build ORAS CLI <br>  - Add a new command and flag <br>  - CLI release process | 2/3 | Yes | Maintained by developers Client Library | - Overview <br>  - Golang library guide <br>  - API reference <br>   - Python library guide |   | Yes | Maintained by library developers CLI Reference | This part of content will be generated from the source code of CLI help documentation. | 0 | No | Maintained by developers and PM Glossary | Concepts and terms | 0 | No | Per new terms and features FAQ and Troubleshooting |   | 0 | No | According to user questions. Maintained by PM ### Working items - Refactor the documentation structure and layout, remove the redicrect link configuration - Add a new portal for Blogs, migrate the existing content from the documentation portal to Blogs portal - Update the documents [Pushing](https://oras.land/cli/1_pushing/), (Pulling)(https://oras.land/cli/2_pulling/), [Manifest config](https://oras.land/cli/3_manifest_config/) and [Manifest annotations](https://oras.land/cli/4_manifest_annotations/) in the CLI chaprter. They are out-of-date content, so we need to rewrite this chapter using ORAS 0.15.0 - Write new documents with end-to-end scenarios in a chapter > **Suggestions**: > - Download the ORAS CLI 0.15 and test it with each functional flag according to the examples showing in the `--help` > - View the existing content below to understand the typical use cases ### Related references - [ORAS 0.14 blog post](https://oras.land/blog/oras-0.14-and-future/) - ORAS 0.15 blog post (coming soon) - [Push and pull an OCI artifact using an Azure container registry](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-oci-artifacts) - [Push and pull supply chain artifacts using Azure Registry](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-oci-artifacts) ## Ratify There are some basic documents in the [Ratify GitHub](https://github.com/deislabs/ratify/tree/main/docs). The detailed plan needs to be discussed and confirmed with David and Zach. ## Reference W [k Iebsi on the websitete](https://oras.land/) - [Notation website](https://notaryproject.dev/) - [Notary v2 spec](https://github.com/notaryproject/notaryproject) - [Ratify](https://github.com/deislabs/ratify)