ansible / mazer

Experimental Ansible Galaxy Content Manager
GNU General Public License v3.0
114 stars 18 forks source link

Use collection artifact detail view api, validate sha256 of downloaded artifacts #277

Closed alikins closed 5 years ago

alikins commented 5 years ago
SUMMARY

This adds use of the Galaxy collection artifact detail view

The artifact detail data is based on the ArtifactDetail from the Galaxy REST API. ie, results of GET /api/v2/collections/{namespace}/{name}/versions/{version}/artifact/ Or the 'artifact' field of: GET /api/v2/collections/{namespace}/{name}/versions/{version}

The 'artifact' dict should contain 'sha256', 'filename', and 'size'.

This pr also uses the 'sha256' value to validate that downloaded artifacts sha256 sum matches their expected sha256. Checksum failures will raise GalaxyArtifactChksumError.

ISSUE TYPE
MAZER VERSION
name = mazer
version = 1.0.0
config_file = /home/adrian/.ansible/mazer.yml
uname = Linux, newswoop, 5.0.5-200.fc29.x86_64, #1 SMP Wed Mar 27 20:58:04 UTC 2019, x86_64
executable_location = /home/adrian/venvs/mazer_0.4.0_py36/bin/mazer
python_version = 3.6.8 (default, Jan 27 2019, 09:00:23) [GCC 8.2.1 20181215 (Red Hat 8.2.1-6)]
python_executable = /home/adrian/venvs/mazer_0.4.0_py36/bin/python
ADDITIONAL INFORMATION