v1alpha4

package
v0.11.2 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2020 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

package v1alpha4 contains API Schema definitions for the databases v1alpha4 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/schemahero/schemahero/pkg/apis/databases +k8s:defaulter-gen=TypeMeta +groupName=databases.schemahero.io

package v1alpha4 contains API Schema definitions for the databases v1alpha4 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/schemahero/schemahero/pkg/apis/databases +k8s:defaulter-gen=TypeMeta +groupName=databases.schemahero.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "databases.schemahero.io", Version: "v1alpha4"}

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

	// AddToScheme is required by pkg/client/...
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource is required by pkg/client/listers/...

Types

type CockroachDBConnection

type CockroachDBConnection struct {
	URI ValueOrValueFrom `json:"uri,omitempty"`

	Host     ValueOrValueFrom `json:"host,omitempty"`
	Port     ValueOrValueFrom `json:"port,omitempty"`
	User     ValueOrValueFrom `json:"user,omitempty"`
	Password ValueOrValueFrom `json:"password,omitempty"`
	DBName   ValueOrValueFrom `json:"dbname,omitempty"`
	SSLMode  ValueOrValueFrom `json:"sslmode,omitempty"`
}

func (*CockroachDBConnection) DeepCopy

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

func (*CockroachDBConnection) DeepCopyInto

func (in *CockroachDBConnection) DeepCopyInto(out *CockroachDBConnection)

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

type Database

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

	Spec   DatabaseSpec   `json:"spec"`
	Status DatabaseStatus `json:"status,omitempty"`
}

Database is the Schema for the databases API +k8s:openapi-gen=true +kubebuilder:subresource:status

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.

func (*Database) DeepCopyObject

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

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

func (Database) GetConnection added in v0.10.0

func (d Database) GetConnection(ctx context.Context) (string, string, error)

func (*Database) GetVaultAnnotations

func (d *Database) GetVaultAnnotations() (map[string]string, error)

GetVaultAnnotations configures the required Vault annotations to work with Vault secret injection, or returns an error if the Database is misconfigured for Vault

func (Database) UsingVault

func (d Database) UsingVault() bool

UsingVault determines whether the specific Database connection is configured using a Vault secret

type DatabaseConnection

type DatabaseConnection struct {
	Postgres    *PostgresConnection    `json:"postgres,omitempty"`
	Mysql       *MysqlConnection       `json:"mysql,omitempty"`
	CockroachDB *CockroachDBConnection `json:"cockroachdb,omitempty"`
}

DatabaseConnection defines connection parameters for the database driver

func (*DatabaseConnection) DeepCopy

func (in *DatabaseConnection) DeepCopy() *DatabaseConnection

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

func (*DatabaseConnection) DeepCopyInto

func (in *DatabaseConnection) DeepCopyInto(out *DatabaseConnection)

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

type DatabaseList

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

DatabaseList contains a list of Database

func (*DatabaseList) DeepCopy

func (in *DatabaseList) DeepCopy() *DatabaseList

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

func (*DatabaseList) DeepCopyInto

func (in *DatabaseList) DeepCopyInto(out *DatabaseList)

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

func (*DatabaseList) DeepCopyObject

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

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

type DatabaseSpec

type DatabaseSpec struct {
	Connection         DatabaseConnection `json:"connection,omitempty"`
	EnableShellCommand bool               `json:"enableShellCommand,omitempty"`
	ImmediateDeploy    bool               `json:"immediateDeploy,omitempty"`
	SchemaHero         *SchemaHero        `json:"schemahero,omitempty"`
}

func (*DatabaseSpec) DeepCopy

func (in *DatabaseSpec) DeepCopy() *DatabaseSpec

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

func (*DatabaseSpec) DeepCopyInto

func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec)

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

type DatabaseStatus

type DatabaseStatus struct {
	IsConnected bool   `json:"isConnected"`
	LastPing    string `json:"lastPing"`
}

DatabaseStatus defines the observed state of Database

func (*DatabaseStatus) DeepCopy

func (in *DatabaseStatus) DeepCopy() *DatabaseStatus

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

func (*DatabaseStatus) DeepCopyInto

func (in *DatabaseStatus) DeepCopyInto(out *DatabaseStatus)

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

type MysqlConnection

type MysqlConnection struct {
	URI ValueOrValueFrom `json:"uri,omitempty"`

	Host     ValueOrValueFrom `json:"host,omitempty"`
	Port     ValueOrValueFrom `json:"port,omitempty"`
	User     ValueOrValueFrom `json:"user,omitempty"`
	Password ValueOrValueFrom `json:"password,omitempty"`
	DBName   ValueOrValueFrom `json:"dbname,omitempty"`
	// +kubebuilder:validation:Optional
	DisableTLS bool `json:"disableTLS"`

	DefaultCharset string `json:"defaultCharset,omitempty"`
	Collation      string `json:"collation,omitempty"`
}

func (*MysqlConnection) DeepCopy

func (in *MysqlConnection) DeepCopy() *MysqlConnection

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

func (*MysqlConnection) DeepCopyInto

func (in *MysqlConnection) DeepCopyInto(out *MysqlConnection)

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

type PostgresConnection

type PostgresConnection struct {
	URI ValueOrValueFrom `json:"uri,omitempty"`

	Host     ValueOrValueFrom `json:"host,omitempty"`
	Port     ValueOrValueFrom `json:"port,omitempty"`
	User     ValueOrValueFrom `json:"user,omitempty"`
	Password ValueOrValueFrom `json:"password,omitempty"`
	DBName   ValueOrValueFrom `json:"dbname,omitempty"`
	SSLMode  ValueOrValueFrom `json:"sslmode,omitempty"`
}

func (*PostgresConnection) DeepCopy

func (in *PostgresConnection) DeepCopy() *PostgresConnection

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

func (*PostgresConnection) DeepCopyInto

func (in *PostgresConnection) DeepCopyInto(out *PostgresConnection)

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

type SSM added in v0.10.0

type SSM struct {
	Name            string            `json:"name" yaml:"name"`
	WithDecryption  bool              `json:"withDecryption,omitempty" yaml:"withDecryption,omitempty"`
	Region          string            `json:"region,omitempty" yaml:"region,omitempty"`
	AccessKeyID     *ValueOrSecretRef `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty"`
	SecretAccessKey *ValueOrSecretRef `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty"`
}

func (*SSM) DeepCopy added in v0.10.0

func (in *SSM) DeepCopy() *SSM

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

func (*SSM) DeepCopyInto added in v0.10.0

func (in *SSM) DeepCopyInto(out *SSM)

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

type SchemaHero

type SchemaHero struct {
	Image        string            `json:"image,omitempty"`
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
}

func (*SchemaHero) DeepCopy

func (in *SchemaHero) DeepCopy() *SchemaHero

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

func (*SchemaHero) DeepCopyInto

func (in *SchemaHero) DeepCopyInto(out *SchemaHero)

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

type SecretKeyRef

type SecretKeyRef struct {
	Name string `json:"name" yaml:"name"`
	Key  string `json:"key" yaml:"key"`
}

func (*SecretKeyRef) DeepCopy

func (in *SecretKeyRef) DeepCopy() *SecretKeyRef

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

func (*SecretKeyRef) DeepCopyInto

func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef)

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

type ValueFrom

type ValueFrom struct {
	SecretKeyRef *SecretKeyRef `json:"secretKeyRef,omitempty" yaml:"secretKeyRef,omitempty"`
	Vault        *Vault        `json:"vault,omitempty" yaml:"vault,omitempty"`
	SSM          *SSM          `json:"ssm,omitempty" yaml:"ssm,omitempty"`
}

func (*ValueFrom) DeepCopy

func (in *ValueFrom) DeepCopy() *ValueFrom

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

func (*ValueFrom) DeepCopyInto

func (in *ValueFrom) DeepCopyInto(out *ValueFrom)

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

type ValueFromSecret added in v0.10.0

type ValueFromSecret struct {
	SecretKeyRef *SecretKeyRef `json:"secretKeyRef,omitempty" yaml:"secretKeyRef,omitempty"`
}

func (*ValueFromSecret) DeepCopy added in v0.10.0

func (in *ValueFromSecret) DeepCopy() *ValueFromSecret

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

func (*ValueFromSecret) DeepCopyInto added in v0.10.0

func (in *ValueFromSecret) DeepCopyInto(out *ValueFromSecret)

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

type ValueOrSecretRef added in v0.10.0

type ValueOrSecretRef struct {
	Value     string           `json:"value" yaml:"value"`
	ValueFrom *ValueFromSecret `json:"valueFrom,omitempty" yaml:"valueFrom,omitempty"`
}

func (*ValueOrSecretRef) DeepCopy added in v0.10.0

func (in *ValueOrSecretRef) DeepCopy() *ValueOrSecretRef

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

func (*ValueOrSecretRef) DeepCopyInto added in v0.10.0

func (in *ValueOrSecretRef) DeepCopyInto(out *ValueOrSecretRef)

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

type ValueOrValueFrom

type ValueOrValueFrom struct {
	Value     string     `json:"value,omitempty" yaml:"value,omitempty"`
	ValueFrom *ValueFrom `json:"valueFrom,omitempty" yaml:"valueFrom,omitempty"`
}

func (*ValueOrValueFrom) DeepCopy

func (in *ValueOrValueFrom) DeepCopy() *ValueOrValueFrom

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

func (*ValueOrValueFrom) DeepCopyInto

func (in *ValueOrValueFrom) DeepCopyInto(out *ValueOrValueFrom)

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

func (*ValueOrValueFrom) GetVaultDetails

func (v *ValueOrValueFrom) GetVaultDetails() (*Vault, error)

GetVaultDetails returns the configured Vault details for the ValueOrValueFrom, or returns error if Vault stanza is missing

func (*ValueOrValueFrom) HasVaultSecret

func (v *ValueOrValueFrom) HasVaultSecret() bool

HasVaultSecret returns true if the ValueOrValueFrom contains a Vault stanza

func (*ValueOrValueFrom) IsEmpty added in v0.10.2

func (v *ValueOrValueFrom) IsEmpty() bool

IsEmpty returns true if there is not a value in value and valuefrom

func (*ValueOrValueFrom) Read

func (v *ValueOrValueFrom) Read(clientset *kubernetes.Clientset, namespace string) (string, error)

type Vault

type Vault struct {
	AgentInject bool   `json:"agentInject,omitempty" yaml:"agentInject,omitempty"`
	Secret      string `json:"secret" yaml:"secret"`
	Role        string `json:"role" yaml:"role"`

	Endpoint                string `json:"endpoint,omitempty" yaml:"endpoint,omitempty"`
	ServiceAccount          string `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty"`
	ServiceAccountNamespace string `json:"serviceAccountNamespace,omitempty" yaml:"serviceAccountNamespace,omitempty"`
}

func (*Vault) DeepCopy

func (in *Vault) DeepCopy() *Vault

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

func (*Vault) DeepCopyInto

func (in *Vault) DeepCopyInto(out *Vault)

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