go-ceph/rgw/admin
Anoop C S 936fc2deb1 rgw/admin: Add support for new /info section
Implement support for new /info AdminOps interface, which returns
a json record similar to:

{
  "info": {
    "storage_backends": [
      {
        "name":"rados",
        "cluster_id":"204a1415-0b03-4926-bf76-6aebd192a52d"
      }
    ]
  }
}

Co-authored-by: Anoop C S <anoopcs@cryptolab.net>
Co-authored-by: Sébastien Han <seb@redhat.com>
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2023-11-08 05:01:00 +00:00
..
bucket_quota_test.go rgw/admin: Make API.SetIndividualBucketQuota stable 2022-12-06 14:20:29 +00:00
bucket_quota.go rgw/admin: Make API.SetIndividualBucketQuota stable 2022-12-06 14:20:29 +00:00
bucket_test.go rgw/admin: fix getbucketpolicy api 2023-06-15 13:47:44 +00:00
bucket.go add tenant to bucket struct field 2023-08-24 10:28:16 +00:00
caps_test.go rgw/admin: Remove 'ceph_preview' tags from test files 2022-12-19 18:20:48 +00:00
caps.go rgw/admin: Clean up the parameter serialization 2022-03-17 17:47:25 +00:00
doc.go rgwadmin: add support for RadosGW Admin Ops API 2021-05-31 17:45:31 +02:00
errors_test.go rgwadmin: add support for RadosGW Admin Ops API 2021-05-31 17:45:31 +02:00
errors.go rgw/admin: Key create and delete api support 2022-08-01 18:13:46 +00:00
info.go rgw/admin: Add support for new /info section 2023-11-08 05:01:00 +00:00
keys_test.go rgw/admin: Make API.CreateKey and API.RemoveKey stable 2022-12-06 14:20:29 +00:00
keys.go rgw/admin: Make API.CreateKey and API.RemoveKey stable 2022-12-06 14:20:29 +00:00
link_test.go rgw/admin: Remove 'ceph_preview' tags from test files 2022-12-19 18:20:48 +00:00
link.go go-ceph: change mature preview APIs to stable 2022-08-16 11:42:41 +00:00
list_bucket_with_stats_test.go rgw/admin: Make API.ListBucketsWithStat stable 2023-06-08 17:35:55 +00:00
list_bucket_with_stats.go rgw/admin: Make API.ListBucketsWithStat stable 2023-06-08 17:35:55 +00:00
quota_test.go rgw/admin: remove Debug field from API type 2021-07-27 18:21:53 +02:00
quota.go rgw/admin: Individual bucket quota support 2022-08-01 18:13:46 +00:00
radosgw_test.go rgw admin: import testify suite as tsuite 2021-09-13 15:13:53 +00:00
radosgw.go rgw: remove refs to deprecated io/ioutil 2023-07-08 14:26:48 +00:00
README.md rgw/admin: correct example 2021-12-13 12:57:50 +00:00
subuser_test.go rgw: remove refs to deprecated io/ioutil 2023-07-08 14:26:48 +00:00
subuser.go go-ceph: change mature preview APIs to stable 2022-08-16 11:42:41 +00:00
usage_test.go rgw/admin: remove Debug field from API type 2021-07-27 18:21:53 +02:00
usage.go rgw/admin: Add missing uid member to usage struct 2023-03-20 07:09:27 +00:00
user_bucket_test.go rgw/admin: Make API.ListUserBuckets and API.ListUserBucketsWithStat stable 2022-12-06 14:20:29 +00:00
user_bucket.go rgw/admin: Make API.ListUserBuckets and API.ListUserBucketsWithStat stable 2022-12-06 14:20:29 +00:00
user_test.go rgw: remove refs to deprecated io/ioutil 2023-07-08 14:26:48 +00:00
user.go rgw/admin: Key create and delete api support 2022-08-01 18:13:46 +00:00
utils_test.go rgw/admin: Extend the testing of buildQueryPath 2022-03-17 17:47:25 +00:00
utils.go rgw/admin: Clean up the parameter serialization 2022-03-17 17:47:25 +00:00

Prerequisites

You must create an admin user like so:

radosgw-admin user create --uid admin --display-name "Admin User" --caps "buckets=*;users=*;usage=read;metadata=read;zone=read --access-key=2262XNX11FZRR44XWIRD --secret-key=rmtuS1Uj1bIC08QFYGW18GfSHAbkPqdsuYynNudw

Then use the access_key and secret_key for authentication.

Snippet usage example:

package main

import (
    "github.com/ceph/go-ceph/rgw/admin"
)

func main() {
    // Generate a connection object
    co, err := admin.New("http://192.168.1.1", "2262XNX11FZRR44XWIRD", "rmtuS1Uj1bIC08QFYGW18GfSHAbkPqdsuYynNudw", nil)
    if err != nil {
        panic(err)
    }

    // Get the "admin" user
    user, err := co.GetUser(context.Background(), admin.User{ID: "admin"})
    if err != nil {
        panic(err)
    }

    // Print the user display name
    fmt.Println(user.DisplayName)
}