GithubHelp home page GithubHelp logo

isabella232 / container-object-storage-interface-spec Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kubernetes-sigs/container-object-storage-interface-spec

0.0 0.0 0.0 399 KB

Container Object Storage Specification

License: Apache License 2.0

Shell 66.77% Makefile 19.75% Go 13.48%

container-object-storage-interface-spec's Introduction

version

Container Object Storage Interface Spec

This repository hosts the gRPC API for the Container Object Storage Interface (COSI) standard. The interfaces defined in the gRPC specification are meant to be the common interface for object storage provisioning and management across various object storage vendors.

For more information about the COSI effort, visit our documentation.

Why another standard?

Kubernetes abstracts file/block storage via the CSI standard. The primitives for file/block storage do not extend well to object storage. Here is the extremely concise and incomplete list of reasons why:

  • Unit of provisioned storage - Bucket instead of filesystem mount or block device.
  • Access is over the network instead of local POSIX calls.
  • No common protocol for consumption across various implementations of object storage.
  • Management policies and primitives - for instance, mounting and unmounting do not apply to object storage.

The existing primitives in CSI do not apply to objectstorage. Thus the need for a new standard to automate the management of objectstorage.

Developer Guide

All API definitions MUST satisfy the following requirements:

Build and Test

  1. cosi.proto is generated from the specification defined in spec.md

  2. In order to update the API, make changes to spec.md. Then, generate cosi.proto using:

# generates cosi.proto
make generate
  1. Clean and Build
# cleans up old build files
make clobber
# builds the go bindings
make
  1. Do it all in 1 step:
# generates cosi.proto and builds the go bindings
make all

References

Community, discussion, contribution, and support

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

container-object-storage-interface-spec's People

Contributors

brahmaroutu avatar k8s-ci-robot avatar krishchow avatar nikhita avatar somersbmatthews avatar wlan0 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.