[1.1.4] — 2026-03-30
Added
- Amazon ELBv2 / ALB (
ministack/services/alb.py) — full control plane + data plane- Load Balancers:
CreateLoadBalancer,DescribeLoadBalancers,DeleteLoadBalancer,DescribeLoadBalancerAttributes,ModifyLoadBalancerAttributes - Target Groups:
CreateTargetGroup,DescribeTargetGroups,ModifyTargetGroup,DeleteTargetGroup,DescribeTargetGroupAttributes,ModifyTargetGroupAttributes - Listeners:
CreateListener,DescribeListeners,ModifyListener,DeleteListener - Rules:
CreateRule,DescribeRules,ModifyRule,DeleteRule,SetRulePriorities - Targets:
RegisterTargets,DeregisterTargets,DescribeTargetHealth - Tags:
AddTags,RemoveTags,DescribeTags - Data plane — ALB→Lambda live traffic routing
- Incoming HTTP requests matched against configured listener rules (priority order)
- Rule conditions supported:
path-pattern,host-header,http-method,query-string,http-header(fnmatch glob matching) - Actions supported:
forward(to target group),fixed-response,redirect(301/302 with#{host}/#{path}/#{port}substitution) TargetType=lambdatarget groups: builds ALB event payload (httpMethod, path, queryStringParameters, multiValueQueryStringParameters, headers, multiValueHeaders, body, isBase64Encoded, requestContext.elb) and invokes Lambda via the in-process Lambda runtime; translates Lambda response (statusCode, headers, multiValueHeaders, body, isBase64Encoded) back to HTTP- Two addressing modes — no DNS or
/etc/hostschanges required for local testing:- Host-header:
Host: {lb-name}.alb.localhost[:{port}]or the ALB's exactDNSName - Path prefix:
/_alb/{lb-name}/path(rewrites path before rule evaluation)
- Host-header:
- Query/XML protocol via
Action=parameter; credential scopeelasticloadbalancing - 10 control-plane integration tests + 7 data-plane integration tests
- Load Balancers:
Tests
- 688 integration tests — all passing