feat: add baseos image build contracts
This commit is contained in:
@@ -61,6 +61,63 @@ export interface IBaseOsNode {
|
||||
};
|
||||
}
|
||||
|
||||
export type TBaseOsImageArchitecture = 'amd64' | 'arm64' | 'rpi';
|
||||
|
||||
export type TBaseOsImageBuildStatus = 'queued' | 'building' | 'ready' | 'failed' | 'cancelled';
|
||||
|
||||
export interface IBaseOsWifiConfig {
|
||||
ssid: string;
|
||||
password?: string;
|
||||
}
|
||||
|
||||
export interface IBaseOsImageArtifact {
|
||||
bucketName: string;
|
||||
key: string;
|
||||
filename: string;
|
||||
contentType: string;
|
||||
size: number;
|
||||
sha256: string;
|
||||
createdAt: number;
|
||||
}
|
||||
|
||||
export interface IBaseOsImageBuild {
|
||||
id: string;
|
||||
data: {
|
||||
status: TBaseOsImageBuildStatus;
|
||||
architecture: TBaseOsImageArchitecture;
|
||||
cloudlyUrl: string;
|
||||
sourceImageUrl?: string;
|
||||
ubuntuVersion?: string;
|
||||
hostname?: string;
|
||||
wifiSsid?: string;
|
||||
sshPublicKey?: string;
|
||||
artifact?: IBaseOsImageArtifact;
|
||||
errorText?: string;
|
||||
logs: string[];
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
startedAt?: number;
|
||||
completedAt?: number;
|
||||
expiresAt?: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IBaseOsImageBuildRequest {
|
||||
architecture: TBaseOsImageArchitecture;
|
||||
cloudlyUrl?: string;
|
||||
sourceImageUrl?: string;
|
||||
ubuntuVersion?: string;
|
||||
hostname?: string;
|
||||
wifi?: IBaseOsWifiConfig;
|
||||
sshPublicKey?: string;
|
||||
artifactRetentionMs?: number;
|
||||
}
|
||||
|
||||
export interface IBaseOsImageDownloadUrl {
|
||||
url: string;
|
||||
expiresAt: number;
|
||||
}
|
||||
|
||||
export interface IBaseOsRegisterResult {
|
||||
nodeId?: string;
|
||||
nodeToken?: string;
|
||||
|
||||
@@ -12,6 +12,10 @@ export interface ICloudlySettings {
|
||||
// BaseOS enrollment
|
||||
baseosJoinToken?: string;
|
||||
|
||||
// CoreBuild worker used for image generation
|
||||
corebuildWorkerUrl?: string;
|
||||
corebuildWorkerToken?: string;
|
||||
|
||||
// AWS Credentials
|
||||
awsAccessKey?: string;
|
||||
awsSecretKey?: string;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import type {
|
||||
IBaseOsHeartbeatResult,
|
||||
IBaseOsImageBuild,
|
||||
IBaseOsImageBuildRequest,
|
||||
IBaseOsImageDownloadUrl,
|
||||
IBaseOsNode,
|
||||
IBaseOsRegisterResult,
|
||||
IBaseOsRuntimeInfo,
|
||||
@@ -34,3 +37,44 @@ export interface IRequest_Any_Cloudly_GetBaseOsNodes {
|
||||
nodes: IBaseOsNode[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IRequest_Any_Cloudly_CreateBaseOsImageBuild {
|
||||
method: 'createBaseOsImageBuild';
|
||||
request: {
|
||||
identity: IIdentity;
|
||||
build: IBaseOsImageBuildRequest;
|
||||
};
|
||||
response: {
|
||||
build: IBaseOsImageBuild;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IRequest_Any_Cloudly_GetBaseOsImageBuilds {
|
||||
method: 'getBaseOsImageBuilds';
|
||||
request: {
|
||||
identity: IIdentity;
|
||||
};
|
||||
response: {
|
||||
builds: IBaseOsImageBuild[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IRequest_Any_Cloudly_GetBaseOsImageBuildById {
|
||||
method: 'getBaseOsImageBuildById';
|
||||
request: {
|
||||
identity: IIdentity;
|
||||
buildId: string;
|
||||
};
|
||||
response: {
|
||||
build: IBaseOsImageBuild;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IRequest_Any_Cloudly_CreateBaseOsImageDownloadUrl {
|
||||
method: 'createBaseOsImageDownloadUrl';
|
||||
request: {
|
||||
identity: IIdentity;
|
||||
buildId: string;
|
||||
};
|
||||
response: IBaseOsImageDownloadUrl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user