Documentation ¶
Index ¶
- func GetSecretWithValidation(secretID string, orgID uint, provider string) (*secret.SecretItemResponse, error)
- func IsProviderSupported(provider string) error
- func Migrate(db *gorm.DB, logger logrus.FieldLogger) error
- func NewObjectStore(ctx iProviders.ObjectStoreContext) (velero.ObjectStore, error)
- func NewObjectStoreGetter(ctx iProviders.ObjectStoreContext) (*objectStoreGetter, error)
- func ValidateCreateBucketRequest(req *api.CreateBucketRequest, org *auth.Organization) error
- type BackupsRepository
- func (r *BackupsRepository) DeleteBackupsNotInKeys(bucketID uint, keys []int) error
- func (r *BackupsRepository) DeleteBackupsWithoutBucket() error
- func (r *BackupsRepository) Find() (backups []*ClusterBackupsModel, err error)
- func (r *BackupsRepository) FindByClusterID(clusterID uint) (backups []*ClusterBackupsModel, err error)
- func (r *BackupsRepository) FindByPersistRequest(req *api.PersistBackupRequest) (*ClusterBackupsModel, error)
- func (r *BackupsRepository) FindOneByID(id uint) (*ClusterBackupsModel, error)
- func (r *BackupsRepository) FindOneByName(name string) (*ClusterBackupsModel, error)
- func (r *BackupsRepository) Persist(req *api.PersistBackupRequest) (backup ClusterBackupsModel, err error)
- func (r *BackupsRepository) UpdateStatus(backup *ClusterBackupsModel, status, message string) error
- type BackupsService
- func (s *BackupsService) DeleteBackupsWithoutBucket() error
- func (s *BackupsService) DeleteNonExistingBackupsByBucketAndKeys(bucketID uint, keys []int) error
- func (s *BackupsService) FindByPersistRequest(req *api.PersistBackupRequest) (*ClusterBackupsModel, error)
- func (s *BackupsService) GetByID(id uint) (*api.Backup, error)
- func (s *BackupsService) GetByName(name string) (*api.Backup, error)
- func (s *BackupsService) GetModelByID(id uint) (*ClusterBackupsModel, error)
- func (s *BackupsService) GetModelByName(name string) (*ClusterBackupsModel, error)
- func (s *BackupsService) List() ([]*api.Backup, error)
- func (s *BackupsService) ListForACluster(clusterID uint) ([]*api.Backup, error)
- func (s *BackupsService) Persist(req *api.PersistBackupRequest) (ClusterBackupsModel, error)
- type BucketsRepository
- func (s *BucketsRepository) Delete(bucket *ClusterBackupBucketsModel) error
- func (s *BucketsRepository) Find() (buckets []*ClusterBackupBucketsModel, err error)
- func (s *BucketsRepository) FindOneByID(id uint) (*ClusterBackupBucketsModel, error)
- func (s *BucketsRepository) FindOneByName(name string) (*ClusterBackupBucketsModel, error)
- func (s *BucketsRepository) FindOneByRequest(req api.FindBucketRequest) (*ClusterBackupBucketsModel, error)
- func (s *BucketsRepository) FindOneOrCreateByRequest(req *api.CreateBucketRequest) (*ClusterBackupBucketsModel, error)
- func (s *BucketsRepository) GetActiveDeploymentModel(bucket *ClusterBackupBucketsModel) (deployment ClusterBackupDeploymentsModel, err error)
- func (s *BucketsRepository) IsInUse(bucket *ClusterBackupBucketsModel) error
- func (s *BucketsRepository) UpdateStatus(bucket *ClusterBackupBucketsModel, status, message string) error
- type BucketsService
- func (s *BucketsService) DeleteByID(id uint) error
- func (s *BucketsService) DeleteByName(name string) error
- func (s *BucketsService) FindOrCreateBucket(req *api.CreateBucketRequest) (*ClusterBackupBucketsModel, error)
- func (s *BucketsService) GetActiveDeploymentModel(bucket *ClusterBackupBucketsModel) (ClusterBackupDeploymentsModel, error)
- func (s *BucketsService) GetBackupStore(bucket *api.Bucket) (persistence.BackupStore, error)
- func (s *BucketsService) GetBackupsFromObjectStore(bucket *api.Bucket) ([]*arkAPI.Backup, error)
- func (s *BucketsService) GetByID(id uint) (*api.Bucket, error)
- func (s *BucketsService) GetByName(name string) (*api.Bucket, error)
- func (s *BucketsService) GetByRequest(req api.FindBucketRequest) (*api.Bucket, error)
- func (s *BucketsService) GetModels() ([]*ClusterBackupBucketsModel, error)
- func (s *BucketsService) GetNodesFromBackupContents(bucket *api.Bucket, backupName string) (nodes core.NodeList, err error)
- func (s *BucketsService) IsBucketInUse(bucket *ClusterBackupBucketsModel) error
- func (s *BucketsService) List() ([]*api.Bucket, error)
- func (s *BucketsService) StreamBackupContentsFromObjectStore(bucket *api.Bucket, backupName string, w io.Writer) error
- func (s *BucketsService) StreamBackupLogsFromObjectStore(bucket *api.Bucket, backupName string, w io.Writer) error
- func (s *BucketsService) StreamRestoreLogsFromObjectStore(bucket *api.Bucket, backupName string, restoreName string, w io.Writer) error
- func (s *BucketsService) StreamRestoreResultsFromObjectStore(bucket *api.Bucket, backupName string, restoreName string, w io.Writer) error
- type ChartConfig
- type ClusterBackupBucketsModel
- type ClusterBackupDeploymentsModel
- type ClusterBackupRestoresModel
- func (restore *ClusterBackupRestoresModel) ConvertModelToEntity() *api.Restore
- func (restore *ClusterBackupRestoresModel) GetResults() *api.RestoreResults
- func (restore *ClusterBackupRestoresModel) GetState() *arkAPI.Restore
- func (restore *ClusterBackupRestoresModel) SetValuesFromRequest(req *api.PersistRestoreRequest) error
- func (ClusterBackupRestoresModel) TableName() string
- type ClusterBackupsModel
- type ClusterBackupsService
- type ConfigRequest
- type DeploymentsRepository
- func (s *DeploymentsRepository) Delete(deployment *ClusterBackupDeploymentsModel) error
- func (s *DeploymentsRepository) FindFirst() (*ClusterBackupDeploymentsModel, error)
- func (s *DeploymentsRepository) Persist(req *api.PersistDeploymentRequest) (*ClusterBackupDeploymentsModel, error)
- func (s *DeploymentsRepository) UpdateStatus(deployment *ClusterBackupDeploymentsModel, status, message string) error
- type DeploymentsService
- func (s *DeploymentsService) Activate(service api.Service, bucket *ClusterBackupBucketsModel, restoreMode bool, ...) error
- func (s *DeploymentsService) Deactivate(service api.Service) error
- func (s *DeploymentsService) Deploy(helmService HelmService, bucket *ClusterBackupBucketsModel, restoreMode bool, ...) error
- func (s *DeploymentsService) GetActiveDeployment() (*ClusterBackupDeploymentsModel, error)
- func (s *DeploymentsService) GetClient() (*client.Client, error)
- func (s *DeploymentsService) GetCluster() api.Cluster
- func (s *DeploymentsService) Remove(helmService HelmService) error
- type HelmService
- type HelmValueOverrides
- type Image
- type RestoresRepository
- func (r *RestoresRepository) Delete(restore *ClusterBackupRestoresModel) error
- func (r *RestoresRepository) Find() ([]*ClusterBackupRestoresModel, error)
- func (r *RestoresRepository) FindOneByID(id uint) (*ClusterBackupRestoresModel, error)
- func (r *RestoresRepository) FindOneByName(name string) (*ClusterBackupRestoresModel, error)
- func (r *RestoresRepository) Persist(req *api.PersistRestoreRequest) (restore ClusterBackupRestoresModel, err error)
- type RestoresService
- func (s *RestoresService) Create(req api.CreateRestoreRequest) (*api.Restore, error)
- func (s *RestoresService) DeleteByID(id uint) error
- func (s *RestoresService) DeleteByName(name string) error
- func (s *RestoresService) GetByID(id uint) (*api.Restore, error)
- func (s *RestoresService) GetByName(name string) (*api.Restore, error)
- func (s *RestoresService) GetModelByID(id uint) (*ClusterBackupRestoresModel, error)
- func (s *RestoresService) GetModelByName(name string) (*ClusterBackupRestoresModel, error)
- func (s *RestoresService) List() ([]*api.Restore, error)
- func (s *RestoresService) ListFromARK() ([]arkAPI.Restore, error)
- func (s *RestoresService) Persist(req *api.PersistRestoreRequest) (*api.Restore, error)
- type SchedulesService
- func (s *SchedulesService) CreateOrUpdateSchedule(backupRequest *api.CreateBackupRequest, schedule string) error
- func (s *SchedulesService) DeleteByName(name string) error
- func (s *SchedulesService) GetByName(name string) (*api.Schedule, error)
- func (s *SchedulesService) List() (schedules []*api.Schedule, err error)
- type Service
- func (s *Service) GetBackupsService() *BackupsService
- func (s *Service) GetBucketsService() *BucketsService
- func (s *Service) GetCluster() api.Cluster
- func (s *Service) GetClusterBackupsService() *ClusterBackupsService
- func (s *Service) GetDB() *gorm.DB
- func (s *Service) GetDeploymentsService() *DeploymentsService
- func (s *Service) GetOrganization() *auth.Organization
- func (s *Service) GetRestoresService() *RestoresService
- func (s *Service) GetSchedulesService() *SchedulesService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetSecretWithValidation ¶
func GetSecretWithValidation(secretID string, orgID uint, provider string) (*secret.SecretItemResponse, error)
GetSecretWithValidation gives back a secret response with validation
func IsProviderSupported ¶
IsProviderSupported checks whether the given provider is supported
func Migrate ¶
func Migrate(db *gorm.DB, logger logrus.FieldLogger) error
Migrate executes the table migrations for Ark.
func NewObjectStore ¶
func NewObjectStore(ctx iProviders.ObjectStoreContext) (velero.ObjectStore, error)
NewObjectStore gets a initialized ObjectStore for the given provider
func NewObjectStoreGetter ¶
func NewObjectStoreGetter(ctx iProviders.ObjectStoreContext) (*objectStoreGetter, error)
func ValidateCreateBucketRequest ¶
func ValidateCreateBucketRequest(req *api.CreateBucketRequest, org *auth.Organization) error
ValidateCreateBucketRequest validates a CreateBucketRequest
Types ¶
type BackupsRepository ¶
type BackupsRepository struct {
// contains filtered or unexported fields
}
BackupsRepository describes a repository for storing backups
func NewBackupsRepository ¶
func NewBackupsRepository(org *auth.Organization, db *gorm.DB, logger logrus.FieldLogger) *BackupsRepository
NewBackupsRepository returns a new BackupsRepository instance
func (*BackupsRepository) DeleteBackupsNotInKeys ¶
func (r *BackupsRepository) DeleteBackupsNotInKeys(bucketID uint, keys []int) error
DeleteBackupsNotInKeys deletes ClusterBackupsModel if their ID not in keys
func (*BackupsRepository) DeleteBackupsWithoutBucket ¶
func (r *BackupsRepository) DeleteBackupsWithoutBucket() error
DeleteBackupsWithoutBucket deletes backups from DB if their bucket is removed
func (*BackupsRepository) Find ¶
func (r *BackupsRepository) Find() (backups []*ClusterBackupsModel, err error)
Find returns ClusterBackupsModel instances
func (*BackupsRepository) FindByClusterID ¶
func (r *BackupsRepository) FindByClusterID(clusterID uint) (backups []*ClusterBackupsModel, err error)
Find returns ClusterBackupsModel instances
func (*BackupsRepository) FindByPersistRequest ¶
func (r *BackupsRepository) FindByPersistRequest(req *api.PersistBackupRequest) ( *ClusterBackupsModel, error, )
FindByPersistRequest returns a ClusterBackupsModel by PersistBackupRequest
func (*BackupsRepository) FindOneByID ¶
func (r *BackupsRepository) FindOneByID(id uint) (*ClusterBackupsModel, error)
FindOneByID returns a ClusterBackupsModel instance by ID
func (*BackupsRepository) FindOneByName ¶
func (r *BackupsRepository) FindOneByName(name string) (*ClusterBackupsModel, error)
FindOneByName returns a ClusterBackupsModel instance by name
func (*BackupsRepository) Persist ¶
func (r *BackupsRepository) Persist(req *api.PersistBackupRequest) (backup ClusterBackupsModel, err error)
Persist persist ClusterBackupsModel from PersistBackupRequest
func (*BackupsRepository) UpdateStatus ¶
func (r *BackupsRepository) UpdateStatus(backup *ClusterBackupsModel, status, message string) error
UpdateStatus updates ClusterBackupsModel status and statusMessage fields
type BackupsService ¶
type BackupsService struct {
// contains filtered or unexported fields
}
BackupsService is for backups related ARK functions
func BackupsServiceFactory ¶
func BackupsServiceFactory(org *auth.Organization, db *gorm.DB, logger logrus.FieldLogger) *BackupsService
BackupsServiceFactory creates and returns an initialized BackupsService instance
func NewBackupsService ¶
func NewBackupsService( org *auth.Organization, repository *BackupsRepository, logger logrus.FieldLogger, ) *BackupsService
NewBackupsService creates and returns an initialized BackupsService instance
func (*BackupsService) DeleteBackupsWithoutBucket ¶
func (s *BackupsService) DeleteBackupsWithoutBucket() error
DeleteBackupsWithoutBucket deletes backups from DB if their bucket is removed
func (*BackupsService) DeleteNonExistingBackupsByBucketAndKeys ¶
func (s *BackupsService) DeleteNonExistingBackupsByBucketAndKeys(bucketID uint, keys []int) error
DeleteNonExistingBackupsByBucketAndKeys deletes ClusterBackupsModel if their ID not in keys
func (*BackupsService) FindByPersistRequest ¶
func (s *BackupsService) FindByPersistRequest(req *api.PersistBackupRequest) (*ClusterBackupsModel, error)
FindByPersistRequest returns a ClusterBackupsModel by PersistBackupRequest
func (*BackupsService) GetByID ¶
func (s *BackupsService) GetByID(id uint) (*api.Backup, error)
GetByID returns a Backup instance by ID
func (*BackupsService) GetByName ¶
func (s *BackupsService) GetByName(name string) (*api.Backup, error)
GetByName returns a Backup instance by name
func (*BackupsService) GetModelByID ¶
func (s *BackupsService) GetModelByID(id uint) (*ClusterBackupsModel, error)
GetModelByID returns a ClusterBackupsModel instance by ID
func (*BackupsService) GetModelByName ¶
func (s *BackupsService) GetModelByName(name string) (*ClusterBackupsModel, error)
GetModelByName returns a ClusterBackupsModel instance by name
func (*BackupsService) List ¶
func (s *BackupsService) List() ([]*api.Backup, error)
List returns Backup instances
func (*BackupsService) ListForACluster ¶
func (s *BackupsService) ListForACluster(clusterID uint) ([]*api.Backup, error)
List returns Backup instances for a given cluster
func (*BackupsService) Persist ¶
func (s *BackupsService) Persist(req *api.PersistBackupRequest) (ClusterBackupsModel, error)
Persist persist ClusterBackupsModel from PersistBackupRequest
type BucketsRepository ¶
type BucketsRepository struct {
// contains filtered or unexported fields
}
BucketsRepository descibes a repository for storing ARK backup buckets
func NewBucketsRepository ¶
func NewBucketsRepository(org *auth.Organization, db *gorm.DB, logger logrus.FieldLogger) *BucketsRepository
NewBucketsRepository returns a new BucketsRepository instance
func (*BucketsRepository) Delete ¶
func (s *BucketsRepository) Delete(bucket *ClusterBackupBucketsModel) error
Delete deletes a ClusterBackupBucketsModel
func (*BucketsRepository) Find ¶
func (s *BucketsRepository) Find() (buckets []*ClusterBackupBucketsModel, err error)
Find returns ClusterBackupBucketsModel instances
func (*BucketsRepository) FindOneByID ¶
func (s *BucketsRepository) FindOneByID(id uint) (*ClusterBackupBucketsModel, error)
FindOneByID returns a ClusterBackupBucketsModel instance by ID
func (*BucketsRepository) FindOneByName ¶
func (s *BucketsRepository) FindOneByName(name string) (*ClusterBackupBucketsModel, error)
FindOneByName returns a ClusterBackupBucketsModel instance by name
func (*BucketsRepository) FindOneByRequest ¶
func (s *BucketsRepository) FindOneByRequest(req api.FindBucketRequest) (*ClusterBackupBucketsModel, error)
FindOneByRequest finds a ClusterBackupBucketsModel by a FindBucketRequest
func (*BucketsRepository) FindOneOrCreateByRequest ¶
func (s *BucketsRepository) FindOneOrCreateByRequest(req *api.CreateBucketRequest) (*ClusterBackupBucketsModel, error)
FindOneOrCreateByRequest finds or creates a ClusterBackupBucketsModel by a CreateBucketRequest
func (*BucketsRepository) GetActiveDeploymentModel ¶
func (s *BucketsRepository) GetActiveDeploymentModel(bucket *ClusterBackupBucketsModel) ( deployment ClusterBackupDeploymentsModel, err error, )
GetActiveDeploymentModel gets the active ARK deployment, if any
func (*BucketsRepository) IsInUse ¶
func (s *BucketsRepository) IsInUse(bucket *ClusterBackupBucketsModel) error
IsInUse checks whether a ClusterBackupBucketsModel is used in an active ARK deployment
func (*BucketsRepository) UpdateStatus ¶
func (s *BucketsRepository) UpdateStatus(bucket *ClusterBackupBucketsModel, status, message string) error
UpdateStatus updates the status of a ClusterBackupBucketsModel
type BucketsService ¶
type BucketsService struct {
// contains filtered or unexported fields
}
BucketsService is for buckets related ARK functions
func BucketsServiceFactory ¶
func BucketsServiceFactory(org *auth.Organization, db *gorm.DB, logger logrus.FieldLogger) *BucketsService
BucketsServiceFactory creates and returns an initialized BucketsService instance
func NewBucketsService ¶
func NewBucketsService( org *auth.Organization, repository *BucketsRepository, logger logrus.FieldLogger, ) *BucketsService
NewBucketsService creates and returns an initialized BucketsService instance
func (*BucketsService) DeleteByID ¶
func (s *BucketsService) DeleteByID(id uint) error
DeleteByName deletes a Bucket by ID
func (*BucketsService) DeleteByName ¶
func (s *BucketsService) DeleteByName(name string) error
DeleteByName deletes a Bucket by name
func (*BucketsService) FindOrCreateBucket ¶
func (s *BucketsService) FindOrCreateBucket(req *api.CreateBucketRequest) (*ClusterBackupBucketsModel, error)
FindOrCreateBucket finds or create a new ClusterBackupBucketsModel by a CreateBucketRequest
func (*BucketsService) GetActiveDeploymentModel ¶
func (s *BucketsService) GetActiveDeploymentModel(bucket *ClusterBackupBucketsModel) ( ClusterBackupDeploymentsModel, error, )
GetActiveDeploymentModel gets the active ARK ClusterBackupDeploymentsModel
func (*BucketsService) GetBackupStore ¶
func (s *BucketsService) GetBackupStore(bucket *api.Bucket) (persistence.BackupStore, error)
GetBackupStore create an initialized BackupStore
func (*BucketsService) GetBackupsFromObjectStore ¶
GetBackupsFromObjectStore gets Backups from object store bucket
func (*BucketsService) GetByID ¶
func (s *BucketsService) GetByID(id uint) (*api.Bucket, error)
GetByID gets a Bucket by an id
func (*BucketsService) GetByName ¶
func (s *BucketsService) GetByName(name string) (*api.Bucket, error)
GetByName gets a Bucket by name
func (*BucketsService) GetByRequest ¶
func (s *BucketsService) GetByRequest(req api.FindBucketRequest) (*api.Bucket, error)
GetByRequest finds a Bucket by a FindBucketRequest
func (*BucketsService) GetModels ¶
func (s *BucketsService) GetModels() ([]*ClusterBackupBucketsModel, error)
GetModels gets ClusterBackupBucketsModels
func (*BucketsService) GetNodesFromBackupContents ¶
func (s *BucketsService) GetNodesFromBackupContents(bucket *api.Bucket, backupName string) ( nodes core.NodeList, err error, )
GetNodesFromBackupContents gets core.NodeList from a backup in an object store bucket
func (*BucketsService) IsBucketInUse ¶
func (s *BucketsService) IsBucketInUse(bucket *ClusterBackupBucketsModel) error
IsBucketInUse check whether a ClusterBackupBucketsModel is used in an active ARK deployment
func (*BucketsService) List ¶
func (s *BucketsService) List() ([]*api.Bucket, error)
List gets all Buckets
func (*BucketsService) StreamBackupContentsFromObjectStore ¶
func (s *BucketsService) StreamBackupContentsFromObjectStore( bucket *api.Bucket, backupName string, w io.Writer, ) error
StreamBackupContentsFromObjectStore streams a backup contents from object store to the given io.Writer
func (*BucketsService) StreamBackupLogsFromObjectStore ¶
func (s *BucketsService) StreamBackupLogsFromObjectStore( bucket *api.Bucket, backupName string, w io.Writer, ) error
StreamBackupLogsFromObjectStore streams a backup logs from object store to the given io.Writer
func (*BucketsService) StreamRestoreLogsFromObjectStore ¶
func (s *BucketsService) StreamRestoreLogsFromObjectStore( bucket *api.Bucket, backupName string, restoreName string, w io.Writer, ) error
StreamRestoreLogsFromObjectStore streams a restore logs from object store to the given io.Writer
func (*BucketsService) StreamRestoreResultsFromObjectStore ¶
func (s *BucketsService) StreamRestoreResultsFromObjectStore( bucket *api.Bucket, backupName string, restoreName string, w io.Writer, ) error
StreamRestoreResultsFromObjectStore streams a restore result from object store to the given io.Writer
type ChartConfig ¶
type ChartConfig struct { Namespace string Chart string Name string Version string ValueOverrides []byte }
ChartConfig describes an ARK deployment chart config
type ClusterBackupBucketsModel ¶
type ClusterBackupBucketsModel struct { ID uint `gorm:"primary_key"` Cloud string SecretID string BucketName string Prefix string Location string StorageAccount string ResourceGroup string Status string StatusMessage string `sql:"type:text;"` Organization auth.Organization `gorm:"foreignkey:OrganizationID"` OrganizationID uint `gorm:"index;not null"` Deployment ClusterBackupDeploymentsModel `gorm:"foreignkey:BucketID"` CreatedAt time.Time UpdatedAt time.Time DeletedAt *time.Time }
ClusterBackupBucketsModel describes a cluster backup bucket
func (*ClusterBackupBucketsModel) BeforeDelete ¶
func (m *ClusterBackupBucketsModel) BeforeDelete(db *gorm.DB) error
BeforeDelete sets status to DELETED before soft delete the record
func (*ClusterBackupBucketsModel) ConvertModelToEntity ¶
func (m *ClusterBackupBucketsModel) ConvertModelToEntity() *api.Bucket
ConvertModelToEntity converts a ClusterBackupBucketsModel to Bucket
func (ClusterBackupBucketsModel) TableName ¶
func (ClusterBackupBucketsModel) TableName() string
TableName changes the default table name
type ClusterBackupDeploymentsModel ¶
type ClusterBackupDeploymentsModel struct { ID uint `gorm:"primary_key"` Name string Namespace string RestoreMode bool Status string StatusMessage string `sql:"type:text;"` BucketID uint `gorm:"index;not null"` Organization auth.Organization `gorm:"foreignkey:OrganizationID"` OrganizationID uint `gorm:"index;not null"` Cluster model.ClusterModel `gorm:"foreignkey:ClusterID"` ClusterID uint `gorm:"index;not null"` CreatedAt time.Time UpdatedAt time.Time DeletedAt *time.Time }
ClusterBackupDeploymentsModel describes an ARK deployment model
func (ClusterBackupDeploymentsModel) TableName ¶
func (ClusterBackupDeploymentsModel) TableName() string
TableName changes the default table name
func (*ClusterBackupDeploymentsModel) UpdateStatus ¶
func (m *ClusterBackupDeploymentsModel) UpdateStatus(db *gorm.DB, status, statusMessage string) error
UpdateStatus updates the model's status and status message in database
type ClusterBackupRestoresModel ¶
type ClusterBackupRestoresModel struct { ID uint `gorm:"primary_key"` UID string Name string State []byte `sql:"type:json"` Results []byte `sql:"type:json"` Warnings uint Errors uint Bucket ClusterBackupBucketsModel `gorm:"foreignkey:BucketID"` BucketID uint `gorm:"index;not null"` Cluster model.ClusterModel `gorm:"foreignkey:ClusterID"` ClusterID uint `gorm:"index;not null"` Organization auth.Organization `gorm:"foreignkey:OrganizationID"` OrganizationID uint `gorm:"index;not null"` Status string StatusMessage string `sql:"type:text;"` CreatedAt time.Time UpdatedAt time.Time DeletedAt *time.Time }
ClusterBackupRestoresModel describes an ARK restore model
func (*ClusterBackupRestoresModel) ConvertModelToEntity ¶
func (restore *ClusterBackupRestoresModel) ConvertModelToEntity() *api.Restore
ConvertModelToEntity converts ClusterBackupRestoresModel to api.Restore
func (*ClusterBackupRestoresModel) GetResults ¶
func (restore *ClusterBackupRestoresModel) GetResults() *api.RestoreResults
GetResults unmarshals a stored result JSON into api.RestoreResults
func (*ClusterBackupRestoresModel) GetState ¶
func (restore *ClusterBackupRestoresModel) GetState() *arkAPI.Restore
GetState unmarshals a stored state JSON into arkAPI.Restore
func (*ClusterBackupRestoresModel) SetValuesFromRequest ¶
func (restore *ClusterBackupRestoresModel) SetValuesFromRequest(req *api.PersistRestoreRequest) error
SetValuesFromRequest set values from a PersistRestoreRequest to the restore object
func (ClusterBackupRestoresModel) TableName ¶
func (ClusterBackupRestoresModel) TableName() string
TableName changes the default table name
type ClusterBackupsModel ¶
type ClusterBackupsModel struct { ID uint `gorm:"primary_key"` UID string Name string Cloud string Distribution string // deprecated: nodes are no longer synced from object storage NodeCount uint // deprecated: nodes are no longer synced from object storage ContentChecked bool StartedAt *time.Time CompletedAt *time.Time ExpireAt *time.Time State []byte `sql:"type:json"` // deprecated: nodes are no longer synced from object storage Nodes []byte `sql:"type:json"` Status string StatusMessage string `sql:"type:text"` Organization auth.Organization `gorm:"foreignkey:OrganizationID"` OrganizationID uint `gorm:"index;not null"` Cluster model.ClusterModel `gorm:"foreignkey:ClusterID"` ClusterID uint `gorm:"index;not null"` Deployment ClusterBackupDeploymentsModel `gorm:"foreignkey:DeploymentID"` DeploymentID uint `gorm:"not null"` Bucket ClusterBackupBucketsModel `gorm:"foreignkey:BucketID"` BucketID uint CreatedAt time.Time UpdatedAt time.Time }
ClusterBackupsModel describes a cluster backup
func (*ClusterBackupsModel) ConvertModelToEntity ¶
func (backup *ClusterBackupsModel) ConvertModelToEntity() *api.Backup
ConvertModelToEntity converts a ClusterBackupsModel to api.Backup
func (*ClusterBackupsModel) GetStateObject ¶
func (backup *ClusterBackupsModel) GetStateObject() *arkAPI.Backup
GetStateObject gives back ark Backup from saved json
func (*ClusterBackupsModel) SetValuesFromRequest ¶
func (backup *ClusterBackupsModel) SetValuesFromRequest(db *gorm.DB, req *api.PersistBackupRequest) error
SetValuesFromRequest sets values from PersistBackupRequest to the model
func (ClusterBackupsModel) TableName ¶
func (ClusterBackupsModel) TableName() string
TableName changes the default table name
type ClusterBackupsService ¶
type ClusterBackupsService struct { *BackupsService // contains filtered or unexported fields }
ClusterBackupsService is for cluster backups related ARK functions
func ClusterBackupsServiceFactory ¶
func ClusterBackupsServiceFactory( org *auth.Organization, deployments *DeploymentsService, db *gorm.DB, logger logrus.FieldLogger, ) *ClusterBackupsService
ClusterBackupsServiceFactory creates and returns an initialized ClusterBackupsService instance
func NewClusterBackupsService ¶
func NewClusterBackupsService(backups *BackupsService, deployments *DeploymentsService) *ClusterBackupsService
NewClusterBackupsService creates and returns an initialized ClusterBackupsService instance
func (*ClusterBackupsService) Create ¶
func (s *ClusterBackupsService) Create(req api.CreateBackupRequest) error
Create creates and persists an ARK backup by a CreateBackupRequest
func (*ClusterBackupsService) DeleteByID ¶
func (s *ClusterBackupsService) DeleteByID(id uint) error
DeleteByID deletes an ARK backup by ID
func (*ClusterBackupsService) DeleteByName ¶
func (s *ClusterBackupsService) DeleteByName(name string) error
DeleteByName deletes an ARK backup by name
type ConfigRequest ¶
type ConfigRequest struct { Cluster clusterConfig ClusterSecret *secret.SecretItemResponse Bucket bucketConfig BucketSecret *secret.SecretItemResponse SecretName string UseClusterSecret bool ServiceAccountRoleARN string UseProviderSecret bool RestoreMode bool }
ConfigRequest describes an ARK config request
func (ConfigRequest) Get ¶
func (req ConfigRequest) Get() (values backup.ValueOverrides, err error)
Get gets helm deployment value overrides
type DeploymentsRepository ¶
type DeploymentsRepository struct {
// contains filtered or unexported fields
}
DeploymentsRepository is a repository for storing ARK deployment models
func NewDeploymentsRepository ¶
func NewDeploymentsRepository( org *auth.Organization, cluster api.Cluster, db *gorm.DB, logger logrus.FieldLogger, ) *DeploymentsRepository
NewDeploymentsRepository creates and returns a DeploymentsRepository instance
func (*DeploymentsRepository) Delete ¶
func (s *DeploymentsRepository) Delete(deployment *ClusterBackupDeploymentsModel) error
Delete deletes a ClusterBackupDeploymentsModel
func (*DeploymentsRepository) FindFirst ¶
func (s *DeploymentsRepository) FindFirst() (*ClusterBackupDeploymentsModel, error)
FindFirst gets the first ClusterBackupDeploymentsModel for a cluster (normally there must only be one per cluster)
func (*DeploymentsRepository) Persist ¶
func (s *DeploymentsRepository) Persist(req *api.PersistDeploymentRequest) (*ClusterBackupDeploymentsModel, error)
Persist creates and persists a ClusterBackupDeploymentsModel by a PersistDeploymentRequest
func (*DeploymentsRepository) UpdateStatus ¶
func (s *DeploymentsRepository) UpdateStatus(deployment *ClusterBackupDeploymentsModel, status, message string) error
UpdateStatus updates the status of a ClusterBackupDeploymentsModel
type DeploymentsService ¶
type DeploymentsService struct {
// contains filtered or unexported fields
}
DeploymentsService is for managing ARK deployments
func DeploymentsServiceFactory ¶
func DeploymentsServiceFactory( org *auth.Organization, cluster api.Cluster, db *gorm.DB, logger logrus.FieldLogger, ) *DeploymentsService
DeploymentsServiceFactory creates and returns an initialized DeploymentsService instance
func NewDeploymentsService ¶
func NewDeploymentsService( org *auth.Organization, cluster api.Cluster, repository *DeploymentsRepository, logger logrus.FieldLogger, ) *DeploymentsService
NewDeploymentsService creates and returns an initialized DeploymentsService instance
func (*DeploymentsService) Activate ¶
func (s *DeploymentsService) Activate(service api.Service, bucket *ClusterBackupBucketsModel, restoreMode bool, useClusterSecret bool, serviceAccountRoleARN string, useProviderSecret bool, ) error
func (*DeploymentsService) Deactivate ¶
func (s *DeploymentsService) Deactivate(service api.Service) error
Remove deletes an ARK deployment
func (*DeploymentsService) Deploy ¶
func (s *DeploymentsService) Deploy(helmService HelmService, bucket *ClusterBackupBucketsModel, restoreMode bool, useClusterSecret bool, serviceAccountRoleARN string, useProviderSecret bool, ) error
func (*DeploymentsService) GetActiveDeployment ¶
func (s *DeploymentsService) GetActiveDeployment() (*ClusterBackupDeploymentsModel, error)
GetActiveDeployment gets the active ClusterBackupDeploymentsModel
func (*DeploymentsService) GetClient ¶
func (s *DeploymentsService) GetClient() (*client.Client, error)
GetClient gets an initialized ARK client
func (*DeploymentsService) GetCluster ¶
func (s *DeploymentsService) GetCluster() api.Cluster
GetCluster gets an initialized api.Cluster implementation
func (*DeploymentsService) Remove ¶
func (s *DeploymentsService) Remove(helmService HelmService) error
Remove deletes an ARK deployment
type HelmService ¶
type HelmValueOverrides ¶
type HelmValueOverrides struct { backup.ValueOverrides InitContainers []v1.Container `json:"initContainers,omitempty"` }
type RestoresRepository ¶
type RestoresRepository struct {
// contains filtered or unexported fields
}
RestoresRepository is a repository for managing ARK restore models
func NewRestoresRepository ¶
func NewRestoresRepository( org *auth.Organization, cluster api.Cluster, db *gorm.DB, logger logrus.FieldLogger, ) *RestoresRepository
NewRestoresRepository creates and returns a RestoresRepository instance
func (*RestoresRepository) Delete ¶
func (r *RestoresRepository) Delete(restore *ClusterBackupRestoresModel) error
Delete deletes a ClusterBackupRestoresModel
func (*RestoresRepository) Find ¶
func (r *RestoresRepository) Find() ([]*ClusterBackupRestoresModel, error)
Find finds all ClusterBackupRestoresModel
func (*RestoresRepository) FindOneByID ¶
func (r *RestoresRepository) FindOneByID(id uint) (*ClusterBackupRestoresModel, error)
FindOneByID find one ClusterBackupRestoresModel by ID
func (*RestoresRepository) FindOneByName ¶
func (r *RestoresRepository) FindOneByName(name string) (*ClusterBackupRestoresModel, error)
FindOneByName find one ClusterBackupRestoresModel by name
func (*RestoresRepository) Persist ¶
func (r *RestoresRepository) Persist(req *api.PersistRestoreRequest) (restore ClusterBackupRestoresModel, err error)
Persist persists a ClusterBackupRestoresModel by a PersistRestoreRequest
type RestoresService ¶
type RestoresService struct {
// contains filtered or unexported fields
}
RestoresService is for managing ARK restores
func NewRestoresService ¶
func NewRestoresService( org *auth.Organization, deployments *DeploymentsService, repository *RestoresRepository, logger logrus.FieldLogger, ) *RestoresService
NewRestoresService creates and returns an initialized RestoresService instance
func RestoresServiceFactory ¶
func RestoresServiceFactory( org *auth.Organization, deployments *DeploymentsService, db *gorm.DB, logger logrus.FieldLogger, ) *RestoresService
RestoresServiceFactory creates and returns an initialized RestoresService instance
func (*RestoresService) Create ¶
func (s *RestoresService) Create(req api.CreateRestoreRequest) (*api.Restore, error)
Create creates and persists a restore by a CreateRestoreRequest
func (*RestoresService) DeleteByID ¶
func (s *RestoresService) DeleteByID(id uint) error
DeleteByID deletes a Restore by ID
func (*RestoresService) DeleteByName ¶
func (s *RestoresService) DeleteByName(name string) error
DeleteByName deletes a Restore by name
func (*RestoresService) GetByID ¶
func (s *RestoresService) GetByID(id uint) (*api.Restore, error)
GetByID gets a Restore by ID
func (*RestoresService) GetByName ¶
func (s *RestoresService) GetByName(name string) (*api.Restore, error)
GetByName gets a Restore by name
func (*RestoresService) GetModelByID ¶
func (s *RestoresService) GetModelByID(id uint) (*ClusterBackupRestoresModel, error)
GetModelByID gets a ClusterBackupRestoresModel by ID
func (*RestoresService) GetModelByName ¶
func (s *RestoresService) GetModelByName(name string) (*ClusterBackupRestoresModel, error)
GetModelByName gets a ClusterBackupRestoresModel by name
func (*RestoresService) List ¶
func (s *RestoresService) List() ([]*api.Restore, error)
List gets all restores stored in the DB
func (*RestoresService) ListFromARK ¶
func (s *RestoresService) ListFromARK() ([]arkAPI.Restore, error)
ListFromARK gets restores from ARK
func (*RestoresService) Persist ¶
func (s *RestoresService) Persist(req *api.PersistRestoreRequest) (*api.Restore, error)
Persist persists a restore by a PersistRestoreRequest
type SchedulesService ¶
type SchedulesService struct {
// contains filtered or unexported fields
}
SchedulesService is for managing ARK schedules
func NewSchedulesService ¶
func NewSchedulesService( arkClientService client.ClientService, logger logrus.FieldLogger, ) *SchedulesService
NewSchedulesService creates and returns an initialized SchedulesService instance
func SchedulesServiceFactory ¶
func SchedulesServiceFactory( arkClientService client.ClientService, logger logrus.FieldLogger, ) *SchedulesService
SchedulesServiceFactory creates and returns an initialized SchedulesService instance
func (*SchedulesService) CreateOrUpdateSchedule ¶
func (s *SchedulesService) CreateOrUpdateSchedule(backupRequest *api.CreateBackupRequest, schedule string) error
Create creates a schedule by a CreateBackupRequest
func (*SchedulesService) DeleteByName ¶
func (s *SchedulesService) DeleteByName(name string) error
DeleteByName deletes a schedule by name
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is for various ARK related management functions
func NewARKService ¶
func NewARKService(org *auth.Organization, cluster api.Cluster, db *gorm.DB, logger logrus.FieldLogger) *Service
NewARKService returns a new ARKService instance
func (*Service) GetBackupsService ¶
func (s *Service) GetBackupsService() *BackupsService
GetBackupsService returns the initialized BackupsService
func (*Service) GetBucketsService ¶
func (s *Service) GetBucketsService() *BucketsService
GetBucketsService returns the initialized BucketsService
func (*Service) GetCluster ¶
GetCluster returns the cluster used in the service
func (*Service) GetClusterBackupsService ¶
func (s *Service) GetClusterBackupsService() *ClusterBackupsService
GetClusterBackupsService returns the initialized ClusterBackupsService
func (*Service) GetDeploymentsService ¶
func (s *Service) GetDeploymentsService() *DeploymentsService
GetDeploymentsService returns the initialized DeploymentsService
func (*Service) GetOrganization ¶
func (s *Service) GetOrganization() *auth.Organization
GetOrganization returns the organization used in the service
func (*Service) GetRestoresService ¶
func (s *Service) GetRestoresService() *RestoresService
GetRestoresService returns the initialized RestoresService
func (*Service) GetSchedulesService ¶
func (s *Service) GetSchedulesService() *SchedulesService
GetSchedulesService returns the initialized SchedulesService
Source Files ¶
- ark.go
- ark_svc.go
- backups_model.go
- backups_repository.go
- backups_svc.go
- buckets.go
- buckets_model.go
- buckets_repository.go
- buckets_svc.go
- cluster_backups_svc.go
- config.go
- deployment_repository.go
- deployments_model.go
- deployments_svc.go
- helm.go
- model.go
- objectstore.go
- restores_model.go
- restores_repository.go
- restores_svc.go
- schedules_svc.go