dagger-env
Version:
A type-safe, reusable environment configuration abstraction for Dagger modules.
39 lines • 1.52 kB
TypeScript
import type { DaggerEnv, DaggerEnvConfig } from './dagger-env.js';
/**
* Configuration for running Dagger commands with 1Password integration
*/
export interface RunDaggerCommandConfig<T extends DaggerEnvConfig = DaggerEnvConfig> {
/** 1Password vault ID */
opVault: string;
/** 1Password item ID */
opItem: string;
/** 1Password sections to include for secrets */
opSections: Array<{
label: string;
id: string;
}>;
/** Commands that should include Docker socket if available */
dockerCommands?: string[];
/** Hook to run before executing the command (e.g., vendor file setup) */
beforeCommand?: () => Promise<void>;
/** DaggerEnv instance for schema validation and type safety */
daggerEnv: DaggerEnv<T>;
}
/**
* Options for individual command execution
*/
export interface RunDaggerCommandOptions {
/** Arguments to pass to the Dagger command */
args?: Record<string, any>;
/** Additional environment variables */
env?: Record<string, string>;
/** Additional command-line arguments */
extraArgs?: string[];
}
/**
* Creates a function to run Dagger commands with 1Password integration
* @param config Configuration for the command runner
* @returns Function to execute Dagger commands
*/
export declare function createDaggerCommandRunner<T extends DaggerEnvConfig>(config: RunDaggerCommandConfig<T>): (commandName: string, options?: RunDaggerCommandOptions) => Promise<void>;
//# sourceMappingURL=run-dagger-cmd.d.ts.map