moco

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2020 License: MIT Imports: 0 Imported by: 0

README

GitHub release CircleCI GoDoc Go Report Card

MOCO

MOCO is a Kubernetes operator for MySQL. Its primary function is to manage a cluster of MySQL using binlog-based, semi-synchronous replication.

MOCO is designed for the following properties:

  • Durability
    • Do not lose any data under a given degree of faults.
  • Availability
    • Keep the MySQL cluster available under a given degree of faults.
  • Business Continuity
    • Perform a quick recovery if some failure is occurred.

Features

TBD

Supported MySQL versions

>=8.0.20

Documentation

docs directory contains documents about designs and specifications.

Docker images

Docker images are available on Quay.io

License

MOCO is licensed under MIT license.

Documentation

Index

Constants

View Source
const (
	// OperatorUser is a name of MOCO operator user in the MySQL context.
	OperatorUser = "moco"

	// OperatorAdminUser is a name of MOCO operator-admin user in the MySQL context.
	// This user is a super user especially for creating and granting privileges to other users.
	OperatorAdminUser = "moco-admin"

	// ReplicatorUser is a name of MOCO replicator user in the MySQL context.
	ReplicatorUser = "moco-repl"

	// DonorUser is a name of MOCO clone-donor user in the MySQL context.
	DonorUser = "moco-clone-donor"
)
View Source
const (
	// MySQLDataPath is a path for MySQL data dir.
	MySQLDataPath = "/var/lib/mysql"

	// MySQLConfPath is a path for MySQL conf dir.
	MySQLConfPath = "/etc/mysql"

	// MySQLConfName is a filename for MySQL conf.
	MySQLConfName = "my.cnf"

	// VarRunPath is a path for variable files which concerns MySQLd.
	VarRunPath = "/var/run/mysqld"

	// VarLogPath is a path for /var/log.
	VarLogPath = "/var/log"

	// TmpPath is a path for /tmp.
	TmpPath = "/tmp"
)
View Source
const (
	// PodNameEnvName is a name of the environment variable of a pod name.
	PodNameEnvName = "MYSQL_POD_NAME"

	// PodNameFlag is a name of the flag of a pod name.
	PodNameFlag = "pod-name"

	// PodIPEnvName is a name of the environment variable of a pod IP.
	PodIPEnvName = "MYSQL_POD_IP"

	// PodNameFlag is a name of the flag of a pod IP.
	PodIPFlag = "pod-ip"

	// RootPasswordEnvName is a name of the environment variable of a root password.
	RootPasswordEnvName = "MYSQL_ROOT_PASSWORD"

	// RootPasswordFlag is a name of the flag of a root password.
	RootPasswordFlag = "root-password"

	// OperatorPasswordEnvName is a name of the environment variable of a password for both operator and operator-admin.
	OperatorPasswordEnvName = "MYSQL_OPERATOR_PASSWORD"

	// OperatorPasswordFlag is a name of the flag of a password for both operator and operator-admin.
	OperatorPasswordFlag = "operator-password"
)

env names must correspond to options in entrypoint/init.go

View Source
const (
	// RootPasswordKey is a Secret key for root password.
	RootPasswordKey = "MYSQL_ROOT_PASSWORD"

	// OperatorPasswordKey is a Secret key for operator password.
	OperatorPasswordKey = "MYSQL_OPERATOR_PASSWORD"

	// ReplicationPasswordKey is a Secret key for operator replication password.
	ReplicationPasswordKey = "MYSQL_REPLICATION_PASSWORD"

	// DonorPasswordKey is a Secret key for operator donor password.
	DonorPasswordKey = "MYSQL_CLONE_DONOR_PASSWORD"
)
View Source
const (
	// Version is the MOCO version
	Version = "0.1.0"
)

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the moco v1alpha1 API group +kubebuilder:object:generate=true +groupName=moco.cybozu.com
Package v1alpha1 contains API Schema definitions for the moco v1alpha1 API group +kubebuilder:object:generate=true +groupName=moco.cybozu.com
cmd

Jump to

Keyboard shortcuts

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