github ministackorg/ministack v1.1.4

latest releases: v1.3.42, v1.3.41, v1.3.40...
one month ago

[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=lambda target 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/hosts changes required for local testing:
        • Host-header: Host: {lb-name}.alb.localhost[:{port}] or the ALB's exact DNSName
        • Path prefix: /_alb/{lb-name}/path (rewrites path before rule evaluation)
    • Query/XML protocol via Action= parameter; credential scope elasticloadbalancing
    • 10 control-plane integration tests + 7 data-plane integration tests

Tests

  • 688 integration tests — all passing

Don't miss a new ministack release

NewReleases is sending notifications on new releases.