mirror of
https://github.com/Start9Labs/start-sdk.git
synced 2026-03-26 02:11:56 +00:00
64 lines
1.4 KiB
TypeScript
64 lines
1.4 KiB
TypeScript
import { ValidEmVer } from "../emverLite/mod";
|
|
import { ActionMetaData, ActionResult } from "../types";
|
|
|
|
export interface Container {
|
|
image: string;
|
|
mounts: Record<string, string>;
|
|
shmSizeMb?: number; // if greater
|
|
sigtermTimeout?: string; // if more than 30s to shutdown
|
|
}
|
|
|
|
export type ManifestVersion = ValidEmVer;
|
|
|
|
export interface GenericManifest {
|
|
id: string;
|
|
title: string;
|
|
version: ManifestVersion;
|
|
releaseNotes: string;
|
|
license: string; // name of license
|
|
replaces: string[];
|
|
wrapperRepo: string;
|
|
upstreamRepo: string;
|
|
supportSite: string;
|
|
marketingSite: string;
|
|
donationUrl: string | null;
|
|
description: {
|
|
short: string;
|
|
long: string;
|
|
};
|
|
assets: {
|
|
icon: string; // file path
|
|
instructions: string; // file path
|
|
license: string; // file path
|
|
};
|
|
containers: Record<string, Container>;
|
|
volumes: Record<string, string>;
|
|
actions: ActionMetaData[];
|
|
alerts: {
|
|
install: string | null;
|
|
update: string | null;
|
|
uninstall: string | null;
|
|
restore: string | null;
|
|
start: string | null;
|
|
stop: string | null;
|
|
};
|
|
dependencies: Record<string, Dependency>;
|
|
}
|
|
|
|
export interface Dependency {
|
|
version: string;
|
|
description: string | null;
|
|
requirement:
|
|
| {
|
|
type: "opt-in";
|
|
how: string;
|
|
}
|
|
| {
|
|
type: "opt-out";
|
|
how: string;
|
|
}
|
|
| {
|
|
type: "required";
|
|
};
|
|
}
|