Help us shape the future of Go! Take the 2026 Go Developer Survey

flypg

package
v0.1.100 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2023 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ReplicationManager = "repmgr"
	StolonManager      = "stolon"
)

Variables

View Source
var (
	Duration10s, _ = time.ParseDuration("10s")
	Duration15s, _ = time.ParseDuration("15s")
	CheckPathPg    = "/flycheck/pg"
	CheckPathRole  = "/flycheck/role"
	CheckPathVm    = "/flycheck/vm"
)

Functions

func CommandWithContext added in v0.0.367

func CommandWithContext(ctx context.Context, cmd *Command) context.Context

func ErrorStatus

func ErrorStatus(err error) int

Types

type Client

type Client struct {
	BaseURL string
	// contains filtered or unexported fields
}

func NewFromInstance

func NewFromInstance(address string, dialer agent.Dialer) *Client

NewFromInstance creates a new Client that targets a specific instance(address)

func (*Client) CreateDatabase

func (c *Client) CreateDatabase(ctx context.Context, name string) error

func (*Client) CreateUser

func (c *Client) CreateUser(ctx context.Context, name, password string, superuser bool) error

func (*Client) DatabaseExists

func (c *Client) DatabaseExists(ctx context.Context, name string) (bool, error)

func (*Client) DeleteDatabase

func (c *Client) DeleteDatabase(ctx context.Context, name string) error

func (Client) DeleteUser

func (c Client) DeleteUser(ctx context.Context, name string) error

func (*Client) Do

func (c *Client) Do(ctx context.Context, method, path string, in, out interface{}) error

func (*Client) DoPlaintext added in v0.1.94

func (c *Client) DoPlaintext(ctx context.Context, method, path string, in interface{}) (string, error)

func (*Client) Failover

func (c *Client) Failover(ctx context.Context) error

func (*Client) LegacyBounceHaproxy added in v0.0.510

func (c *Client) LegacyBounceHaproxy(ctx context.Context) error

func (*Client) LegacyDisableReadonly added in v0.0.510

func (c *Client) LegacyDisableReadonly(ctx context.Context) error

func (*Client) LegacyEnableReadonly added in v0.0.510

func (c *Client) LegacyEnableReadonly(ctx context.Context) error

func (*Client) LegacyStolonDBUid added in v0.0.510

func (c *Client) LegacyStolonDBUid(ctx context.Context) (*string, error)

func (*Client) LegacyStolonReplicationStats added in v0.0.510

func (c *Client) LegacyStolonReplicationStats(ctx context.Context) ([]ReplicationStat, error)

func (*Client) ListDatabases

func (c *Client) ListDatabases(ctx context.Context) ([]PostgresDatabase, error)

func (*Client) ListUsers

func (c *Client) ListUsers(ctx context.Context) ([]PostgresUser, error)

func (*Client) NewRequest

func (c *Client) NewRequest(path string, method string, in interface{}) (*http.Request, error)

func (*Client) NodeRole

func (c *Client) NodeRole(ctx context.Context) (string, error)

func (*Client) RestartNodePG

func (c *Client) RestartNodePG(ctx context.Context) error

func (*Client) SyncSettings added in v0.0.451

func (c *Client) SyncSettings(ctx context.Context) error

SyncSettings is specific to the repmgr/flex implementation.

func (*Client) UpdateSettings added in v0.0.438

func (c *Client) UpdateSettings(ctx context.Context, settings map[string]string) error

func (*Client) UserExists

func (c *Client) UserExists(ctx context.Context, name string) (bool, error)

func (*Client) ViewSettings added in v0.0.438

func (c *Client) ViewSettings(ctx context.Context, settings []string, manager string) (*PGSettings, error)

type Command added in v0.0.367

type Command struct {
	// contains filtered or unexported fields
}

func CommandFromContext added in v0.0.367

func CommandFromContext(ctx context.Context) *Command

func NewCommand added in v0.0.367

func NewCommand(ctx context.Context, app *api.AppCompact) (*Command, error)

func (*Command) ListEvents added in v0.1.1

func (pc *Command) ListEvents(ctx context.Context, leaderIP string, flagsName []string) error

func (*Command) UnregisterMember added in v0.0.451

func (pc *Command) UnregisterMember(ctx context.Context, leaderIP string, standbyIP string) error

func (*Command) UpdateSettings added in v0.0.367

func (pc *Command) UpdateSettings(ctx context.Context, leaderIp string, config map[string]string) error

type CommandResponse

type CommandResponse struct {
	Result bool   `json:"result"`
	Error  string `json:"error"`
}

type CreateClusterInput added in v0.0.367

type CreateClusterInput struct {
	AppName            string
	ConsulURL          string
	ImageRef           string
	InitialClusterSize int
	Organization       *api.Organization
	Password           string
	Region             string
	VolumeSize         *int
	VMSize             *api.VMSize
	SnapshotID         *string
	Manager            string
	Autostart          bool
	ScaleToZero        bool
	ForkFrom           string
}

type CreateDatabaseRequest

type CreateDatabaseRequest struct {
	Name string `json:"name"`
}

type CreateUserRequest

type CreateUserRequest struct {
	Username  string `json:"username"`
	Password  string `json:"password"`
	Superuser bool   `json:"superuser"`
}

type DatabaseListResponse

type DatabaseListResponse struct {
	Result []PostgresDatabase
}

type DeleteDatabaseRequest

type DeleteDatabaseRequest struct {
	Name string `json:"name"`
}

type DeleteUserRequest

type DeleteUserRequest struct {
	Username string `json:"username"`
}

type Error

type Error struct {
	StatusCode int
	Err        string `json:"error"`
}

func (*Error) Error

func (e *Error) Error() string

type FindDatabaseResponse

type FindDatabaseResponse struct {
	Result PostgresDatabase
}

type FindUserResponse

type FindUserResponse struct {
	Result PostgresUser
}

type GrantAccessRequest

type GrantAccessRequest struct {
	Database string `json:"database"`
	Username string `json:"username"`
}

type Launcher added in v0.0.367

type Launcher struct {
	// contains filtered or unexported fields
}

func NewLauncher added in v0.0.367

func NewLauncher(client *api.Client) *Launcher

func (*Launcher) LaunchMachinesPostgres added in v0.0.367

func (l *Launcher) LaunchMachinesPostgres(ctx context.Context, config *CreateClusterInput, detach bool) error

LaunchMachinesPostgres launches a postgres cluster using the machines runtime

type NodeRoleResponse

type NodeRoleResponse struct {
	Result string
}

type PGSetting

type PGSetting struct {
	Name           string   `json:"name,omitempty"`
	Setting        string   `json:"setting,omitempty"`
	VarType        string   `json:"vartype,omitempty"`
	MinVal         string   `json:"min_val,omitempty"`
	MaxVal         string   `json:"max_val,omitempty"`
	EnumVals       []string `json:"enumvals,omitempty"`
	Context        string   `json:"context,omitempty"`
	Unit           string   `json:"unit,omitempty"`
	Desc           string   `json:"short_desc,omitempty"`
	PendingChange  string   `json:"pending_change,omitempty"`
	PendingRestart bool     `json:"pending_restart,omitempty"`
}

type PGSettings

type PGSettings struct {
	Settings []PGSetting `json:"settings,omitempty"`
}

type PostgresDatabase

type PostgresDatabase struct {
	Name  string
	Users []string
}

type PostgresUser

type PostgresUser struct {
	Username  string
	Superuser bool
	Databases []string
}

type ReadonlyResponse added in v0.0.510

type ReadonlyResponse struct {
	Result bool
}

type ReplicationStat added in v0.0.510

type ReplicationStat struct {
	Name string `json:"name"`
	Diff int    `json:"diff"`
}

type ReplicationStatsResponse added in v0.0.510

type ReplicationStatsResponse struct {
	Result []ReplicationStat
}

type RestartResponse

type RestartResponse struct {
	Result string
}

type RevokeAccessRequest

type RevokeAccessRequest struct {
	Database string `json:"database"`
	Username string `json:"username"`
}

type SettingsViewResponse

type SettingsViewResponse struct {
	Result PGSettings
}

type StolonDBUidResponse added in v0.0.510

type StolonDBUidResponse struct {
	Result string
}

type UserListResponse

type UserListResponse struct {
	Result []PostgresUser
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL