{"id":19076136,"url":"https://github.com/acalephstorage/grados","last_synced_at":"2026-06-19T19:32:26.906Z","repository":{"id":23379757,"uuid":"26741259","full_name":"AcalephStorage/grados","owner":"AcalephStorage","description":"[deprecated] Grados is a go library for communicating with Ceph RADOS","archived":false,"fork":false,"pushed_at":"2015-06-30T01:52:42.000Z","size":212,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-01-02T18:19:20.562Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"iizukanao/picam","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AcalephStorage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-17T05:18:27.000Z","updated_at":"2015-09-14T07:24:27.000Z","dependencies_parsed_at":"2022-08-21T23:31:20.957Z","dependency_job_id":null,"html_url":"https://github.com/AcalephStorage/grados","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcalephStorage%2Fgrados","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcalephStorage%2Fgrados/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcalephStorage%2Fgrados/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcalephStorage%2Fgrados/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AcalephStorage","download_url":"https://codeload.github.com/AcalephStorage/grados/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240127212,"owners_count":19751958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T01:57:17.736Z","updated_at":"2026-05-20T09:30:19.204Z","avatar_url":"https://github.com/AcalephStorage.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"grados\n======\n\nPackage grados is a go library for communicating with librados. This requires that the host machine this runs on has ceph\nand the librados library.\n\nUsage\n\nTo start communicating with ceph, a connection to a cluster needs to be established.\n\nConnect to the default cluster using the configuration found in /etc/ceph:\n\n        // connect to default cluster\n        cluster, err := rados.ConnectToDefaultCluster()\n\n        // disconnect from cluster\n        cluster.Shutdown()\n\n\nBasic pool operations can be done:\n\n        // create a pool\n        err := cluster.CreatePool(\"new_pool\")\n\n        // deletes a pool\n        err := cluster.DeletePool(\"new_pool\")\n\n        // manage a pool\n        pool, err := cluster.CreatePool(\"new_pool\")\n\n        // stop managing the pool\n        pool.Close()\n\nBasic object operations:\n\n        // manage an object\n        object := pool.ManageObject(\"object_name\")\n\n        // write to object\n        err := object.WriteFull(my_data_reader)\n\n        // read from an object\n        reader, err := object.Read(lengthToRead, offset)\n\n        // remove an object\n        err := object.Remove()\n\nAsync object operations:\n\n        // manage object asynchronously\n        asyncObject := pool.ManageObject(\"my_object\").AsyncMode(completeCallback, safeCallback, errCallback, \"arg1\", \"arg2\")\n\n        // async write\n        asyncObject.WriteFull(my_data_reader)\n\n        // async read. result will be stored in args.\n        asyncObject.Read(10, 0)\n\n        // async remove.\n        asyncObjet.Remove()\n\nOther features implemented are:\n - pool snapshots\n - managed-snapshots\n - read/write transactions\n - object extended attributes\n\nMissing implementation:\n - OMAP/TMAP operations (TODO)\n - class executions (TODO)\n - mon/osd/pg commands (necessary?)\n - watch/unwatch/notify objects (still looking for a way to do this)\n\n## More info [here](http://godoc.org/github.com/AcalephStorage/grados)\n\n_Still WIP_","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facalephstorage%2Fgrados","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facalephstorage%2Fgrados","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facalephstorage%2Fgrados/lists"}