For the complete documentation index, see llms.txt. This page is also available as Markdown.

AWS Secrets +

AWS Secrets Manager integration for BoxLang system settings via the aws. namespace in getSystemSetting().

The bx-aws-secrets module registers an aws system setting provider so BoxLang can resolve secrets directly from AWS Secrets Manager using getSystemSetting().

✨ Features

  • Resolve secrets with getSystemSetting( "aws.SECRET_NAME" )

  • 3-tier configuration resolution per setting: this.aws in Application.bx, module settings, then AWS environment variables

  • In-memory TTL caching to reduce Secrets Manager API calls

  • Per-application SecretsManagerClient isolation when this.aws is defined

  • Automatic client cleanup on application shutdown

  • Graceful fallback behavior: returns null on provider errors so normal getSystemSetting() fallback continues

πŸ“¦ Requirements

  • BoxLang 1.14+

  • bx-plus module

  • AWS IAM permissions to read secrets (secretsmanager:GetSecretValue)

πŸš€ Installation

Via CommandBox

Via BoxLang OS Binary

⚑ Quick Start

  1. Install and activate bx-plus and bx-aws-secrets

  2. Configure credentials through this.aws, module settings, or AWS environment variables

  3. Resolve secrets with aws. namespaced keys

βš™οΈ Basic Configuration

Use module settings in boxlang.json when you want global defaults:

The module id for installation is bx-aws-secrets, while module settings are keyed under bxaws-secrets.

For per-app overrides and LocalStack examples, see Configuration & Usage.

πŸ” How Secret Resolution Works

For getSystemSetting( "aws.MY_SECRET" ), the provider:

  1. Resolves effective AWS settings (3-tier lookup)

  2. Checks in-memory cache using region:secretName

  3. Calls AWS Secrets Manager when cache is stale/missing

  4. Caches and returns the secret value

  5. Returns null on lookup failure, allowing standard BoxLang fallback behavior

Configuration & UsageModulesPlus Core

Last updated

Was this helpful?