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

Built-in Htsget and Crypt4gh for the HTSGET storage #12

Merged
merged 11 commits into from
Sep 5, 2024

Conversation

mrtamm
Copy link
Contributor

@mrtamm mrtamm commented Aug 6, 2024

Here is the next step for supporting the HTSGET storage:
support for the Htsget protocol and Crypt4gh key-pair generation and content decryption is baked into the Funnel source code.

After this change, the Funnel environment does not depend on other programs for invoking content download over Htsget protocol. Therefore, this solution is more reliable.

Summary of changes:

  1. Implementation for downloading content as described in Htsget API v1.3.0 and the architecture supporting Crypt4gh
  2. Implementation for parsing and decrypting Crypt4gh content
  3. Implementation for generating or loading existing Crypt4gh key-pair (preferred order: explicit key-file-paths, ./.c4gh/key[.pub], and ~/.c4gh/key[.pub]) as described here
  4. Support for standard environment variables: C4GH_PASSPHRASE, C4GH_SECRET_KEY, and C4GH_PUBLIC_KEY (the latter is a new variable name, yet optional)
  5. Removed external Htsget and Crypt4gh implementations from the Docker images.
  6. HTSGETConfig: removed SendPublicKey (as public key is always sent), and added Timeout parameter.
  7. Added unit-tests for Crypt4gh keys and decryption related functionalities
  8. Updated the Htsget documentation page (in Funnel) with the new info.

@xhejtman xhejtman merged commit cccb4b6 into CERIT-SC:master Sep 5, 2024
5 checks passed
@mrtamm mrtamm deleted the dev-builtin-htsget-crypt4gh branch September 6, 2024 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants