Skip to content

Commit d5aa300

Browse files
committed
docs(readme): move diagram to the beginning of the section
1 parent c9a5e0c commit d5aa300

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ This aligns directly with NHS ongoing work to strengthen the security posture of
4949
- [CVE scanning](#cve-scanning)
5050
- [Container image signing](#container-image-signing)
5151
- [Build provenance attestation](#build-provenance-attestation)
52-
- [End-to-End flow](#end-to-end-flow)
52+
- [End-to-end flow](#end-to-end-flow)
5353
- [How to use this repository](#how-to-use-this-repository)
5454
- [Adding a new feature](#adding-a-new-feature)
5555
- [How Conventional Commits affect versioning](#how-conventional-commits-affect-versioning)
@@ -395,19 +395,7 @@ The workflow must request `id-token: write` and `attestations: write` permission
395395
cosign verify-attestation --key cosign.pub ghcr.io/{{ repository }}@sha256:{{ digest }}
396396
```
397397

398-
### End-to-End flow
399-
400-
| **Stage** | **Description** | **Tooling / Action** | **Outcome** |
401-
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | --------------------------------------------------------------------------- |
402-
| **Commit** | Engineer merges a Conventional Commit to `main` or rather creates a Pull Request to accomplish it. The release bot signs commits automatically | GitHub App + GPG | Verified ✅ signed commit with authorship traceability |
403-
| **Version** | Semantic version is calculated automatically based on commit messages | `semantic-release` | Predictable versioning (`v1.2.3`), changelog, and tag created |
404-
| **Build** | Application is packaged into a container image | OCI container (aka Docker) | Deterministic image tagged `app-<version>` and `app-latest` |
405-
| **Scan** | Generate SBOM and CVE scan before release | Syft + Grype | CycloneDX SBOM + CVE visibility for compliance and early risk detection |
406-
| **Attest** | Generate build provenance attestation linking code, build, and artefact digest | `actions/attest-build-provenance` | Cryptographically signed 🔏 provenance record stored in GitHub Attestations |
407-
| **Sign** | Sign container image and record signature in the transparency log | Sigstore Cosign + Rekor | Tamper-evident signature proving authenticity and integrity |
408-
| **Publish** | Push signed, attested image to registry and update release notes | GitHub Releases + GHCR | Trusted artefact available for downstream consumption |
409-
| **Deploy** | Change integrated with downstream environments up to production | GitHub Action (continuous deployment) | TBC |
410-
| **Release** | Feature enabled to the end user | OpenFeature (feature toggling) | TBC |
398+
### End-to-end flow
411399

412400
```mermaid
413401
flowchart LR
@@ -432,6 +420,18 @@ flowchart LR
432420
class I release
433421
```
434422

423+
| **Stage** | **Description** | **Tooling / Action** | **Outcome** |
424+
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | --------------------------------------------------------------------------- |
425+
| **Commit** | Engineer merges a Conventional Commit to `main` or rather creates a Pull Request to accomplish it. The release bot signs commits automatically | GitHub App + GPG | Verified ✅ signed commit with authorship traceability |
426+
| **Version** | Semantic version is calculated automatically based on commit messages | `semantic-release` | Predictable versioning (`v1.2.3`), changelog, and tag created |
427+
| **Build** | Application is packaged into a container image | OCI container (aka Docker) | Deterministic image tagged `app-<version>` and `app-latest` |
428+
| **Scan** | Generate SBOM and CVE scan before release | Syft + Grype | CycloneDX SBOM + CVE visibility for compliance and early risk detection |
429+
| **Attest** | Generate build provenance attestation linking code, build, and artefact digest | `actions/attest-build-provenance` | Cryptographically signed 🔏 provenance record stored in GitHub Attestations |
430+
| **Sign** | Sign container image and record signature in the transparency log | Sigstore Cosign + Rekor | Tamper-evident signature proving authenticity and integrity |
431+
| **Publish** | Push signed, attested image to registry and update release notes | GitHub Releases + GHCR | Trusted artefact available for downstream consumption |
432+
| **Deploy** | Change integrated with downstream environments up to production | GitHub Action (continuous deployment) | TBC |
433+
| **Release** | Feature enabled to the end user | OpenFeature (feature toggling) | TBC |
434+
435435
## How to use this repository
436436

437437
### Adding a new feature

0 commit comments

Comments
 (0)