Skip to content

Commit edc30b4

Browse files
committed
Initial commit
Signed-off-by: Radoslav Dimitrov <dimitrovr@vmware.com>
1 parent 572bb38 commit edc30b4

18 files changed

+1919
-0
lines changed

Diff for: NOTES.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Notes
2+
3+
* Check fuzzing - https://go.dev/doc/tutorial/fuzz
4+
* Add the option to set custom key ID
5+
* Add creating a metadata from init struct
6+
* Support for hashbin delegations and succint roles
7+
* Make sure to not discard custom fields when converting, i.e. for keys and such
8+
* Verify and fix how rsa and ecdsa keys are stored
9+
* Revisit the design - should we use generics or just 4 different structs for each metadata type?
10+
* Investigate whether depending on `sigstore/signatures` can cause dependency cycle and if so, how to avoid it?

Diff for: README.md

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# <img src="https://cdn.rawgit.com/theupdateframework/artwork/3a649fa6/tuf-logo.svg" height="100" valign="middle" alt="TUF"/> A Framework for Securing Software Update Systems
2+
----------------------------
3+
[The Update Framework (TUF)](https://theupdateframework.io/) is a framework for
4+
secure content delivery and updates. It protects against various types of
5+
supply chain attacks and provides resilience to compromise.
6+
7+
NGO-TUF is started from the idea of providing a Go implementation of TUF that is heavily influenced by the
8+
design decisions made in [python-tuf](https://github.com/theupdateframework/python-tuf).
9+
10+
About The Update Framework
11+
--------------------------
12+
The Update Framework (TUF) design helps developers maintain the security of a
13+
software update system, even against attackers that compromise the repository
14+
or signing keys.
15+
TUF provides a flexible
16+
[specification](https://github.com/theupdateframework/specification/blob/master/tuf-spec.md)
17+
defining functionality that developers can use in any software update system or
18+
re-implement to fit their needs.
19+
20+
TUF is hosted by the [Linux Foundation](https://www.linuxfoundation.org/) as
21+
part of the [Cloud Native Computing Foundation](https://www.cncf.io/) (CNCF)
22+
and its design is [used in production](https://theupdateframework.io/adoptions/)
23+
by various tech companies and open source organizations.
24+
25+
Please see [TUF's website](https://theupdateframework.com/) for more information about TUF!
26+
27+
How to use it
28+
-------------
29+
See the [basic_repo.go](examples/basic_repo.go) example which demonstrates how to *manually* create and
30+
maintain repository metadata using the low-level Metadata API.
31+
32+
The example highlights the following functionality supported by the metadata API:
33+
34+
* creation of top-level metadata
35+
* target file handling
36+
* consistent snapshots
37+
* key management
38+
* top-level delegation and signing thresholds
39+
* metadata verification
40+
* target delegation
41+
* in-band and out-of-band metadata signing
42+
* writing and reading metadata files
43+
* root key rotation
44+
45+
Roadmap
46+
-------------
47+
[x] Bootstrap a metadata API implementation
48+
49+
[x] Recreate the `basic_repo.py` example
50+
51+
[] Verify the metadata API is complete
52+
53+
[] Implement a client (standalone package built on top of metadata, to be split into several other parts)
54+
55+
[] Implement a repository (standalone package built on top of metadata, to be split into several other parts)
56+
57+
Documentation
58+
-------------
59+
* [Introduction to TUF's Design](https://theupdateframework.io/overview/)
60+
* [The TUF Specification](https://theupdateframework.github.io/specification/latest/)
61+
62+
Contact
63+
-------
64+
Questions, feedback, and suggestions are welcomed on the [#tuf]
65+
(https://cloud-native.slack.com/archives/C8NMD3QJ3) channel on
66+
[CNCF Slack](https://slack.cncf.io/).
67+
68+
We strive to make the specification easy to implement, so if you come across
69+
any inconsistencies or experience any difficulty, do let us know by sending an
70+
email, or by reporting an issue in the GitHub [specification
71+
repo](https://github.com/theupdateframework/specification/issues).
72+

0 commit comments

Comments
 (0)