![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
lambda-cloudwatch-slack
Advanced tools
An AWS Lambda function for better Slack notifications. Check out the blog post.
This function was originally derived from the
AWS blueprint named cloudwatch-alarm-to-slack
. The
function in this repo improves on the default blueprint in several
ways:
Better default formatting for CloudWatch notifications:
Support for notifications from Elastic Beanstalk:
Support for notifications from Code Deploy:
Basic support for notifications from ElastiCache:
Support for encrypted and unencrypted Slack webhook url:
cp .env.example .env
Fill in the variables in the .env
.
Follow these steps to configure the webhook in Slack:
Navigate to https://slack.com/services/new and search for and select "Incoming WebHooks".
Choose the default channel where messages will be sent and click "Add Incoming WebHooks Integration".
Copy the webhook URL from the setup instructions and use it in the next section.
Click 'Save Settings' at the bottom of the Slack integration page.
If you don't want or need to encrypt your hook URL, you can use the
UNENCRYPTED_HOOK_URL
. If this variable is specified, the
KMS_ENCRYPTED_HOOK_URL
is ignored.
If you do want to encrypt your hook URL, follow these steps to encrypt your Slack hook URL for use in this function:
Create a KMS key - http://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html.
Encrypt the event collector token using the AWS CLI. $ aws kms encrypt --key-id alias/ --plaintext "<SLACK_HOOK_URL>"
Note: You must exclude the protocol from the URL (e.g. "hooks.slack.com/services/abc123").
Copy the base-64 encoded, encrypted key (CiphertextBlob) to the ENCRYPTED_HOOK_URL variable.
Give your function's role permission for the kms:Decrypt action. Example:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1443036478000",
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"<your KMS key ARN>"
]
}
]
}
The final step is to deploy the integration to AWS Lambda:
npm install
npm run deploy
With the variables filled in, you can test the function:
npm install
npm test
MIT License
FAQs
Better Slack notifications for AWS CloudWatch
The npm package lambda-cloudwatch-slack receives a total of 4 weekly downloads. As such, lambda-cloudwatch-slack popularity was classified as not popular.
We found that lambda-cloudwatch-slack demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.