mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-31 04:23:40 +00:00
Feature/subcontainers (#2720)
* wip: subcontainers * wip: subcontainer infra * rename NonDestroyableOverlay to SubContainerHandle * chore: Changes to the container and other things * wip: * wip: fixes * fix launch & exec Co-authored-by: Jade <Blu-J@users.noreply.github.com> * tweak apis * misc fixes * don't treat sigterm as error * handle health check set during starting --------- Co-authored-by: J H <dragondef@gmail.com> Co-authored-by: Jade <Blu-J@users.noreply.github.com>
This commit is contained in:
@@ -25,6 +25,7 @@ import { Daemons } from "./mainFn/Daemons"
|
||||
import { StorePath } from "./store/PathBuilder"
|
||||
import { ExposedStorePaths } from "./store/setupExposeStore"
|
||||
import { UrlString } from "./util/getServiceInterface"
|
||||
import { StringObject, ToKebab } from "./util"
|
||||
export * from "./osBindings"
|
||||
export { SDKManifest } from "./manifest/ManifestTypes"
|
||||
export { HealthReceipt } from "./health/HealthReceipt"
|
||||
@@ -286,6 +287,16 @@ export type PropertiesReturn = {
|
||||
[key: string]: PropertiesValue
|
||||
}
|
||||
|
||||
export type EffectMethod<T extends StringObject = Effects> = {
|
||||
[K in keyof T]-?: K extends string
|
||||
? T[K] extends Function
|
||||
? ToKebab<K>
|
||||
: T[K] extends StringObject
|
||||
? `${ToKebab<K>}.${EffectMethod<T[K]>}`
|
||||
: never
|
||||
: never
|
||||
}[keyof T]
|
||||
|
||||
/** Used to reach out from the pure js runtime */
|
||||
export type Effects = {
|
||||
// action
|
||||
@@ -352,12 +363,13 @@ export type Effects = {
|
||||
/** sets the result of a health check */
|
||||
setHealth(o: SetHealth): Promise<void>
|
||||
|
||||
// image
|
||||
|
||||
/** A low level api used by Overlay */
|
||||
createOverlayedImage(options: { imageId: string }): Promise<[string, string]>
|
||||
/** A low level api used by Overlay */
|
||||
destroyOverlayedImage(options: { guid: string }): Promise<void>
|
||||
// subcontainer
|
||||
subcontainer: {
|
||||
/** A low level api used by SubContainer */
|
||||
createFs(options: { imageId: string }): Promise<[string, string]>
|
||||
/** A low level api used by SubContainer */
|
||||
destroyFs(options: { guid: string }): Promise<void>
|
||||
}
|
||||
|
||||
// net
|
||||
|
||||
|
||||
Reference in New Issue
Block a user