Documentation
¶
Index ¶
- Constants
- func InterpretDBError(key string, err error) error
- func InterpretMysqlError(key string, err error) error
- func InterpretPostgresError(key string, err error) error
- func InterpretResourceDBError(cluster, name string, err error) error
- func NewCollectionResourceStorage(db *gorm.DB, cr *internal.CollectionResource) storage.CollectionResourceStorage
- func NewStorageFactory(configPath string) (storage.StorageFactory, error)
- type Bytes
- func (bytes Bytes) ConvertTo(codec runtime.Codec, object runtime.Object) (runtime.Object, error)
- func (bytes Bytes) ConvertToUnstructured() (*unstructured.Unstructured, error)
- func (bytes Bytes) GetResourceType() ResourceType
- func (bytes *Bytes) Scan(data any) error
- func (bytes Bytes) Value() (driver.Value, error)
- type BytesList
- type CollectionResourceStorage
- type Config
- type ConnPoolConfig
- type JSONQueryExpression
- func (jsonQuery *JSONQueryExpression) Build(builder clause.Builder)
- func (jsonQuery *JSONQueryExpression) Equal(value string) *JSONQueryExpression
- func (jsonQuery *JSONQueryExpression) Exist() *JSONQueryExpression
- func (jsonQuery *JSONQueryExpression) In(values ...string) *JSONQueryExpression
- func (jsonQuery *JSONQueryExpression) NotEqual(value string) *JSONQueryExpression
- func (jsonQuery *JSONQueryExpression) NotExist() *JSONQueryExpression
- func (jsonQuery *JSONQueryExpression) NotIn(values ...string) *JSONQueryExpression
- type LogConfig
- type MySQLConfig
- type Object
- type ObjectList
- type PostgresConfig
- type Resource
- type ResourceList
- type ResourceMetadata
- type ResourceMetadataList
- type ResourceStorage
- func (s *ResourceStorage) Create(ctx context.Context, cluster string, obj runtime.Object) error
- func (s *ResourceStorage) Delete(ctx context.Context, cluster string, obj runtime.Object) error
- func (s *ResourceStorage) Get(ctx context.Context, cluster, namespace, name string, into runtime.Object) error
- func (s *ResourceStorage) GetStorageConfig() *storage.ResourceStorageConfig
- func (s *ResourceStorage) List(ctx context.Context, listObject runtime.Object, opts *internal.ListOptions) error
- func (s *ResourceStorage) Update(ctx context.Context, cluster string, obj runtime.Object) error
- func (s *ResourceStorage) Watch(_ context.Context, _ *internal.ListOptions) (watch.Interface, error)
- type ResourceType
- type StorageFactory
- func (f *StorageFactory) CleanCluster(ctx context.Context, cluster string) error
- func (s *StorageFactory) CleanClusterResource(ctx context.Context, cluster string, gvr schema.GroupVersionResource) error
- func (s *StorageFactory) GetCollectionResources(ctx context.Context) ([]*internal.CollectionResource, error)
- func (f *StorageFactory) GetResourceVersions(ctx context.Context, cluster string) (map[schema.GroupVersionResource]map[string]interface{}, error)
- func (s *StorageFactory) GetSupportedRequestVerbs() []string
- func (s *StorageFactory) NewCollectionResourceStorage(cr *internal.CollectionResource) (storage.CollectionResourceStorage, error)
- func (s *StorageFactory) NewResourceStorage(config *storage.ResourceStorageConfig) (storage.ResourceStorage, error)
- func (s *StorageFactory) PrepareCluster(cluster string) error
Constants ¶
View Source
const ( CollectionResourceAny = "any" CollectionResourceWorkloads = "workloads" CollectionResourceKubeResources = "kuberesources" )
View Source
const ( URLQueryGroups = "groups" URLQueryResources = "resources" )
View Source
const ( SearchLabelFuzzyName = "internalstorage.clusterpedia.io/fuzzy-name" URLQueryWhereSQL = "whereSQL" )
View Source
const ( // AllowRawSQLQuery is a feature gate for the apiserver to allow querying by the raw sql. // // owner: @cleverhu // alpha: v0.3.0 AllowRawSQLQuery featuregate.Feature = "AllowRawSQLQuery" )
View Source
const (
StorageName = "internal"
)
Variables ¶
This section is empty.
Functions ¶
func InterpretDBError ¶ added in v0.4.0
func InterpretMysqlError ¶ added in v0.4.0
func InterpretPostgresError ¶ added in v0.4.0
func InterpretResourceDBError ¶ added in v0.4.0
func NewCollectionResourceStorage ¶ added in v0.3.0
func NewCollectionResourceStorage(db *gorm.DB, cr *internal.CollectionResource) storage.CollectionResourceStorage
func NewStorageFactory ¶
func NewStorageFactory(configPath string) (storage.StorageFactory, error)
Types ¶
type Bytes ¶ added in v0.4.0
func (Bytes) ConvertToUnstructured ¶ added in v0.4.0
func (bytes Bytes) ConvertToUnstructured() (*unstructured.Unstructured, error)
func (Bytes) GetResourceType ¶ added in v0.4.0
func (bytes Bytes) GetResourceType() ResourceType
type CollectionResourceStorage ¶
type CollectionResourceStorage struct {
// contains filtered or unexported fields
}
func (*CollectionResourceStorage) Get ¶
func (s *CollectionResourceStorage) Get(ctx context.Context, opts *internal.ListOptions) (*internal.CollectionResource, error)
type Config ¶
type Config struct {
Type string `env:"DB_TYPE" required:"true"`
DSN string `env:"DB_DSN"`
Network string `env:"DB_NETWORK"` // Network type, either tcp or unix, Default is tcp
Host string `env:"DB_HOST"` // TCP host:port or Unix socket depending on Network
Port string `env:"DB_PORT"`
User string `env:"DB_USER"`
Password string `env:"DB_PASSWORD"`
Database string `env:"DB_DATABASE"`
SSLMode string `yaml:"sslMode"`
CertFile string `yaml:"sslCertFile"`
KeyFile string `yaml:"sslKeyFile"`
RootCertFile string `yaml:"sslRootCertFile"`
ConnPool ConnPoolConfig `yaml:"connPool"`
MySQL *MySQLConfig `yaml:"mysql"`
Postgres *PostgresConfig `yaml:"postgres"`
Params map[string]string `yaml:"params"`
Log *LogConfig `yaml:"log"`
}
type ConnPoolConfig ¶ added in v0.3.0
type JSONQueryExpression ¶
type JSONQueryExpression struct {
// contains filtered or unexported fields
}
func JSONQuery ¶
func JSONQuery(column string, keys ...string) *JSONQueryExpression
func (*JSONQueryExpression) Build ¶
func (jsonQuery *JSONQueryExpression) Build(builder clause.Builder)
func (*JSONQueryExpression) Equal ¶
func (jsonQuery *JSONQueryExpression) Equal(value string) *JSONQueryExpression
func (*JSONQueryExpression) Exist ¶ added in v0.1.0
func (jsonQuery *JSONQueryExpression) Exist() *JSONQueryExpression
func (*JSONQueryExpression) In ¶
func (jsonQuery *JSONQueryExpression) In(values ...string) *JSONQueryExpression
func (*JSONQueryExpression) NotEqual ¶
func (jsonQuery *JSONQueryExpression) NotEqual(value string) *JSONQueryExpression
func (*JSONQueryExpression) NotExist ¶ added in v0.1.0
func (jsonQuery *JSONQueryExpression) NotExist() *JSONQueryExpression
func (*JSONQueryExpression) NotIn ¶
func (jsonQuery *JSONQueryExpression) NotIn(values ...string) *JSONQueryExpression
type MySQLConfig ¶
type MySQLConfig struct {
DialTimeout *time.Duration `yaml:"dialTimeout"`
ReadTimeout *time.Duration `yaml:"readTimeout"`
WriteTimeout *time.Duration `yaml:"writeTimeout"`
ServerPubKey *string `yaml:"serverPubKey"`
Loc *string `yaml:"loc"`
MaxAllowedPacket *int `yaml:"maxAllowedPacket"`
AllowAllFiles *bool `yaml:"allowAllFiles"` // Allow all files to be used with LOAD DATA LOCAL INFILE
AllowCleartextPasswords *bool `yaml:"allowCleartextPasswords"` // Allows the cleartext client side plugin
AllowNativePasswords *bool `yaml:"allowNativePasswords"` // Allows the native password authentication method
AllowOldPasswords *bool `yaml:"allowOldPasswords"` // Allows the old insecure password method
CheckConnLiveness *bool `yaml:"checkConnLiveness"` // Check connections for liveness before using them
ClientFoundRows *bool `yaml:"clientFoundRows"` // Return number of matching rows instead of rows changed
ColumnsWithAlias *bool `yaml:"columnsWithAlias"` // Prepend table alias to column names
InterpolateParams *bool `yaml:"interpolateParams"` // Interpolate placeholders into query string
MultiStatements *bool `yaml:"multiStatements"` // Allow multiple statements in one query
ParseTime *bool `yaml:"parseTime"` // Parse time values to time.Time
RejectReadOnly *bool `yaml:"rejectReadOnly"` // Reject read-only connections
RecoverableErrNumbers []int `yaml:"recoverableErrNumbers"`
}
type Object ¶ added in v0.3.0
type Object interface {
GetResourceType() ResourceType
ConvertToUnstructured() (*unstructured.Unstructured, error)
ConvertTo(codec runtime.Codec, object runtime.Object) (runtime.Object, error)
}
type ObjectList ¶ added in v0.3.0
type PostgresConfig ¶
type PostgresConfig struct {
RecoverableErrCodes []string `yaml:"recoverableErrCodes"`
}
type Resource ¶
type Resource struct {
ID uint `gorm:"primaryKey"`
Group string `` /* 171-byte string literal not displayed */
Version string `` /* 171-byte string literal not displayed */
Resource string `` /* 171-byte string literal not displayed */
Kind string `gorm:"size:63;not null"`
Cluster string `gorm:"size:253;not null;uniqueIndex:uni_group_version_resource_cluster_namespace_name,length:100;index:idx_cluster"`
Namespace string `` /* 144-byte string literal not displayed */
Name string `` /* 183-byte string literal not displayed */
OwnerUID types.UID `gorm:"column:owner_uid;size:36;not null;default:''"`
UID types.UID `gorm:"size:36;not null"`
ResourceVersion string `gorm:"size:30;not null"`
Object datatypes.JSON `gorm:"not null"`
CreatedAt time.Time `gorm:"not null"`
SyncedAt time.Time `gorm:"not null;autoUpdateTime"`
DeletedAt sql.NullTime
}
func (Resource) ConvertToUnstructured ¶ added in v0.3.0
func (res Resource) ConvertToUnstructured() (*unstructured.Unstructured, error)
func (Resource) GetResourceType ¶ added in v0.3.0
func (res Resource) GetResourceType() ResourceType
func (Resource) GroupVersionResource ¶
func (res Resource) GroupVersionResource() schema.GroupVersionResource
type ResourceList ¶ added in v0.3.0
type ResourceList []Resource
func (ResourceList) Items ¶ added in v0.3.0
func (list ResourceList) Items() []Object
type ResourceMetadata ¶ added in v0.3.0
type ResourceMetadata struct {
ResourceType `gorm:"embedded"`
Metadata datatypes.JSON
}
func (ResourceMetadata) ConvertToUnstructured ¶ added in v0.3.0
func (data ResourceMetadata) ConvertToUnstructured() (*unstructured.Unstructured, error)
func (ResourceMetadata) GetResourceType ¶ added in v0.3.0
func (data ResourceMetadata) GetResourceType() ResourceType
type ResourceMetadataList ¶ added in v0.3.0
type ResourceMetadataList []ResourceMetadata
func (*ResourceMetadataList) From ¶ added in v0.3.0
func (list *ResourceMetadataList) From(db *gorm.DB) error
func (ResourceMetadataList) Items ¶ added in v0.3.0
func (list ResourceMetadataList) Items() []Object
type ResourceStorage ¶
type ResourceStorage struct {
// contains filtered or unexported fields
}
func (*ResourceStorage) GetStorageConfig ¶
func (s *ResourceStorage) GetStorageConfig() *storage.ResourceStorageConfig
func (*ResourceStorage) List ¶
func (s *ResourceStorage) List(ctx context.Context, listObject runtime.Object, opts *internal.ListOptions) error
func (*ResourceStorage) Watch ¶ added in v0.6.0
func (s *ResourceStorage) Watch(_ context.Context, _ *internal.ListOptions) (watch.Interface, error)
type ResourceType ¶ added in v0.3.0
func (ResourceType) Empty ¶ added in v0.4.0
func (rt ResourceType) Empty() bool
func (ResourceType) GroupVersionResource ¶ added in v0.3.0
func (rt ResourceType) GroupVersionResource() schema.GroupVersionResource
type StorageFactory ¶
type StorageFactory struct {
// contains filtered or unexported fields
}
func (*StorageFactory) CleanCluster ¶
func (f *StorageFactory) CleanCluster(ctx context.Context, cluster string) error
func (*StorageFactory) CleanClusterResource ¶
func (s *StorageFactory) CleanClusterResource(ctx context.Context, cluster string, gvr schema.GroupVersionResource) error
func (*StorageFactory) GetCollectionResources ¶
func (s *StorageFactory) GetCollectionResources(ctx context.Context) ([]*internal.CollectionResource, error)
func (*StorageFactory) GetResourceVersions ¶
func (f *StorageFactory) GetResourceVersions(ctx context.Context, cluster string) (map[schema.GroupVersionResource]map[string]interface{}, error)
func (*StorageFactory) GetSupportedRequestVerbs ¶ added in v0.6.0
func (s *StorageFactory) GetSupportedRequestVerbs() []string
func (*StorageFactory) NewCollectionResourceStorage ¶
func (s *StorageFactory) NewCollectionResourceStorage(cr *internal.CollectionResource) (storage.CollectionResourceStorage, error)
func (*StorageFactory) NewResourceStorage ¶
func (s *StorageFactory) NewResourceStorage(config *storage.ResourceStorageConfig) (storage.ResourceStorage, error)
func (*StorageFactory) PrepareCluster ¶ added in v0.6.0
func (s *StorageFactory) PrepareCluster(cluster string) error
Click to show internal directories.
Click to hide internal directories.