From 07243682f20b90b06fa2b2dd4b8db250891bcabf Mon Sep 17 00:00:00 2001 From: John Mulligan Date: Wed, 26 Aug 2020 14:03:32 -0400 Subject: [PATCH] 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 --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 9d1e297..75197d1 100644 --- a/README.md +++ b/README.md @@ -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