Determine if a container is fit for an environment using OCI artifacts
This tool is intended for the HPC community to assess the fit of an application container to a cloud environment.
We want to:
- Generate compatibility artifacts for a set of containers (from Dockerfile or URI).
- Generate node feature groups that can describe nodes in an HPC cluster, or a Kubernetes cluster.
- Assess how well a set of containers matches a node feature group
- 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.
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.
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