Documentation ¶
Index ¶
- func New() (interface{}, error)
- func Run(apiTLSConfig *api.TLSConfig) error
- type MongoDB
- func (m *MongoDB) CreateUser(statements dbplugin.Statements, usernameConfig dbplugin.UsernameConfig, ...) (username string, password string, err error)
- func (m *MongoDB) RenewUser(statements dbplugin.Statements, username string, expiration time.Time) error
- func (m *MongoDB) RevokeUser(statements dbplugin.Statements, username string) error
- func (m *MongoDB) Type() (string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MongoDB ¶
type MongoDB struct { connutil.ConnectionProducer credsutil.CredentialsProducer }
MongoDB is an implementation of Database interface
func (*MongoDB) CreateUser ¶
func (m *MongoDB) CreateUser(statements dbplugin.Statements, usernameConfig dbplugin.UsernameConfig, expiration time.Time) (username string, password string, err error)
CreateUser generates the username/password on the underlying secret backend as instructed by the CreationStatement provided. The creation statement is a JSON blob that has a db value, and an array of roles that accepts a role, and an optional db value pair. This array will be normalized the format specified in the mongoDB docs: https://docs.mongodb.com/manual/reference/command/createUser/#dbcmd.createUser
JSON Example:
{ "db": "admin", "roles": [{ "role": "readWrite" }, {"role": "read", "db": "foo"}] }
func (*MongoDB) RenewUser ¶
func (m *MongoDB) RenewUser(statements dbplugin.Statements, username string, expiration time.Time) error
RenewUser is not supported on MongoDB, so this is a no-op.
func (*MongoDB) RevokeUser ¶
func (m *MongoDB) RevokeUser(statements dbplugin.Statements, username string) error
RevokeUser drops the specified user from the authentication databse. If none is provided in the revocation statement, the default "admin" authentication database will be assumed.