@orcdkestrator/orcdk-plugin-localstack
Version:
LocalStack lifecycle management plugin for Orcdkestrator
81 lines • 2.32 kB
TypeScript
import type { Plugin, PluginConfig, OrcdkConfig, CommandInfo } from '@orcdkestrator/core';
/**
* LocalStack plugin for local AWS development
* Manages LocalStack lifecycle using the LocalStack CLI
*
* @example
* ```json
* {
* "name": "localstack",
* "enabled": true,
* "config": {
* "autoStart": true,
* "environment": {
* "DEBUG": "1",
* "PERSISTENCE": "1",
* "GATEWAY_LISTEN": "0.0.0.0:4566"
* },
* "waitForReady": {
* "maxAttempts": 60,
* "retryDelayMs": 1000
* },
* "stopOnCleanup": false,
* "debug": true,
* "hotReloading": {
* "enabled": true,
* "watchInterval": 700,
* "lambdaPaths": [
* {
* "functionName": "my-function",
* "localPath": "/absolute/path/to/lambda/code",
* "handler": "handler.function",
* "runtime": "python3.8"
* }
* ]
* }
* }
* }
* ```
*
* Configuration options:
* - autoStart: Whether to automatically start LocalStack if not running (default: true)
* - environment: Environment variables to pass to LocalStack
* - waitForReady: Configuration for health check waiting
* - stopOnCleanup: Whether to stop LocalStack when deployment finishes
* - debug: Enable debug logging
* - hotReloading: Configuration for Lambda hot reloading
*/
export declare class LocalStackPlugin implements Plugin {
readonly name = "@orcdkestrator/orcdk-plugin-localstack";
readonly version = "1.0.0";
private cli;
private config;
private orcdkConfig;
private eventBus;
private hotReloadWatcher;
initialize(config: PluginConfig, orcdkConfig: OrcdkConfig): Promise<void>;
/**
* Subscribe to relevant events
*/
private subscribeToEvents;
private shouldRun;
private ensureNotRunning;
private ensureRunning;
private checkDependencies;
private startLocalStack;
private getPort;
private getEnvironment;
/**
* Start hot reloading functionality
*/
private startHotReloading;
private exitWithError;
cleanup(): Promise<void>;
private debug;
/**
* Get completion commands for bash completion
*/
getCompletionCommands(): CommandInfo[];
}
export default LocalStackPlugin;
//# sourceMappingURL=index.d.ts.map