go-ceph/rgw/admin
Sébastien Han 1a18c07193 rgw/admin: un-export mock client
We don't need to export the mock, the consumer will generate its own.
What really matters is to have an interface that consumer can mock it
desired. Reference: https://github.com/golang/go/wiki/CodeReviewComments#interfaces

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-22 10:24:57 +00:00
..
bucket_test.go rgw/admin: add quota support 2021-06-07 12:23:46 -04:00
bucket.go rgw/admin: use http verbs from the http package 2021-07-13 14:42:54 +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: add new error for SignatureDoesNotMatch 2021-06-07 12:23:46 -04:00
quota_test.go rgw/admin: add quota support 2021-06-07 12:23:46 -04:00
quota.go rgw/admin: use http verbs from the http package 2021-07-13 14:42:54 +00:00
radosgw_test.go rgw/admin: add quota support 2021-06-07 12:23:46 -04:00
radosgw.go rgw/admin: remove unnecessary type 2021-07-21 05:11:49 +00:00
README.md rgwadmin: add support for RadosGW Admin Ops API 2021-05-31 17:45:31 +02:00
usage_test.go rgwadmin: add support for RadosGW Admin Ops API 2021-05-31 17:45:31 +02:00
usage.go rgw/admin: use http verbs from the http package 2021-07-13 14:42:54 +00:00
user_test.go rgw/admin: un-export mock client 2021-07-22 10:24:57 +00:00
user.go rgw/admin: use http verbs from the http package 2021-07-13 14:42:54 +00:00
utils_test.go rgwadmin: add support for RadosGW Admin Ops API 2021-05-31 17:45:31 +02:00
utils.go rgw/admin: add quota support 2021-06-07 12:23:46 -04: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)
    }

    // To enable debug requests
    // co.Debug = true

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

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