Skip to main content

Extract and assess compatibility of container images

Project description

ocifit

Determine if a container is fit for an environment using OCI artifacts

PyPI version

This tool is intended for the HPC community to assess the fit of an application container to a cloud environment.

Design

We want to:

  1. Generate compatibility artifacts for a set of containers (from Dockerfile or URI).
  2. Generate node feature groups that can describe nodes in an HPC cluster, or a Kubernetes cluster.
  3. Assess how well a set of containers matches a node feature group
  4. Return a recommended list.

To start, I will use the Gemini API to take a Dockerfile or container URI and go up one level (parent) to derive software.

Development

Install dependencies and shell in:

pixi install
pixi shell

And export your GEMINI_TOKEN

export GEMINI_TOKEN=xxxxxxxxx

Then test against an image, optionally adding a uri to include.

ocifit compat --uri ghcr.io/converged-computing/lammps-reax:ubuntu2204 ./Dockerfile

Try using a different parser:

ocifit compat --uri ghcr.io/converged-computing/lammps-reax:ubuntu2204 ./Dockerfile --parser nfd

By default, parsed parent images are saved to a cache in ~/.ocifit. If you add --save and provide a URI with --uri, your image will be as well. Note that this currently doesn't parse into a proper artifact because we still need to think about how the key/value pairs will work.

License

HPCIC DevTools is distributed under the terms of the MIT license. All new contributions must be made under this license.

See LICENSE, COPYRIGHT, and NOTICE for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614

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

ocifit-0.0.1.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

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

ocifit-0.0.1-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file ocifit-0.0.1.tar.gz.

File metadata

  • Download URL: ocifit-0.0.1.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for ocifit-0.0.1.tar.gz
Algorithm Hash digest
SHA256 456da193352aa0b14f74d16d85bfc9b454f3c7ea8ffcc31b22086c63851296ba
MD5 586c8dadc24879f07aac98924aaa38e4
BLAKE2b-256 0ff5d189e6dc6836d989818601a577737113820c8949b8d9ac1a0e371251ca0d

See more details on using hashes here.

File details

Details for the file ocifit-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: ocifit-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for ocifit-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1520304f8a04b1fd74a013042a70efb4820108b6fe6f4dfbfa64248de2a97eba
MD5 3a04b5d036f70f3e28d09cdce7be959f
BLAKE2b-256 2537ab08f8dc6fca8bcf5979308fbe293aa683bd595736e2af8e54a72af23596

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