store

package
v0.0.0-...-d5808ce Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2021 License: Apache-2.0 Imports: 24 Imported by: 0

README

store

KOTS has configurable backing stores. These are written at compile time, and must be included in this directory.

To add a new store, implement the entire interface defined in store_interface.go.

Store Description
s3pgstore (Default in KOTS 1.18). Uses S3 object store and postgres for persistence

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AirgapStore

type AirgapStore interface {
	GetPendingAirgapUploadApp() (*airgaptypes.PendingApp, error)
	GetAirgapInstallStatus() (*airgaptypes.InstallStatus, error)
	ResetAirgapInstallInProgress(appID string) error
	SetAppIsAirgap(appID string, isAirgap bool) error
}

type AppStatusStore

type AppStatusStore interface {
	GetAppStatus(appID string) (*appstatustypes.AppStatus, error)
}

type AppStore

type AppStore interface {
	AddAppToAllDownstreams(appID string) error
	SetAppInstallState(appID string, state string) error
	ListInstalledApps() ([]*apptypes.App, error)
	ListInstalledAppSlugs() ([]string, error)
	GetAppIDFromSlug(slug string) (appID string, err error)
	GetApp(appID string) (*apptypes.App, error)
	GetAppFromSlug(slug string) (*apptypes.App, error)
	CreateApp(name string, upstreamURI string, licenseData string, isAirgapEnabled bool, skipImagePush bool) (*apptypes.App, error)
	ListDownstreamsForApp(appID string) ([]downstreamtypes.Downstream, error)
	ListAppsForDownstream(clusterID string) ([]*apptypes.App, error)
	GetDownstream(clusterID string) (*downstreamtypes.Downstream, error)
	IsGitOpsEnabledForApp(appID string) (bool, error)
	SetUpdateCheckerSpec(appID string, updateCheckerSpec string) error
	SetSnapshotTTL(appID string, snapshotTTL string) error
	SetSnapshotSchedule(appID string, snapshotSchedule string) error
	RemoveApp(appID string) error
}

type ClusterStore

type ClusterStore interface {
	ListClusters() ([]*downstreamtypes.Downstream, error)
	GetClusterIDFromSlug(slug string) (clusterID string, err error)
	GetClusterIDFromDeployToken(deployToken string) (clusterID string, err error)
	CreateNewCluster(userID string, isAllUsers bool, title string, token string) (clusterID string, err error)
	SetInstanceSnapshotTTL(clusterID string, snapshotTTL string) error
	SetInstanceSnapshotSchedule(clusterID string, snapshotSchedule string) error
}

type InstallationStore

type InstallationStore interface {
	GetPendingInstallationStatus() (*installationtypes.InstallStatus, error)
}

type KotsadmParamsStore

type KotsadmParamsStore interface {
	IsKotsadmIDGenerated() (bool, error)
	SetIsKotsadmIDGenerated() error
}

type LicenseStore

type LicenseStore interface {
	GetLatestLicenseForApp(appID string) (*kotsv1beta1.License, error)
	GetLicenseForAppVersion(appID string, sequence int64) (*kotsv1beta1.License, error)
	GetAllAppLicenses() ([]*kotsv1beta1.License, error)

	// originalLicenseData is the data received from the replicated API that was never marshalled locally so all fields are intact
	UpdateAppLicense(appID string, sequence int64, archiveDir string, newLicense *kotsv1beta1.License, originalLicenseData string, failOnVersionCreate bool, gitops gitopstypes.DownstreamGitOps, renderer rendertypes.Renderer) (int64, error)
}

type Migrations

type Migrations interface {
	RunMigrations()
}

type PreflightStore

type PreflightStore interface {
	SetPreflightResults(appID string, sequence int64, results []byte) error
	GetPreflightResults(appID string, sequence int64) (*preflighttypes.PreflightResult, error)
	GetLatestPreflightResultsForSequenceZero() (*preflighttypes.PreflightResult, error)
	ResetPreflightResults(appID string, sequence int64) error
	SetIgnorePreflightPermissionErrors(appID string, sequence int64) error
}

type PrometheusStore

type PrometheusStore interface {
	GetPrometheusAddress() (address string, err error)
	SetPrometheusAddress(address string) error
}

type RegistryStore

type RegistryStore interface {
	GetRegistryDetailsForApp(appID string) (*registrytypes.RegistrySettings, error)
	UpdateRegistry(appID string, hostname string, username string, password string, namespace string) error
}

type ReportingStore

type ReportingStore interface {
	GetReportingInfo(appID string) *upstreamtypes.ReportingInfo
}

type SessionStore

type SessionStore interface {
	CreateSession(user *usertypes.User, issuedAt time.Time, expiresAt time.Time, roles []string) (*sessiontypes.Session, error)
	DeleteSession(sessionID string) error
	GetSession(sessionID string) (*sessiontypes.Session, error)
}

type SnapshotStore

type SnapshotStore interface {
	ListPendingScheduledSnapshots(appID string) ([]snapshottypes.ScheduledSnapshot, error)
	UpdateScheduledSnapshot(snapshotID string, backupName string) error
	DeletePendingScheduledSnapshots(appID string) error
	CreateScheduledSnapshot(snapshotID string, appID string, timestamp time.Time) error

	ListPendingScheduledInstanceSnapshots(clusterID string) ([]snapshottypes.ScheduledInstanceSnapshot, error)
	UpdateScheduledInstanceSnapshot(snapshotID string, backupName string) error
	DeletePendingScheduledInstanceSnapshots(clusterID string) error
	CreateScheduledInstanceSnapshot(snapshotID string, clusterID string, timestamp time.Time) error
}

type SupportBundleStore

type SupportBundleStore interface {
	ListSupportBundles(appID string) ([]*supportbundletypes.SupportBundle, error)
	ListPendingSupportBundlesForApp(appID string) ([]*supportbundletypes.PendingSupportBundle, error)
	GetSupportBundleFromSlug(slug string) (*supportbundletypes.SupportBundle, error)
	GetSupportBundle(bundleID string) (*supportbundletypes.SupportBundle, error)
	CreatePendingSupportBundle(bundleID string, appID string, clusterID string) error
	CreateSupportBundle(bundleID string, appID string, archivePath string, marshalledTree []byte) (*supportbundletypes.SupportBundle, error)
	GetSupportBundleArchive(bundleID string) (archivePath string, err error)
	GetSupportBundleAnalysis(bundleID string) (*supportbundletypes.SupportBundleAnalysis, error)
	SetSupportBundleAnalysis(bundleID string, insights []byte) error
	GetRedactions(bundleID string) (troubleshootredact.RedactionList, error)
	SetRedactions(bundleID string, redacts troubleshootredact.RedactionList) error
	GetSupportBundleSpecForApp(id string) (spec string, err error)
}

type TaskStore

type TaskStore interface {
	SetTaskStatus(taskID string, message string, status string) error
	UpdateTaskStatusTimestamp(taskID string) error
	ClearTaskStatus(taskID string) error
	GetTaskStatus(taskID string) (status string, message string, err error)
}

type VersionStore

type VersionStore interface {
	IsIdentityServiceSupportedForVersion(appID string, sequence int64) (bool, error)
	IsRollbackSupportedForVersion(appID string, sequence int64) (bool, error)
	IsSnapshotsSupportedForVersion(a *apptypes.App, sequence int64, renderer rendertypes.Renderer) (bool, error)
	GetAppVersionArchive(appID string, sequence int64, dstPath string) error
	CreateAppVersionArchive(appID string, sequence int64, archivePath string) error
	CreateAppVersion(appID string, currentSequence *int64, filesInDir string, source string, skipPreflights bool, gitops gitopstypes.DownstreamGitOps) (int64, error)
	GetAppVersion(string, int64) (*versiontypes.AppVersion, error)
	GetAppVersionsAfter(string, int64) ([]*versiontypes.AppVersion, error)
}

Directories

Path Synopsis
Package mock_store is a generated GoMock package.
Package mock_store is a generated GoMock package.

Jump to

Keyboard shortcuts

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