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.
AlarmSnsTopicArnString(empty)SNS topic ARN for alarm actions. Leave empty to keep alarms in a disabled state.

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
DashboardUrlDirect URL to the CloudWatch backend dashboard{StackName}-DashboardUrl
PassengersTableArnDynamoDB passengers table ARN. Conditional -- only present when EnablePassengersTable=true.{StackName}-PassengersTableArn