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

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.0.tar.gz (17.1 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.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ocifit-0.0.0.tar.gz
  • Upload date:
  • Size: 17.1 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.0.tar.gz
Algorithm Hash digest
SHA256 632515b240d3c2a231063bdc5897367b82928f742308748827d94d57a596487f
MD5 8233df4d87ffafd22e6a024031d168b7
BLAKE2b-256 55906906cbbb8ad14af35d33d67d13e4dbb2a13dfee11c3beb9490d37f73d089

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ocifit-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e76bdffe98a5aadd83b367c4b5ea581bfca963c56ab0257cf7afb528f361ff84
MD5 15fd7d6a100af0ad9bc7f956c2340263
BLAKE2b-256 cb8828b566f32f2318c11d14e2cb069ca95e26a62d1319d9e0703d673e180722

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