Documentation
¶
Index ¶
- Constants
- func CreateDatabase(db Database, admin *DatabaseUser) error
- func CreateOrUpdateUser(db Database, dbuser *DatabaseUser, admin *DatabaseUser) error
- func CreateUser(db Database, dbuser *DatabaseUser, admin *DatabaseUser) error
- func DeleteDatabase(db Database, admin *DatabaseUser) error
- func DeleteUser(db Database, dbuser *DatabaseUser, admin *DatabaseUser) error
- func UpdateUser(db Database, dbuser *DatabaseUser, admin *DatabaseUser) error
- type AdminCredentials
- type Credentials
- type Database
- type DatabaseAddress
- type DatabaseUser
- type Dummy
- func (Dummy) CheckStatus(user *DatabaseUser) error
- func (Dummy) GetCredentials(user *DatabaseUser) Credentials
- func (Dummy) GetDatabaseAddress() DatabaseAddress
- func (Dummy) ParseAdminCredentials(data map[string][]byte) (*DatabaseUser, error)
- func (d Dummy) QueryAsUser(query string, user *DatabaseUser) (string, error)
- type Mysql
- func (m Mysql) CheckStatus(user *DatabaseUser) error
- func (m Mysql) GetCredentials(user *DatabaseUser) Credentials
- func (m Mysql) GetDatabaseAddress() DatabaseAddress
- func (m Mysql) ParseAdminCredentials(data map[string][]byte) (*DatabaseUser, error)
- func (m Mysql) QueryAsUser(query string, user *DatabaseUser) (string, error)
- type Postgres
- func (p Postgres) CheckStatus(user *DatabaseUser) error
- func (p Postgres) GetCredentials(user *DatabaseUser) Credentials
- func (p Postgres) GetDatabaseAddress() DatabaseAddress
- func (p Postgres) ParseAdminCredentials(data map[string][]byte) (*DatabaseUser, error)
- func (p Postgres) QueryAsUser(query string, user *DatabaseUser) (string, error)
Constants ¶
const ( DB_DUMMY_HOSTNAME = "hostname" DB_DUMMY_PORT = 1122 DBUSER_DUMMY_USERNAME = "username" DBUSER_DUMMY_PASSWORD = "qwertyu9" )
const ( ACCESS_TYPE_READONLY = "readOnly" ACCESS_TYPE_READWRITE = "readWrite" ACCESS_TYPE_MAINUSER = "main" )
Variables ¶
This section is empty.
Functions ¶
func CreateDatabase ¶ added in v1.13.0
func CreateDatabase(db Database, admin *DatabaseUser) error
CreateDatabase executes queries to create database
func CreateOrUpdateUser ¶ added in v1.13.0
func CreateOrUpdateUser(db Database, dbuser *DatabaseUser, admin *DatabaseUser) error
CreateOrUpdateUser executes queries to create or update user
func CreateUser ¶ added in v1.13.0
func CreateUser(db Database, dbuser *DatabaseUser, admin *DatabaseUser) error
CreateUser executes queries to a create user
func DeleteDatabase ¶ added in v1.13.0
func DeleteDatabase(db Database, admin *DatabaseUser) error
DeleteDatabase executes queries to delete database and user
func DeleteUser ¶ added in v1.13.0
func DeleteUser(db Database, dbuser *DatabaseUser, admin *DatabaseUser) error
func UpdateUser ¶ added in v1.13.0
func UpdateUser(db Database, dbuser *DatabaseUser, admin *DatabaseUser) error
Types ¶
type AdminCredentials ¶
AdminCredentials contains admin username and password of database server
type Credentials ¶
type Credentials struct { Name string Username string Password string TemplatedSecrets map[string]string }
Credentials contains credentials to connect database
type Database ¶
type Database interface { CheckStatus(user *DatabaseUser) error GetCredentials(user *DatabaseUser) Credentials ParseAdminCredentials(data map[string][]byte) (*DatabaseUser, error) GetDatabaseAddress() DatabaseAddress QueryAsUser(query string, user *DatabaseUser) (string, error) // contains filtered or unexported methods }
Database is interface for CRUD operate of different types of databases
type DatabaseAddress ¶
DatabaseAddress contains host and port of a database instance
type DatabaseUser ¶ added in v1.13.0
type DatabaseUser struct { Username string `yaml:"user"` Password string `yaml:"password"` AccessType string }
func NewDummyUser ¶ added in v1.15.0
func NewDummyUser(access string) *DatabaseUser
type Dummy ¶ added in v1.15.0
type Dummy struct {
Error error
}
Dummy is a database interface implementation for unit testing
func (Dummy) CheckStatus ¶ added in v1.15.0
func (Dummy) CheckStatus(user *DatabaseUser) error
CheckStatus implements Database.
func (Dummy) GetCredentials ¶ added in v1.15.0
func (Dummy) GetCredentials(user *DatabaseUser) Credentials
GetCredentials implements Database.
func (Dummy) GetDatabaseAddress ¶ added in v1.15.0
func (Dummy) GetDatabaseAddress() DatabaseAddress
GetDatabaseAddress implements Database.
func (Dummy) ParseAdminCredentials ¶ added in v1.15.0
func (Dummy) ParseAdminCredentials(data map[string][]byte) (*DatabaseUser, error)
ParseAdminCredentials implements Database.
func (Dummy) QueryAsUser ¶ added in v1.15.0
func (d Dummy) QueryAsUser(query string, user *DatabaseUser) (string, error)
QueryAsUser implements Database.
type Mysql ¶
type Mysql struct { Backend string Host string Port uint16 Database string SSLEnabled bool SkipCAVerify bool }
Mysql is a database interface, abstraced object represents a database on mysql instance can be used to execute query to mysql database
func (Mysql) CheckStatus ¶
func (m Mysql) CheckStatus(user *DatabaseUser) error
CheckStatus checks status of mysql database if the connection to database works
func (Mysql) GetCredentials ¶
func (m Mysql) GetCredentials(user *DatabaseUser) Credentials
GetCredentials returns credentials of the mysql database
func (Mysql) GetDatabaseAddress ¶
func (m Mysql) GetDatabaseAddress() DatabaseAddress
func (Mysql) ParseAdminCredentials ¶
func (m Mysql) ParseAdminCredentials(data map[string][]byte) (*DatabaseUser, error)
ParseAdminCredentials parse admin username and password of mysql database from secret data If "user" key is not defined, take "root" as admin user by default
func (Mysql) QueryAsUser ¶ added in v1.15.0
func (m Mysql) QueryAsUser(query string, user *DatabaseUser) (string, error)
type Postgres ¶
type Postgres struct { Backend string Host string Port uint16 Database string Monitoring bool Extensions []string SSLEnabled bool SkipCAVerify bool DropPublicSchema bool Schemas []string Template string // A user that is created with the Database // it's required to set default priveleges // for additional users MainUser *DatabaseUser }
Postgres is a database interface, abstraced object represents a database on postgres instance can be used to execute query to postgres database
func (Postgres) CheckStatus ¶
func (p Postgres) CheckStatus(user *DatabaseUser) error
CheckStatus checks status of postgres database if the connection to database works
func (Postgres) GetCredentials ¶
func (p Postgres) GetCredentials(user *DatabaseUser) Credentials
GetCredentials returns credentials of the postgres database
func (Postgres) GetDatabaseAddress ¶
func (p Postgres) GetDatabaseAddress() DatabaseAddress
func (Postgres) ParseAdminCredentials ¶
func (p Postgres) ParseAdminCredentials(data map[string][]byte) (*DatabaseUser, error)
ParseAdminCredentials parse admin username and password of postgres database from secret data If "user" key is not defined, take "postgres" as admin user by default
func (Postgres) QueryAsUser ¶ added in v1.15.0
func (p Postgres) QueryAsUser(query string, user *DatabaseUser) (string, error)