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 {
|
export interface IBaseOsRegisterResult {
|
||||||
nodeId?: string;
|
nodeId?: string;
|
||||||
nodeToken?: string;
|
nodeToken?: string;
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ export interface ICloudlySettings {
|
|||||||
// BaseOS enrollment
|
// BaseOS enrollment
|
||||||
baseosJoinToken?: string;
|
baseosJoinToken?: string;
|
||||||
|
|
||||||
|
// CoreBuild worker used for image generation
|
||||||
|
corebuildWorkerUrl?: string;
|
||||||
|
corebuildWorkerToken?: string;
|
||||||
|
|
||||||
// AWS Credentials
|
// AWS Credentials
|
||||||
awsAccessKey?: string;
|
awsAccessKey?: string;
|
||||||
awsSecretKey?: string;
|
awsSecretKey?: string;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
import type {
|
import type {
|
||||||
IBaseOsHeartbeatResult,
|
IBaseOsHeartbeatResult,
|
||||||
|
IBaseOsImageBuild,
|
||||||
|
IBaseOsImageBuildRequest,
|
||||||
|
IBaseOsImageDownloadUrl,
|
||||||
IBaseOsNode,
|
IBaseOsNode,
|
||||||
IBaseOsRegisterResult,
|
IBaseOsRegisterResult,
|
||||||
IBaseOsRuntimeInfo,
|
IBaseOsRuntimeInfo,
|
||||||
@@ -34,3 +37,44 @@ export interface IRequest_Any_Cloudly_GetBaseOsNodes {
|
|||||||
nodes: IBaseOsNode[];
|
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