Skip to main content

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

Metadata

Release files for ocifit 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ocifit 0.0.1
File Size Uploaded
ocifit-0.0.1.tar.gz 19.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ocifit 0.0.1
File Interpreter ABI Platform
ocifit-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 42.9 kB

Release files / ocifit-0.0.1.tar.gz

Download URL ocifit-0.0.1.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
456da193352aa0b14f74d16d85bfc9b454f3c7ea8ffcc31b22086c63851296ba
BLAKE2b-256 checksum
How to use checksums
0ff5d189e6dc6836d989818601a577737113820c8949b8d9ac1a0e371251ca0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.2

Release files / ocifit-0.0.1-py3-none-any.whl

Download URL ocifit-0.0.1-py3-none-any.whl
Size 23.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1520304f8a04b1fd74a013042a70efb4820108b6fe6f4dfbfa64248de2a97eba
BLAKE2b-256 checksum
How to use checksums
2537ab08f8dc6fca8bcf5979308fbe293aa683bd595736e2af8e54a72af23596
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page