Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEAT: Automatic signature updates #202

Closed
wants to merge 13 commits into from

Conversation

carlwilson
Copy link
Member

Signatures now compiled and hosted on a web based update site:

  • Site URL set in config.
  • Docker based update web app to host and serve signature information.
  • FIDO CLI arguments -sigs check and -sigs update control automatic signature updates.
    This was implemented by:
  • implementing a REST service for FIDO signatures in fido.signatures;
    • simple flask REST app that parses a static dir/file structure;
    • endpoint to list versions;
    • endpoint that identifies latest version;
    • endpoints to download sig file collateral by version and latest for signature updates;
    • added resources for legacy format and container signatures;
  • adding simple REST client functionality to FIDO CLI:
    • -sigs check compares configured PRONOM sig version with REST latest and indicates if an update is required;
    • -sigs update pulls the latest version if the installed version is stale and updates the conf file as required.

- refactored `./fido/update_signatures.py` to add clarity;
- generated FIDO sig file now validates against `fido/config/fido-formats.xsd`
  + fixed inconsistency between FIDO sig schema and 'fido/prepare.py''s use of 'apple_uid' and `apple_uti`;
- PRONOM HTTP methods in dedicated `./fido/pronom/http.py` module (this needs to get more methods or merging with the SOAP module);
- added basic (hacky) catch for 404s when downloading test resources;
- safer use of empty list default for `fido/prepare.py FormatInfo:__init__`.
- allow zero signature elements; and
- ommitted for previous check in.
- Python 2 compatibility re-established;
- Pydoc and line spacing for CI tests on Travis.
Signatures now compiled and hosted on a web based update site:
- Site URL set in config.
- Docker based update web app to host and serve signature information.
- FIDO CLI arguments `-sigs check` and `-sigs update` control automatic signature updates.
This was implemented by:
- implementing a REST service for FIDO signatures in `fido.signatures`;
  + simple flask REST app that parses a static dir/file structure;
  + endpoint to list versions;
  + endpoint that identifies latest version;
  + endpoints to download sig file collateral by version and `latest` for signature updates;
  + added resources for legacy format and container signatures;
- adding simple REST client functionality to FIDO CLI:
  + `-sigs check` compares configured PRONOM sig version with REST latest and indicates if an update is required;
  + `-sigs update` pulls the latest version if the installed version is stale and updates the conf file as required;
@carlwilson carlwilson added feature New functionality to be developed P1 High priority issues to be scheduled in the upcoming release labels Apr 20, 2021
@carlwilson carlwilson self-assigned this Apr 20, 2021
@carlwilson carlwilson marked this pull request as draft April 20, 2021 15:00
@carlwilson carlwilson requested a review from sevein April 20, 2021 15:00
@carlwilson carlwilson added this to the v1.6 milestone Apr 20, 2021
@carlwilson carlwilson closed this Mar 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New functionality to be developed P1 High priority issues to be scheduled in the upcoming release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Optimise the updating of PRONOM signature files
1 participant