buildahcker
Version:
Buildahcker is a node.js library to create and run commands in OCI (Open Container Initiative) container images (or docker images), based on Buildah and a hash-based cache. It also contains utilities to easily create a partitioned bootable disk image of a
75 lines (74 loc) • 3.48 kB
TypeScript
import type { Writable } from "stream";
import type { ImageOrContainer } from "../../container";
import type { ContainerCache } from "../../containerCache";
import type { FileInImage } from "../../fileInImage";
export interface ABPartitionsGrubPartitionOptions {
grubDiskDevice?: string;
grubEnvPartitionIndex: number;
grubEnvPath?: string;
grubExtraConfig?: string;
grubSourceImage: string;
grubSourcePath?: string;
grubTimeout?: number;
linuxDiskDevice?: string;
rootPartitionAIndex: number;
rootPartitionBIndex: number;
rootPartitionGrubCfg?: string;
squashfsToolsSource?: ImageOrContainer;
apkCache?: string;
containerCache?: ContainerCache;
logger?: Writable;
}
export declare const abpartitionsGrubPartition: ({ grubDiskDevice, grubEnvPartitionIndex, grubEnvPath, grubExtraConfig, grubSourceImage, grubSourcePath, grubTimeout, linuxDiskDevice, rootPartitionAIndex, rootPartitionBIndex, rootPartitionGrubCfg, squashfsToolsSource, apkCache, containerCache, logger, }: ABPartitionsGrubPartitionOptions) => Promise<FileInImage>;
export interface ABPartitionsGrubEnvPartitionOptions {
grubSourceImage: string;
containerCache?: ContainerCache;
logger?: Writable;
}
export declare const abpartitionsGrubEnvPartition: ({ grubSourceImage, containerCache, logger, }: ABPartitionsGrubEnvPartitionOptions) => Promise<FileInImage>;
export interface ABPartitionsGrubenvAndEfiPartitionOptions {
efiPartitionSize: number;
grubDiskDevice?: string;
grubEnvPath?: string;
grubPartitionIndex: number;
grubSourceImage: string;
mtoolsSource?: ImageOrContainer;
useEfi?: boolean;
containerCache?: ContainerCache;
apkCache?: string;
logger?: Writable;
}
export declare const abpartitionsGrubenvAndEfiPartition: ({ efiPartitionSize, grubDiskDevice, grubEnvPath, grubPartitionIndex, grubSourceImage, mtoolsSource, useEfi, containerCache, apkCache, logger, }: ABPartitionsGrubenvAndEfiPartitionOptions) => Promise<FileInImage>;
export interface ABPartitionsBiosPartitionOptions {
grubDiskDevice?: string;
grubPartitionIndex: number;
grubSourceImage: string;
containerCache?: ContainerCache;
apkCache?: string;
logger?: Writable;
}
export declare const abpartitionsBiosPartition: ({ grubDiskDevice, grubPartitionIndex, grubSourceImage, containerCache, apkCache, logger, }: ABPartitionsBiosPartitionOptions) => Promise<{
boot: FileInImage;
core: FileInImage;
}>;
export interface ABPartitionsDiskOptions {
biosBootPartitionSize?: number;
bootType?: "bios" | "efi" | "both";
efiPartitionSize?: number;
grubDiskDevice?: string;
grubEnvPath?: string;
grubExtraConfig?: string;
grubSourceImage?: string;
grubSourcePath?: string;
grubTimeout?: number;
linuxDiskDevice?: string;
mtoolsSource?: ImageOrContainer;
rootPartition?: FileInImage;
rootPartitionGrubCfg?: string;
rootPartitionSize: number;
squashfsToolsSource?: ImageOrContainer;
apkCache?: string;
containerCache?: ContainerCache;
logger?: Writable;
}
export declare const abpartitionsDisk: ({ biosBootPartitionSize, bootType, efiPartitionSize, grubDiskDevice, grubEnvPath, grubExtraConfig, grubSourceImage, grubSourcePath, grubTimeout, linuxDiskDevice, mtoolsSource, rootPartition, rootPartitionGrubCfg, rootPartitionSize, squashfsToolsSource, apkCache, containerCache, logger, }: ABPartitionsDiskOptions) => Promise<FileInImage>;