https://github.com/converged-computing/oras-csi
ORAS (OCI registry as storage) container storage interface
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.6%) to scientific vocabulary
Keywords
Repository
ORAS (OCI registry as storage) container storage interface
Basic Info
- Host: GitHub
- Owner: converged-computing
- License: mit
- Language: Go
- Default Branch: main
- Homepage: https://converged-computing.github.io/oras-csi/#/
- Size: 524 KB
Statistics
- Stars: 16
- Watchers: 4
- Forks: 4
- Open Issues: 7
- Releases: 0
Topics
Metadata Files
README.md
CSI ORAS Driver
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!
console
██████╗ ██████╗ █████╗ ███████╗ ██████╗███████╗██╗
██╔═══██╗██╔══██╗██╔══██╗██╔════╝ ██╔════╝██╔════╝██║
██║ ██║██████╔╝███████║███████╗█████╗██║ ███████╗██║
██║ ██║██╔══██╗██╔══██║╚════██║╚════╝██║ ╚════██║██║
╚██████╔╝██║ ██║██║ ██║███████║ ╚██████╗███████║██║
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚══════╝╚═╝
Background
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.
TODO
- [ ] add more kubernetes app labels?
- [ ] test with kind, write up tutorial (https issue too)
- [ ] add concept of cleanup (on level of CSIDriver and pod?)
- [ ] what about more customization to pull (e.g., pull if newer?)
- [ ] everything must be tested, with tested examples
- [ ] custom naming / locations for mount? Or should be handled by app?
- [ ] better levels / control for logging
Planning
These are ideas / features that would be nice to have:
- standards for defining assets and actions to take (e.g., copy this binary here, this directory here, get this annotation and do X, name this file Y)
- in addition to namespace, some other permissions / security features?
- ability to add pull secrets to artifacts
- an ability to specify conditions for cleaning up an artifact when the kubernetes pod / object is deleted
- Allow predictable naming for an artifact
This is a pretty good start for a quick prototype!
Thanks
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:
- csi-inline-volume
- moosefs-csi is what I used to learn and template the design here, also under an Apache 2.0 license. This is Copyright of Saglabs SA.
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
Owner
- Name: Converged Computing
- Login: converged-computing
- Kind: organization
- Website: https://converged-computing.org
- Repositories: 84
- Profile: https://github.com/converged-computing
The best of cloud and high performance computing: technology and community combined.
GitHub Events
Total
- Fork event: 1
Last Year
- Fork event: 1
Issues and Pull Requests
Last synced: almost 3 years ago
All Time
- Total issues: 7
- Total pull requests: 20
- Average time to close issues: 3 days
- Average time to close pull requests: 17 minutes
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 1.43
- Average comments per pull request: 0.35
- Merged pull requests: 18
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 7
- Pull requests: 20
- Average time to close issues: 3 days
- Average time to close pull requests: 17 minutes
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 1.43
- Average comments per pull request: 0.35
- Merged pull requests: 18
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- vsoch (5)
- sajayantony (2)
- BellaBijl (1)
- danielloader (1)
- dosmanak (1)
Pull Request Authors
- vsoch (13)
- sajayantony (5)
- qweeah (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
proxy.golang.org: github.com/converged-computing/oras-csi
- Homepage: https://github.com/converged-computing/oras-csi
- Documentation: https://pkg.go.dev/github.com/converged-computing/oras-csi#section-documentation
- License: MIT
-
Latest release: v0.0.0-20230418192413-fb7ec145f457
published almost 3 years ago