v1alpha1

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the flyway v1alpha1 API group +kubebuilder:object:generate=true +groupName=flyway.davidkarlsen.com

Index

Constants

View Source
const (
	Prefix     = "flyway-operator.davidkarlsen.com"
	Generation = Prefix + "/" + "generation"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "flyway.davidkarlsen.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Database

type Database struct {
	// username for connecting to database
	// +kubebuilder:validation:Required
	Username string `json:"username"`

	// reference to a secret containing the password for connecting to database
	// +kubebuilder:validation:Required
	Credentials v1.SecretKeySelector `json:"credentials"`

	// the jdbcUrl to connect to database
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^jdbc:.*`
	JdbcUrl string `json:"jdbcUrl"`
}

Database defines the database-settings

func (*Database) DeepCopy

func (in *Database) DeepCopy() *Database

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Database.

func (*Database) DeepCopyInto

func (in *Database) DeepCopyInto(out *Database)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlywayConfiguration added in v0.1.8

type FlywayConfiguration struct {
	// Reference to the flyway image to use.
	// +kubebuilder:validation:Optional
	FlywayImage string `json:"flywayImage"`

	// The flyway actions to apply, like "info", "migrate"
	// See https://documentation.red-gate.com/fd/commands-184127446.html
	// +kubebuilder:default={"info", "migrate", "info"}
	Commands []string `json:"commands"`

	// The default flyway schema to use.
	// See https://documentation.red-gate.com/fd/default-schema-184127496.html
	// +kubebuilder:validation:Optional
	DefaultSchema *string `json:"defaultSchema"`

	// Base-line on migrate.
	// See https://documentation.red-gate.com/fd/baseline-on-migrate-224919695.html
	// +kubebuilder:validation:Optional
	BaselineOnMigrate *bool `json:"baselineOnMigrate"`

	// Arbitrary entries to set as env-vars to Flyway migration job.
	// +kubebuilder:validation:Optional
	EnvVars []v1.EnvVar `json:"envVars"`
}

func (*FlywayConfiguration) DeepCopy added in v0.1.8

func (in *FlywayConfiguration) DeepCopy() *FlywayConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlywayConfiguration.

func (*FlywayConfiguration) DeepCopyInto added in v0.1.8

func (in *FlywayConfiguration) DeepCopyInto(out *FlywayConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Migration

type Migration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Required
	Spec   MigrationSpec   `json:"spec,omitempty"`
	Status MigrationStatus `json:"status,omitempty"`
}

Migration is the Schema for the migrations API

func (*Migration) DeepCopy

func (in *Migration) DeepCopy() *Migration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Migration.

func (*Migration) DeepCopyInto

func (in *Migration) DeepCopyInto(out *Migration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Migration) DeepCopyObject

func (in *Migration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Migration) GenerationAsString added in v0.1.15

func (m *Migration) GenerationAsString() string

func (*Migration) GetConditions

func (m *Migration) GetConditions() []metav1.Condition

func (*Migration) GetCredentials

func (r *Migration) GetCredentials() v1.SecretReference

func (*Migration) IsPaused added in v0.1.12

func (m *Migration) IsPaused() bool

func (*Migration) SetConditions

func (m *Migration) SetConditions(conditions []metav1.Condition)

type MigrationList

type MigrationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Migration `json:"items"`
}

MigrationList contains a list of Migration

func (*MigrationList) DeepCopy

func (in *MigrationList) DeepCopy() *MigrationList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MigrationList.

func (*MigrationList) DeepCopyInto

func (in *MigrationList) DeepCopyInto(out *MigrationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MigrationList) DeepCopyObject

func (in *MigrationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MigrationSource

type MigrationSource struct {

	// Reference to the image holding the SQLs to migrate
	// +kubebuilder:validation:Required
	ImageRef string `json:"imageRef"`

	// Optional. Image-pull secret to pull the migration source
	// +kubebuilder:validation:Optional
	ImagePullSecrets []v1.LocalObjectReference `json:"ImagePullSecret"`

	// Path within the image to the SQLs for flyway
	// +kubebuilder:default="/sql"
	SqlPath string `json:"path"`

	// The encoding of the SQL-files.
	// +kubebuilder:default="UTF-8"
	Encoding string `json:"encoding"`

	// Flyway placeholders, see: https://documentation.red-gate.com/fd/placeholders-configuration-184127475.html
	// These will be injected as env-vars with the required prefix.
	// +kubebuilder:validation:Optional
	Placeholders map[string]string `json:"placeholders"`
}

MigrationSource defines the source for the flyway-migrations.

func (*MigrationSource) DeepCopy

func (in *MigrationSource) DeepCopy() *MigrationSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MigrationSource.

func (*MigrationSource) DeepCopyInto

func (in *MigrationSource) DeepCopyInto(out *MigrationSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MigrationSource) GetPlaceholdersAsEnvVars

func (r *MigrationSource) GetPlaceholdersAsEnvVars() []v1.EnvVar

type MigrationSpec

type MigrationSpec struct {
	// settings for database connection
	// +kubebuilder:validation:Required
	Database Database `json:"database"`

	// settings for flyway
	FlywayConfiguration FlywayConfiguration `json:"flywayConfiguration"`

	// settings defining the SQL migrations
	// +kubebuilder:validation:Required
	MigrationSource MigrationSource `json:"migrationSource"`
}

MigrationSpec defines the desired state of Migration

func (*MigrationSpec) DeepCopy

func (in *MigrationSpec) DeepCopy() *MigrationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MigrationSpec.

func (*MigrationSpec) DeepCopyInto

func (in *MigrationSpec) DeepCopyInto(out *MigrationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MigrationStatus

type MigrationStatus struct {
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

MigrationStatus defines the observed state of Migration

func (*MigrationStatus) DeepCopy

func (in *MigrationStatus) DeepCopy() *MigrationStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MigrationStatus.

func (*MigrationStatus) DeepCopyInto

func (in *MigrationStatus) DeepCopyInto(out *MigrationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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