This repository is a test to create a CSI driver into one that uses ORAS to generate a cluster-level cache of artifacts. Read about the use cases or jump in!
██████╗ ██████╗ █████╗ ███████╗ ██████╗███████╗██╗
██╔═══██╗██╔══██╗██╔══██╗██╔════╝ ██╔════╝██╔════╝██║
██║ ██║██████╔╝███████║███████╗█████╗██║ ███████╗██║
██║ ██║██╔══██╗██╔══██║╚════██║╚════╝██║ ╚════██║██║
╚██████╔╝██║ ██║██║ ██║███████║ ╚██████╗███████║██║
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚══════╝╚═╝
A CSI or "Container storage interface" is a standard plugin that we can instantiate to make it easy for others to use it in their Kubernetes clusters. At least, this is my current level of understanding. What I want to get working is an emphemeral, inline plugin that sits alongside a node and can keep a local cache of artifacts (e.g., containers or data) to be used between different pod runs (e.g., an indexed job).
For documentation, see our early docs folder.
These are ideas / features that would be nice to have:
This is a pretty good start for a quick prototype!
I looked at a lot of examples to figure out the basic architecture I wanted to use. Here are the ones that I liked the design for:
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