Skip to main content

Installation

Compose​

The backend stack is included automatically when selecting the backend stack during /ipa-compose. Run the compose skill:

/ipa-compose

Select the backend stack when prompted for stacks to include. The compose skill generates the deployment Makefile with all required parameter wiring.

Configuration​

Required Parameters​

ParameterTypeDescription
NamespaceStringProject namespace prefix for resource naming. 1-12 characters, lowercase alphanumeric and hyphens, must start with a letter.
EnvironmentStringDeployment environment. Allowed values: dev, staging, prod.
ImageUriStringFull ECR image URI including tag (e.g., 123456789012.dkr.ecr.us-east-1.amazonaws.com/repo:latest).
AuthIssuerStringOIDC issuer URL for JWT validation. Sourced from the Cognito stack IssuerUrl output.
AuthAudienceStringOIDC client ID for JWT audience validation. Sourced from the Cognito stack UserPoolClientId output.

Optional Parameters​

ParameterTypeDefaultDescription
FunctionNameStringfnLogical function name for the backend Lambda. 1-24 characters, lowercase alphanumeric and hyphens.
InvokeModeStringRESPONSE_STREAMLambda invocation mode. Allowed values: BUFFERED, RESPONSE_STREAM.
MemorySizeNumber512Lambda memory allocation in MB. Range: 128-10240.
TimeoutNumber300Lambda timeout in seconds. Range: 1-900.
ImageCommandCommaDelimitedList(empty)Override container CMD (e.g., python,-m,handler). Leave empty to use the Dockerfile CMD.

Feature Flags​

FlagDefaultDescription
EnablePassengersTablefalseCreates a DynamoDB table ({Namespace}_{Environment}_passengers) for passenger data. Adds a conditional least-privilege IAM policy to the Lambda execution role granting read/write access to the table.
EnableSqsIntegrationfalseAdds SQS SendMessage and GetQueueAttributes permissions to the Lambda execution role and injects the SQS_QUEUE_URL environment variable into the function. Also grants access to the convention-based jobs table ({Namespace}_{Environment}_jobs). Enabled automatically when the queue stack is also selected during composition.

When EnableSqsIntegration is set to true, the following additional parameters become relevant:

ParameterTypeDefaultDescription
SqsQueueUrlString(empty)SQS queue URL injected as the SQS_QUEUE_URL environment variable.
SqsSendQueueArnsString(empty)Comma-separated SQS queue ARNs for send permissions.

Wiring​

The backend stack receives values from upstream stacks. The compose skill wires these automatically in the generated Makefile.

Backend ParameterSource StackSource OutputNotes
ImageUriECRRepositoryUriAppend image tag (e.g., :latest)
AuthIssuerCognitoIssuerUrlOIDC issuer endpoint
AuthAudienceCognitoUserPoolClientIdOIDC client ID
SqsQueueUrlQueueQueueUrlOnly when EnableSqsIntegration=true
SqsSendQueueArnsQueueQueueArnOnly when EnableSqsIntegration=true

Outputs​

OutputDescriptionExport Name
ApiUrlHTTP API invoke URL (application entry point). Format: https://{api-id}.execute-api.{region}.amazonaws.com/prod{StackName}-ApiUrl
FunctionArnLambda function ARN{StackName}-FunctionArn
FunctionNameLambda function name{StackName}-FunctionName
PassengersTableArnDynamoDB passengers table ARN. Conditional -- only present when EnablePassengersTable=true.{StackName}-PassengersTableArn