Mercurial > prosody-modules
view mod_aws_profile/README.markdown @ 4983:7c77058a1ac5
mod_compat_roles: New module providing compat shim for trunk's new role API
The new role API is translated to is_admin() calls on older versions. On newer
versions (which have the role API) this module does nothing.
It allows modules to drop their use of is_admin() (which is not available in
trunk) and switch to the new role API, while remaining compatible with
previous Prosody versions.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 11 Aug 2022 17:49:33 +0100 |
parents | 1d719d4ef18f |
children |
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.