Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the postgres v1alpha1 API group +kubebuilder:object:generate=true +groupName=postgres.glints.com
Index ¶
- Variables
- type ObjectType
- type PostgresColumn
- type PostgresConfig
- type PostgresConfigList
- type PostgresConfigSpec
- type PostgresConfigStatus
- type PostgresGrant
- func (in *PostgresGrant) DeepCopy() *PostgresGrant
- func (in *PostgresGrant) DeepCopyInto(out *PostgresGrant)
- func (in *PostgresGrant) DeepCopyObject() runtime.Object
- func (g *PostgresGrant) IdentifiersForType(o ObjectType) []pgx.Identifier
- func (g *PostgresGrant) PrivilegesForType(o ObjectType) []string
- func (r *PostgresGrant) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *PostgresGrant) ValidateCreate() error
- func (r *PostgresGrant) ValidateDelete() error
- func (r *PostgresGrant) ValidateUpdate(old runtime.Object) error
- type PostgresGrantList
- type PostgresGrantSpec
- type PostgresGrantStatus
- type PostgresIdentifier
- type PostgresPublication
- type PostgresPublicationList
- type PostgresPublicationSpec
- type PostgresPublicationStatus
- type PostgresRef
- type PostgresTable
- type PostgresTableList
- type PostgresTableSpec
- type PostgresTableStatus
- type Publication
- type SecretRef
- type Table
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "postgres.glints.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 ObjectType ¶
type ObjectType string
const ( ObjectTypeTable ObjectType = "table" ObjectTypeSequence ObjectType = "sequence" ObjectTypeDatabase ObjectType = "database" ObjectTypeSchema ObjectType = "schema" ObjectTypeFunction ObjectType = "function" )
func (ObjectType) ValidPrivileges ¶
func (o ObjectType) ValidPrivileges() map[string]struct{}
type PostgresColumn ¶
type PostgresColumn struct { // Name of the column Name string `json:"name"` // DataType is the data type of the column DataType string `json:"dataType"` // Nullable determines whether the created column can be NULL Nullable bool `json:"nullable"` // PrimaryKey defines whether the column is part of the table's primary key PrimaryKey bool `json:"primaryKey"` }
PostgresColumn represents a column
func (*PostgresColumn) DeepCopy ¶
func (in *PostgresColumn) DeepCopy() *PostgresColumn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresColumn.
func (*PostgresColumn) DeepCopyInto ¶
func (in *PostgresColumn) DeepCopyInto(out *PostgresColumn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresConfig ¶
type PostgresConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresConfigSpec `json:"spec,omitempty"` Status PostgresConfigStatus `json:"status,omitempty"` }
PostgresConfig is the Schema for the postgresconfigs API
func (*PostgresConfig) DeepCopy ¶
func (in *PostgresConfig) DeepCopy() *PostgresConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresConfig.
func (*PostgresConfig) DeepCopyInto ¶
func (in *PostgresConfig) DeepCopyInto(out *PostgresConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresConfig) DeepCopyObject ¶
func (in *PostgresConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresConfigList ¶
type PostgresConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PostgresConfig `json:"items"` }
PostgresConfigList contains a list of PostgresConfig
func (*PostgresConfigList) DeepCopy ¶
func (in *PostgresConfigList) DeepCopy() *PostgresConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresConfigList.
func (*PostgresConfigList) DeepCopyInto ¶
func (in *PostgresConfigList) DeepCopyInto(out *PostgresConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresConfigList) DeepCopyObject ¶
func (in *PostgresConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresConfigSpec ¶
type PostgresConfigSpec struct { // PostgresRef is a reference to the PostgreSQL server to configure PostgresRef PostgresRef `json:"postgresRef"` // Publications is a list of publications to be created Publications []Publication `json:"publications,omitempty"` // Tables is a list of tables to be created Tables []Table `json:"table,omitempty"` }
PostgresConfigSpec defines the desired state of PostgresConfig
func (*PostgresConfigSpec) DeepCopy ¶
func (in *PostgresConfigSpec) DeepCopy() *PostgresConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresConfigSpec.
func (*PostgresConfigSpec) DeepCopyInto ¶
func (in *PostgresConfigSpec) DeepCopyInto(out *PostgresConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresConfigStatus ¶
type PostgresConfigStatus struct { // Configured indicates whether the target PostgreSQL server has been // successfully configured according to spec Configured bool `json:"configured"` }
PostgresConfigStatus defines the observed state of PostgresConfig
func (*PostgresConfigStatus) DeepCopy ¶
func (in *PostgresConfigStatus) DeepCopy() *PostgresConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresConfigStatus.
func (*PostgresConfigStatus) DeepCopyInto ¶
func (in *PostgresConfigStatus) DeepCopyInto(out *PostgresConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresGrant ¶
type PostgresGrant struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresGrantSpec `json:"spec,omitempty"` Status PostgresGrantStatus `json:"status,omitempty"` }
PostgresGrant is the Schema for the postgresgrants API
func (*PostgresGrant) DeepCopy ¶
func (in *PostgresGrant) DeepCopy() *PostgresGrant
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresGrant.
func (*PostgresGrant) DeepCopyInto ¶
func (in *PostgresGrant) DeepCopyInto(out *PostgresGrant)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresGrant) DeepCopyObject ¶
func (in *PostgresGrant) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PostgresGrant) IdentifiersForType ¶
func (g *PostgresGrant) IdentifiersForType(o ObjectType) []pgx.Identifier
IdentifiersForType returns the list of identifiers defined for a given object type within the grant. If the object type is invalid, nil is returned.
func (*PostgresGrant) PrivilegesForType ¶
func (g *PostgresGrant) PrivilegesForType(o ObjectType) []string
PrivilegesForType returns the list of privileges defined for a given object type within the grant. If the object type is invalid, nil is returned.
func (*PostgresGrant) SetupWebhookWithManager ¶
func (r *PostgresGrant) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*PostgresGrant) ValidateCreate ¶
func (r *PostgresGrant) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*PostgresGrant) ValidateDelete ¶
func (r *PostgresGrant) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*PostgresGrant) ValidateUpdate ¶
func (r *PostgresGrant) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type PostgresGrantList ¶
type PostgresGrantList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PostgresGrant `json:"items"` }
PostgresGrantList contains a list of PostgresGrant
func (*PostgresGrantList) DeepCopy ¶
func (in *PostgresGrantList) DeepCopy() *PostgresGrantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresGrantList.
func (*PostgresGrantList) DeepCopyInto ¶
func (in *PostgresGrantList) DeepCopyInto(out *PostgresGrantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresGrantList) DeepCopyObject ¶
func (in *PostgresGrantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresGrantSpec ¶
type PostgresGrantSpec struct { // PostgresRef is a reference to the PostgreSQL server to configure PostgresRef PostgresRef `json:"postgresRef"` // Role to grant privileges to Role string `json:"role"` // Tables is the list of tables to grant privileges for Tables []PostgresIdentifier `json:"tables,omitempty"` // TablePrivileges is the list of privileges to grant // Must be one of: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, ALL TablePrivileges []string `json:"tablePrivileges,omitempty"` // Sequences is the list of sequences to grant privileges for Sequences []PostgresIdentifier `json:"sequences,omitempty"` // SequencePrivileges is the list of privileges to grant // Must be one of: USAGE, SELECT, UPDATE, ALL SequencePrivileges []string `json:"sequencePrivileges,omitempty"` // Databases is the list of databases to grant privileges for Databases []string `json:"databases,omitempty"` // DatabasePrivileges is the list of privileges to grant // Must be one of: CREATE, CONNECT, TEMPORARY, TEMP, ALL DatabasePrivileges []string `json:"databasePrivileges,omitempty"` // Schemas is the list of schemas to grant privileges for Schemas []string `json:"schemas,omitempty"` // SchemaPrivileges is the list of privileges to grant // Must be one of: CREATE, USAGE, ALL SchemaPrivileges []string `json:"schemaPrivileges,omitempty"` // Functions is the list of functions to grant privileges for Functions []PostgresIdentifier `json:"functions,omitempty"` // FunctionPrivileges is the list of privileges to grant // Must be one of: EXECUTE, ALL FunctionPrivileges []string `json:"functionPrivileges,omitempty"` }
PostgresGrantSpec defines the desired state of PostgresGrant
func (*PostgresGrantSpec) DeepCopy ¶
func (in *PostgresGrantSpec) DeepCopy() *PostgresGrantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresGrantSpec.
func (*PostgresGrantSpec) DeepCopyInto ¶
func (in *PostgresGrantSpec) DeepCopyInto(out *PostgresGrantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresGrantStatus ¶
type PostgresGrantStatus struct { }
PostgresGrantStatus defines the observed state of PostgresGrant
func (*PostgresGrantStatus) DeepCopy ¶
func (in *PostgresGrantStatus) DeepCopy() *PostgresGrantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresGrantStatus.
func (*PostgresGrantStatus) DeepCopyInto ¶
func (in *PostgresGrantStatus) DeepCopyInto(out *PostgresGrantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresIdentifier ¶
type PostgresIdentifier struct { // Name is the name of the table Name string `json:"name"` // Schema is the name of the schema the table resides in Schema string `json:"schema"` }
PostgresIdentifier represents an identifier for a table, e.g. a pair of schema and table name.
func (*PostgresIdentifier) DeepCopy ¶
func (in *PostgresIdentifier) DeepCopy() *PostgresIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresIdentifier.
func (*PostgresIdentifier) DeepCopyInto ¶
func (in *PostgresIdentifier) DeepCopyInto(out *PostgresIdentifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresPublication ¶
type PostgresPublication struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresPublicationSpec `json:"spec,omitempty"` Status PostgresPublicationStatus `json:"status,omitempty"` }
PostgresPublication is the Schema for the postgrespublications API
func (*PostgresPublication) DeepCopy ¶
func (in *PostgresPublication) DeepCopy() *PostgresPublication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresPublication.
func (*PostgresPublication) DeepCopyInto ¶
func (in *PostgresPublication) DeepCopyInto(out *PostgresPublication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresPublication) DeepCopyObject ¶
func (in *PostgresPublication) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresPublicationList ¶
type PostgresPublicationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PostgresPublication `json:"items"` }
PostgresPublicationList contains a list of PostgresPublication
func (*PostgresPublicationList) DeepCopy ¶
func (in *PostgresPublicationList) DeepCopy() *PostgresPublicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresPublicationList.
func (*PostgresPublicationList) DeepCopyInto ¶
func (in *PostgresPublicationList) DeepCopyInto(out *PostgresPublicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresPublicationList) DeepCopyObject ¶
func (in *PostgresPublicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresPublicationSpec ¶
type PostgresPublicationSpec struct { // PostgresRef is a reference to the PostgreSQL server to configure PostgresRef PostgresRef `json:"postgresRef"` // Name is the name of the publication to create Name string `json:"name"` // Tables is the list of tables to include in the publication. If the list // is empty or omitted, publication is created for all tables Tables []PostgresIdentifier `json:"tables"` // Operations determines which DML operations will be published by the // publication to subscribers. The allowed operations are insert, update, // delete, and truncate. If left empty or omitted, all operations are // published Operations []string `json:"operations,omitempty"` }
PostgresPublicationSpec defines the desired state of PostgresPublication
func (*PostgresPublicationSpec) DeepCopy ¶
func (in *PostgresPublicationSpec) DeepCopy() *PostgresPublicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresPublicationSpec.
func (*PostgresPublicationSpec) DeepCopyInto ¶
func (in *PostgresPublicationSpec) DeepCopyInto(out *PostgresPublicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresPublicationStatus ¶
type PostgresPublicationStatus struct { }
PostgresPublicationStatus defines the observed state of PostgresPublication
func (*PostgresPublicationStatus) DeepCopy ¶
func (in *PostgresPublicationStatus) DeepCopy() *PostgresPublicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresPublicationStatus.
func (*PostgresPublicationStatus) DeepCopyInto ¶
func (in *PostgresPublicationStatus) DeepCopyInto(out *PostgresPublicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresRef ¶
type PostgresRef struct { // Host is the host of the PostgreSQL server to configure Host string `json:"host,omitempty"` // Port is the port of the PostgreSQL server to configure Port uint16 `json:"port,omitempty"` // Database is the name of the database to configure Database string `json:"database,omitempty"` // SecretRef is a reference to a secret in the same namespace that contains // credentials to authenticate against the PostgreSQL server SecretRef SecretRef `json:"secretRef"` // Variant is for specific database-as-a-service providers. Valid values // are: aiven, standard. The default value is "standard" Variant string `json:"variant,omitempty"` }
PostgresRef is a reference to a PostgreSQL server
func (*PostgresRef) DeepCopy ¶
func (in *PostgresRef) DeepCopy() *PostgresRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresRef.
func (*PostgresRef) DeepCopyInto ¶
func (in *PostgresRef) DeepCopyInto(out *PostgresRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresTable ¶
type PostgresTable struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresTableSpec `json:"spec,omitempty"` Status PostgresTableStatus `json:"status,omitempty"` }
PostgresTable is the Schema for the postgrestables API
func (*PostgresTable) DeepCopy ¶
func (in *PostgresTable) DeepCopy() *PostgresTable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresTable.
func (*PostgresTable) DeepCopyInto ¶
func (in *PostgresTable) DeepCopyInto(out *PostgresTable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresTable) DeepCopyObject ¶
func (in *PostgresTable) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresTableList ¶
type PostgresTableList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PostgresTable `json:"items"` }
PostgresTableList contains a list of PostgresTable
func (*PostgresTableList) DeepCopy ¶
func (in *PostgresTableList) DeepCopy() *PostgresTableList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresTableList.
func (*PostgresTableList) DeepCopyInto ¶
func (in *PostgresTableList) DeepCopyInto(out *PostgresTableList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresTableList) DeepCopyObject ¶
func (in *PostgresTableList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresTableSpec ¶
type PostgresTableSpec struct { // PostgresRef is a reference to the PostgreSQL server to configure PostgresRef PostgresRef `json:"postgresRef"` // Columns is the list of columns to be created Columns []PostgresColumn `json:"columns"` // Inherit fields from PostgresIdentifier PostgresIdentifier `json:""` }
PostgresTableSpec defines the desired state of PostgresTable
func (*PostgresTableSpec) DeepCopy ¶
func (in *PostgresTableSpec) DeepCopy() *PostgresTableSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresTableSpec.
func (*PostgresTableSpec) DeepCopyInto ¶
func (in *PostgresTableSpec) DeepCopyInto(out *PostgresTableSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresTableStatus ¶
type PostgresTableStatus struct { }
PostgresTableStatus defines the observed state of PostgresTable
func (*PostgresTableStatus) DeepCopy ¶
func (in *PostgresTableStatus) DeepCopy() *PostgresTableStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresTableStatus.
func (*PostgresTableStatus) DeepCopyInto ¶
func (in *PostgresTableStatus) DeepCopyInto(out *PostgresTableStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Publication ¶
type Publication struct { // Name is the name of the publication to create Name string `json:"name"` // Tables is the list of tables to include in the publication. If the list // is empty or omitted, publication is created for all tables Tables []PostgresIdentifier `json:"tables,omitempty"` // Operations determines which DML operations will be published by the // publication to subscribers. The allowed operations are insert, update, // delete, and truncate. If left empty or omitted, all operations are // published Operations []string `json:"operations,omitempty"` }
Publication represents a PUBLICATION https://www.postgresql.org/docs/current/sql-createpublication.html
func (*Publication) DeepCopy ¶
func (in *Publication) DeepCopy() *Publication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Publication.
func (*Publication) DeepCopyInto ¶
func (in *Publication) DeepCopyInto(out *Publication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretRef ¶
type SecretRef struct { // SecretName is the name of the secret. SecretName string `json:"secretName,omitempty"` // UsernameKey is the name of the key in the secret storing the username. // The default value is POSTGRES_USER. UsernameKey string `json:"usernameKey,omitempty"` // PasswordKey is the name of the key in the secret storing the password. // The default value is POSTGRES_PASSWORD. PasswordKey string `json:"passwordKey,omitempty"` }
SecretRef is a reference to a secret that exists in the same namespace.
func (*SecretRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Table ¶
type Table struct { // Columns is the list of columns to be created Columns []PostgresColumn `json:"columns"` // Inherit fields from PostgresIdentifier PostgresIdentifier `json:""` }
Table represents a table https://www.postgresql.org/docs/current/sql-createtable.html
func (*Table) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Table.
func (*Table) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.