https://github.com/converged-computing/oras-csi

ORAS (OCI registry as storage) container storage interface

https://github.com/converged-computing/oras-csi

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

container-storage-interface csi kubernetes oci oras
Last synced: 6 months ago · JSON representation

Repository

ORAS (OCI registry as storage) container storage interface

Basic Info
Statistics
  • Stars: 16
  • Watchers: 4
  • Forks: 4
  • Open Issues: 7
  • Releases: 0
Topics
container-storage-interface csi kubernetes oci oras
Created almost 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Support

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

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
question (1)
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
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 8.1%
Dependent repos count: 9.3%
Average: 10.9%
Stargazers count: 12.6%
Forks count: 13.6%
Last synced: 6 months ago