databaseclaim

package
v1.10.3 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2025 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// FIXME: remove references to private variables
	OperationalStatusTagKey        string = "operational-status"
	OperationalStatusInactiveValue string = "inactive"
	OperationalStatusActiveValue   string = "active"
)
View Source
var (
	ErrMaxNameLen     = fmt.Errorf("dbclaim name is too long. max length is 44 characters")
	ErrInvalidDSNName = fmt.Errorf("dsn name must be: %s", v1.DSNKey)
)
View Source
var (
	ErrDoNotUpdateStatus = fmt.Errorf("do not update status for this error")
)

Functions

func HasOperationalTag

func HasOperationalTag(tags []*crossplaneaws.Tag) bool

func MakeDeepCopyToOldDB

func MakeDeepCopyToOldDB(to *v1.StatusForOldDB, from *v1.Status)

func NewRequestInfo added in v1.0.7

func NewRequestInfo(ctx context.Context, cfg *viper.Viper, dbClaim *v1.DatabaseClaim) (requestInfo, error)

NewRequestInfo creates a new requestInfo struct.

func ReplaceOrAddTag

func ReplaceOrAddTag(tags []*crossplaneaws.Tag, key string, value string) []*crossplaneaws.Tag

Types

type DBClaimTags

type DBClaimTags []persistancev1.Tag

func (DBClaimTags) DBTags

func (r DBClaimTags) DBTags() DBTags

func (DBClaimTags) Len

func (r DBClaimTags) Len() int

implementation of sort interface to allow canolicalization of tags

func (DBClaimTags) Less

func (r DBClaimTags) Less(i, j int) bool

func (DBClaimTags) Swap

func (r DBClaimTags) Swap(i, j int)

type DBTags

type DBTags []*crossplanerds.Tag

type DatabaseClaimConfig

type DatabaseClaimConfig struct {
	Viper                 *viper.Viper
	MasterAuth            *rdsauth.MasterAuth
	Class                 string
	Namespace             string
	MetricsEnabled        bool
	MetricsDepYamlPath    string
	MetricsConfigYamlPath string
}

DatabaseClaimConfig is the configuration for the DatabaseClaimReconciler.

type DatabaseClaimReconciler

type DatabaseClaimReconciler struct {
	client.Client
	Config *DatabaseClaimConfig
	// contains filtered or unexported fields
}

DatabaseClaimReconciler reconciles a DatabaseClaim object

func New added in v1.10.0

New returns a configured databaseclaim reconciler

func (*DatabaseClaimReconciler) ManageOperationalTagging

func (r *DatabaseClaimReconciler) ManageOperationalTagging(ctx context.Context, logr logr.Logger, dbInstanceName, dbParamGroupName string) (bool, error)

ManageOperationalTagging: Will update operational tags on old DBInstance, DBCluster, DBClusterParamGroup and DBParamGroup. It does not return error for DBCluster, DBClusterParamGroup and DBParamGroup if they fail to update tags. Such error is only logged, but not returned. In case of successful updation, It does not to verify whether those tags got updated.

Unlike other resources, It returns error just for DBinstance failling to update tags. It also verifies whether DBinstance got updated with the tag, and return the signal as boolean.

true: operational tag is updated and verfied.
false: operational tag is updated but could not be verified yet.

func (*DatabaseClaimReconciler) Reconcile

func (r *DatabaseClaimReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

Reconcile is the main reconciliation function for the DatabaseClaimReconciler.

type ModeEnum

type ModeEnum int
const (
	M_NotSupported ModeEnum = iota
	M_UseExistingDB
	M_MigrateExistingToNewDB
	M_MigrationInProgress
	M_UseNewDB
	M_InitiateDBUpgrade
	M_UpgradeDBInProgress
	M_PostMigrationInProgress
)

type StatusManager added in v1.10.3

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

func NewStatusManager added in v1.10.3

func NewStatusManager(c client.Client, viper *viper.Viper) *StatusManager

func (*StatusManager) ActiveDBSuccessReconcile added in v1.10.3

func (m *StatusManager) ActiveDBSuccessReconcile(ctx context.Context, dbClaim *v1.DatabaseClaim) (reconcile.Result, error)

ActiveDBSuccessReconcile clears the error status and determines if the DB version is explicitly defined.

func (*StatusManager) ClearError added in v1.10.3

func (m *StatusManager) ClearError(ctx context.Context, dbClaim *v1.DatabaseClaim) error

func (*StatusManager) MigrationInProgressStatus added in v1.10.3

func (m *StatusManager) MigrationInProgressStatus(ctx context.Context, dbClaim *v1.DatabaseClaim) (reconcile.Result, error)

func (*StatusManager) RemoveConditionByType added in v1.10.3

func (m *StatusManager) RemoveConditionByType(dbClaim *v1.DatabaseClaim, conditionType string)

func (*StatusManager) SetConditionAndUpdateStatus added in v1.10.3

func (m *StatusManager) SetConditionAndUpdateStatus(ctx context.Context, dbClaim *v1.DatabaseClaim, condition metav1.Condition) error

func (*StatusManager) SetError added in v1.10.3

func (m *StatusManager) SetError(ctx context.Context, dbClaim *v1.DatabaseClaim, inErr error) (reconcile.Result, error)

func (*StatusManager) SetStatusCondition added in v1.10.3

func (m *StatusManager) SetStatusCondition(ctx context.Context, dbClaim *v1.DatabaseClaim, condition metav1.Condition)

func (*StatusManager) SuccessAndUpdateCondition added in v1.10.3

func (m *StatusManager) SuccessAndUpdateCondition(ctx context.Context, dbClaim *v1.DatabaseClaim) (reconcile.Result, error)

func (*StatusManager) UpdateClusterStatus added in v1.10.3

func (m *StatusManager) UpdateClusterStatus(status *v1.Status, hostParams *hostparams.HostParams)

func (*StatusManager) UpdateDBStatus added in v1.10.3

func (m *StatusManager) UpdateDBStatus(status *v1.Status, dbName string)

func (*StatusManager) UpdateHostPortStatus added in v1.10.3

func (m *StatusManager) UpdateHostPortStatus(status *v1.Status, host string, port string, sslMode string)

func (*StatusManager) UpdateStatus added in v1.10.3

func (m *StatusManager) UpdateStatus(ctx context.Context, dbClaim *v1.DatabaseClaim) error

func (*StatusManager) UpdateUserStatus added in v1.10.3

func (m *StatusManager) UpdateUserStatus(status *v1.Status, reqInfo *requestInfo, userName string, userPassword string)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳