readme: add brief introduction to what go-ceph is

Like a lot of projects on github the readme didn't really explain what
go-ceph *is*. There is a very brief project description and if you're
clever you may know what "bindings" are. This short introduction should
help clarify and expand that for any newcomers to the project.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
John Mulligan 2020-08-26 14:03:32 -04:00 committed by John Mulligan
parent db01338d4a
commit 07243682f2
1 changed files with 15 additions and 0 deletions

View File

@ -2,6 +2,21 @@
[![Godoc](http://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/ceph/go-ceph) [![license](http://img.shields.io/badge/license-MIT-red.svg?style=flat)](https://raw.githubusercontent.com/ceph/go-ceph/master/LICENSE)
## Introduction
The go-ceph project is a collection of API bindings that support the use of
native Ceph APIs, which are C language functions, in Go. These bindings make
use of Go's cgo feature.
There are three main Go sub-packages that make up go-ceph:
* rados - exports functionality from Ceph's librados
* rbd - exports functionality from Ceph's librbd
* cephfs - exports functionality from Ceph's libcephfs
We aim to provide comprehensive support for the Ceph APIs over time. This
includes both I/O related functions and management functions. If your project
makes use of Ceph command line tools and is written in Go, you may be able to
switch away from shelling out to the CLI and to these native function calls.
## Installation
go get github.com/ceph/go-ceph