Skip to main content

A small tool to check the link validity of external Vagrant boxes on Atlas

Project description

Endymion is a command-line tool that checks if the specified Vagrant boxes can be downloaded from Hashicorp’s Atlas. In the case of the official CentOS Linux images for Vagrant, it will also check if the images correspond to the version listed on Atlas.

Installation

Endymion doesn’t have any external dependencies outside of the Python standard library, so it shouldn’t pose any problems to install it directly. You can also install it in a virtualenv if you prefer.

If you only plan to use Endymion, the simplest way is to install it from PyPI:

$ pip install endymion

Developers can also run the development version:

$ git clone https://github.com/lpancescu/endymion.git
$ git checkout python3 # only if you use Python 3.x
$ pip install -e .

Usage

Exporting Atlas data as JSON

If you would like to export the existing metadata from Atlas, use the --export option. Endymion expects to find the SHA256 checksum files in the same directory, named after the corresponding image (e.g. centos_7.sha256sum.txt for centos/7); since Atlas typically has no checksum information in the metadata, the checksums will be read from these external files and inserted in the generated JSON metadata.

$ endymion –export centos/6 centos/7

Limitations

  • endymion uses the HEAD method of HTTP 1.1 to check the availability of the boxes without downloading them. This usually works with external boxes like the ones provided by CentOS or Fedora, but it will fail with 405 Method Not Allowed for boxes hosted by Hashicorp; using GET with a Content-range header produces the same response.

  • The CentOS project provides GnuPG-signed SHA256 checksums, but endymion doesn’t try to validate them (this would require downloading each variant of a box)

Supported Python versions

Both Python 2.7 and Python 3.x are supported, although they have different codebases:

  • The master branch contains the Python 2.7 source code

  • The python3 branch, unsurprisingly, only runs under Python 3.x (instead of unifying the two code bases, I decided to convert the Python 2.7 code to Python 3, to avoid needlessly complicating the code to support both versions in the long term; if CentOS Linux 8 will default to Python 3, I can just move the Python 3 code to master).

If you are a regular user, this doesn’t matter: pip install endymion will always install the right package for your Python version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

endymion-1.4.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

endymion-1.4.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

endymion-1.4.0-py2-none-any.whl (10.1 kB view details)

Uploaded Python 2

File details

Details for the file endymion-1.4.0.tar.gz.

File metadata

  • Download URL: endymion-1.4.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for endymion-1.4.0.tar.gz
Algorithm Hash digest
SHA256 9f38e24735061075d59eb8e233ed39724c19676e8731a841bd6874382970f025
MD5 c5c69b6d0b9f2e3ce775a3e7fd17978b
BLAKE2b-256 9069c64d3e8910644fd957b2b306b868a971d3bd7d2b8b929fb4f8314cf65beb

See more details on using hashes here.

File details

Details for the file endymion-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for endymion-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c123b093cb3b67b9eabb0238e623018965b082a5af90d4a808973e18ece6f296
MD5 02e7024e929466cdddcf1c6780dac6ad
BLAKE2b-256 5be9777d881e235016a81e0e2cadeb6a1fef89f18b97b603fd93d6fda813eef3

See more details on using hashes here.

File details

Details for the file endymion-1.4.0-py2-none-any.whl.

File metadata

File hashes

Hashes for endymion-1.4.0-py2-none-any.whl
Algorithm Hash digest
SHA256 c3484e0720057bf6f5abbac1190b5d72d8ccdee5e8a540595b0d5241ed7a82e6
MD5 9c1411f74bbc3a40850dbad05484b03f
BLAKE2b-256 c539edadeb8a4236da5a7d714310477082f059bd718da360874aaf4f070bd670

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page