Software /
code /
prosody-modules
File
mod_aws_profile/README.md @ 6195:886c985ece61
mod_lastlog2: Skip initializing internal API (and storage) in prosodyctl
Initializing storage in the global context under prosodyctl causes the
module.command to fail to execute because the storage module has already
been loaded.
Introduced in 7b722955c59b
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 08 Feb 2025 14:12:18 +0100 |
parent | 6003:fe081789f7b5 |
line wrap: on
line source
# Introduction This module adds support for reading AWS IAM access credentials from EC2 instance metadata, to allow Prosody modules to gain role-based access to AWS services. # Configuring ``` {.lua} modules_enabled = { "aws_profile"; } ``` There is no other configuration. # Usage in other modules Other modules can import the credentials as a shared table: ``` {.lua} local aws_credentials = module:shared("/*/aws_profile/credentials"); do_something(aws_credentials.access_key, aws_credentials.secret_key); ``` Note that credentials are time-limited, and will change periodically. The shared table will automatically be updated. If you need to know when this happens, you can also hook the `'aws_profile/credentials-refreshed'` event: ``` {.lua} module:hook_global("aws_profile/credentials-refreshed", function (new_credentials) -- do something with new_credentials.access_key/secret_key end); ``` # Compatibility Meant for use with Prosody 0.11.x, may work in older versions.