Skip to content

Beyond lambdas#23

Draft
scartill wants to merge 17 commits intomainfrom
beyond-lambdas
Draft

Beyond lambdas#23
scartill wants to merge 17 commits intomainfrom
beyond-lambdas

Conversation

@scartill
Copy link
Copy Markdown
Owner

No description provided.

scartill added 17 commits April 23, 2026 16:57
Introduce a top-level services section to the EasySAM configuration to support long-running components like polling loops and web services. This implementation includes the necessary SAM resource generation for ECS clusters, task definitions, and services, along with IAM role management. Additionally, a new CLI flag --no-docker-build-on-win is introduced to support template generation on Windows environments without a local Docker daemon.

Original branch: beyond-lambdas
- Add `services` section to JSON schema with validation for `image` or `build` paths.
- Update loading logic to support `services` and apply default values (CPU: 256, Memory: 512, Count: 1).
- Add `--no-docker-build-on-win` CLI flag to `generate` and `deploy` commands to control Docker build metadata.
- Update Jinja2 template to render ECS Cluster, TaskDefinition, and Service resources.
- Add reproduction and CLI flag verification tests.

Original branch: beyond-lambdas
Added the necessary AWS resources to template.yml to support a Fargate-based poller service, including:
- ECS Cluster
- IAM roles for task execution and task permissions
- ECS Task Definition with logging configuration
- ECS Service with network configuration
- DynamoDB table for storing random stats
- CloudWatch Log Group for the poller container

Original branch: beyond-lambdas
Added a --prismarine flag to the init command to allow scaffolding a minimal application with Prismarine support. Also cleaned up unused CLI options for target region and environment context.

Original branch: beyond-lambdas
The hardcoded backslash in the example path construction was causing issues on non-Windows environments and is generally non-idiomatic. Replaced the manual string concatenation with Path.as_posix() or simple string conversion to ensure cross-platform compatibility.

Original branch: main
Refactored the project structure to place the .gitignore file at the backend level instead of the function level. Updated the initialization logic in src/easysam/init.py, renamed existing .gitignore files in the examples, and updated the test suite to reflect the new file location. Added a rule to use uv and ruff for Python development.

Original branch: beyond-lambdas
Updated the architecture documentation and the corresponding SVG diagram to reflect the latest project metadata and branding.

Original branch: test-zindex
Updated the architecture diagram to match the new dark theme aesthetic. Changes include:
- Updated background and component fill colors to dark mode palette.
- Changed stroke colors and increased stroke widths for better visibility.
- Updated font families to Inter.
- Adjusted text colors for improved contrast against dark backgrounds.

Original branch: test-zindex
Implemented logic to automatically discover and inject the first two subnets of the default VPC into the SAM deployment parameters when services are defined. This ensures Fargate services have the necessary networking configuration for high availability. Updated the SAM template to conditionally include these subnet parameters.

Original branch: beyond-lambdas
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant