python-tuf/tuf/client_setup_and_repository_example.md
Vladimir Diaz a8981ec927 Add introductory text to 'Delegate to Hashed Bins' section.
Minor textual and organizational edits to README and client_setup_and_repository_example.md.
2014-07-10 09:48:24 -04:00

1.3 KiB

Client Setup and Repository Example

The following function creates a directory structure that a client downloading new software using TUF (via tuf/client/updater.py) will expect. The root.json metadata file must exist, and also the directories that hold the metadata files downloaded from a repository. Software updaters integrating with TUF may use this directory to store TUF updates saved on the client side.

>>> from tuf.repository_tool import *
>>> create_tuf_client_directory("/path/to/repository/", "/path/to/client/")

create_tuf_client_directory() moves metadata from /path/to/repository/metadata to /path/to/client/. The repository in /path/to/repository/ may be the repository example created in the repository tool README.

Test TUF Locally

Run the local TUF repository server.

$ cd "/path/to/repository/"; python -m SimpleHTTPServer 8001

Retrieve targets from the TUF repository and save them to "/path/to/client/". The basic_client.py module is available in tuf/client/. In a different command-line prompt . . .

$ cd "/path/to/client/"
$ ls
metadata/

$ basic_client.py --repo http://localhost:8001
$ ls . targets/ targets/django/
.:
metadata  targets  tuf.log

targets/:
django  file1.txt  file2.txt

targets/django/:
file4.txt