ark

package
v0.0.0-...-e7c744b Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2023 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Index

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

func IsProviderSupported(provider string) error

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

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

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

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

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

func (s *BucketsService) GetBackupsFromObjectStore(bucket *api.Bucket) ([]*arkAPI.Backup, error)

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

func GetChartConfig

func GetChartConfig() ChartConfig

GetChartConfig get a ChartConfig

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

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

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

Delete deletes a ClusterBackupDeploymentsModel

func (*DeploymentsRepository) FindFirst

FindFirst gets the first ClusterBackupDeploymentsModel for a cluster (normally there must only be one per cluster)

func (*DeploymentsRepository) Persist

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 HelmService interface {
	InstallDeployment(
		ctx context.Context,
		clusterID uint,
		namespace string,
		chartName string,
		releaseName string,
		values []byte,
		chartVersion string,
		wait bool,
	) error

	DeleteDeployment(ctx context.Context, clusterID uint, releaseName, namespace string) error
}

type HelmValueOverrides

type HelmValueOverrides struct {
	backup.ValueOverrides
	InitContainers []v1.Container `json:"initContainers,omitempty"`
}

type Image

type Image struct {
	Repository string `json:"repository"`
	Tag        string `json:"tag"`
	PullPolicy string `json:"pullPolicy"`
}

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

Delete deletes a ClusterBackupRestoresModel

func (*RestoresRepository) Find

Find finds all ClusterBackupRestoresModel

func (*RestoresRepository) FindOneByID

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

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

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

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

func (*SchedulesService) GetByName

func (s *SchedulesService) GetByName(name string) (*api.Schedule, error)

GetByName gets a schedule by name

func (*SchedulesService) List

func (s *SchedulesService) List() (schedules []*api.Schedule, err error)

List gets all schedule

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

func (s *Service) GetCluster() api.Cluster

GetCluster returns the cluster used in the service

func (*Service) GetClusterBackupsService

func (s *Service) GetClusterBackupsService() *ClusterBackupsService

GetClusterBackupsService returns the initialized ClusterBackupsService

func (*Service) GetDB

func (s *Service) GetDB() *gorm.DB

GetDB returns the DB instance used in the service

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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