
* Package Index: Build in Dockerhub Prepare to build the package index service, packages.spack.io, on Dockerhub. Local build (in spack root dir): ``` docker build -t spack/packages.spack.io:latest -f share/spack/docker/package-index/Dockerfile . ``` Local test: ``` docker run -p 8080:80 spack/packages.spack.io:latest ``` * Travis-CI: Remove Docker Remove leftover docker stages from Travis-CI. * Simplify Split Call
46 lines
1.5 KiB
ReStructuredText
46 lines
1.5 KiB
ReStructuredText
============================================
|
|
The packages.spack.io Package Index REST API
|
|
============================================
|
|
|
|
This directory provides the docker recipe for the Spack package index on https://packages.spack.io
|
|
|
|
On each merge to ``develop``, DockerHub builds a new image ``spack/packages.spack.io`` which is configured in:
|
|
https://cloud.docker.com/u/spack/repository/docker/spack/packages.spack.io/builds/edit
|
|
|
|
------------
|
|
The REST API
|
|
------------
|
|
|
|
The API is a simple, file-based JSON index.
|
|
A specific package can be queried via the URI syntax:
|
|
``https://packages.spack.io/api/:firstLetter/:packageName.json``
|
|
which will return a HTTP status code ``200`` with a JSON file for all valid packages (content from ``spack list --format version_json``) and HTTP status code ``404`` for all other package names.
|
|
|
|
Examples:
|
|
|
|
- https://packages.spack.io/api/a/adios2.json
|
|
- https://packages.spack.io/api/p/py-pandas.json
|
|
|
|
There is also the full index available at once under https://packages.spack.io/api/packages.json
|
|
|
|
Current down-stream dependencies are, e.g. the https://shields.io service:
|
|
|
|
- https://shields.io/category/version
|
|
- https://github.com/badges/shields/pull/3536
|
|
|
|
--------------------
|
|
Local Build and Test
|
|
--------------------
|
|
|
|
Execute in your local Spack source root directory:
|
|
|
|
.. code-block:: bash
|
|
|
|
docker build -t spack/packages.spack.io:latest -f share/spack/docker/package-index/Dockerfile .
|
|
|
|
Startup a local HTTP server on http://localhost:8080 via:
|
|
|
|
.. code-block:: bash
|
|
|
|
docker run -p 8080:80 spack/packages.spack.io:latest
|