feat: add corestore service
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
export type TCoreStoreCapability = 'database' | 'objectstorage';
|
||||
|
||||
export interface ICoreStoreProvisionRequest {
|
||||
serviceId: string;
|
||||
serviceName?: string;
|
||||
capabilities?: TCoreStoreCapability[];
|
||||
database?: boolean;
|
||||
db?: boolean;
|
||||
objectstorage?: boolean;
|
||||
s3?: boolean;
|
||||
}
|
||||
|
||||
export interface ICoreStoreDeprovisionRequest {
|
||||
serviceId: string;
|
||||
}
|
||||
|
||||
export interface ICoreStoreResourceBase {
|
||||
capability: TCoreStoreCapability;
|
||||
provider: string;
|
||||
resourceName: string;
|
||||
env: Record<string, string>;
|
||||
createdAt: number;
|
||||
}
|
||||
|
||||
export interface ICoreStoreDatabaseResource extends ICoreStoreResourceBase {
|
||||
capability: 'database';
|
||||
provider: 'smartdb';
|
||||
databaseName: string;
|
||||
username: string;
|
||||
}
|
||||
|
||||
export interface ICoreStoreObjectStorageResource extends ICoreStoreResourceBase {
|
||||
capability: 'objectstorage';
|
||||
provider: 'smartstorage';
|
||||
bucketName: string;
|
||||
accessKeyId: string;
|
||||
}
|
||||
|
||||
export type TCoreStoreResource = ICoreStoreDatabaseResource | ICoreStoreObjectStorageResource;
|
||||
|
||||
export interface ICoreStoreServiceManifestEntry {
|
||||
serviceId: string;
|
||||
serviceName?: string;
|
||||
resources: Partial<Record<TCoreStoreCapability, TCoreStoreResource>>;
|
||||
env: Record<string, string>;
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
}
|
||||
|
||||
export interface ICoreStoreManifest {
|
||||
version: 1;
|
||||
services: Record<string, ICoreStoreServiceManifestEntry>;
|
||||
}
|
||||
|
||||
export interface ICoreStoreProvisionResponse {
|
||||
serviceId: string;
|
||||
serviceName?: string;
|
||||
resources: TCoreStoreResource[];
|
||||
env: Record<string, string>;
|
||||
}
|
||||
|
||||
export interface ICoreStoreSecretFile {
|
||||
masterSecret: string;
|
||||
dbRootPassword: string;
|
||||
s3AdminAccessKeyId: string;
|
||||
s3AdminSecretAccessKey: string;
|
||||
}
|
||||
Reference in New Issue
Block a user