Skip to content

Commit

Permalink
chore(docs): adding the banner to the repository (#42)
Browse files Browse the repository at this point in the history
* chore(docs): adding the banner to the repository

* chore(docs): updating the documentation

* chore: updating the title to remove the word module

* fix: we need to update the reference to the repository
  • Loading branch information
gambol99 authored Sep 23, 2024
1 parent ad933fd commit a26dfcc
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 13 deletions.
21 changes: 14 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
![Github Actions](../../actions/workflows/terraform.yml/badge.svg)
<!-- markdownlint-disable -->

# Terraform AWS Notifications module
<a href="https://www.appvia.io/"><img src="./images/banner.jpg" alt="Appvia Banner"/></a><br/><p align="right"> <a href="https://registry.terraform.io/modules/appvia/notifications/aws/latest"><img src="https://img.shields.io/static/v1?label=APPVIA&message=Terraform%20Registry&color=191970&style=for-the-badge" alt="Terraform Registry"/></a></a> <a href="https://github.com/appvia/terraform-aws-notifications/releases/latest"><img src="https://img.shields.io/github/release/appvia/terraform-aws-notifications.svg?style=for-the-badge&color=006400" alt="Latest Release"/></a> <a href="https://appvia-community.slack.com/join/shared_invite/zt-1s7i7xy85-T155drryqU56emm09ojMVA#/shared-invite/email"><img src="https://img.shields.io/badge/Slack-Join%20Community-purple?style=for-the-badge&logo=slack" alt="Slack Community"/></a> <a href="https://github.com/appvia/terraform-aws-notifications/graphs/contributors"><img src="https://img.shields.io/github/contributors/appvia/terraform-aws-notifications.svg?style=for-the-badge&color=FF8C00" alt="Contributors"/></a><a href="https://img.shields.io/github/actions/workflow/status/appvia/terraform-aws-notifications/terraform.yml" alt="Release"></a>

<!-- markdownlint-restore -->

# Terraform AWS Notifications

## Description

Expand Down Expand Up @@ -74,11 +78,14 @@ The `slack` configuration can be sourced from AWS Secrets Manager, using the `va
```

## Maintenance

Frequently (quartley at least) check and upgrade:

1. Python runtime - [python_runtime](./modules/notify/variables.tf)
2. AWS PowerTools Lambda Layer for python ARN: [powertools_layer_arn_suffix](./modules/notify/variables.tf)

## Acknowledgements

- [notify-teams](https://github.com/teamclairvoyant/terraform-aws-notify-teams/releases/tag/v4.12.0.6) - distributed under Apache 2.0 license; obligations met under this GNU V3 license
- [terraform-aws-notify-slack](https://github.com/terraform-aws-modules/terraform-aws-notify-slack/releases/tag/v6.4.0) - distributed under Apache 2.0 license; obligations met under this GNU V3 license

Expand Down Expand Up @@ -129,16 +136,16 @@ Frequently (quartley at least) check and upgrade:
| <a name="input_cloudwatch_log_group_kms_key_id"></a> [cloudwatch\_log\_group\_kms\_key\_id](#input\_cloudwatch\_log\_group\_kms\_key\_id) | The KMS key id to use for encrypting the cloudwatch log group (default is none) | `string` | `null` | no |
| <a name="input_cloudwatch_log_group_retention"></a> [cloudwatch\_log\_group\_retention](#input\_cloudwatch\_log\_group\_retention) | The retention period for the cloudwatch log group (for lambda function logs) in days | `string` | `"0"` | no |
| <a name="input_create_sns_topic"></a> [create\_sns\_topic](#input\_create\_sns\_topic) | Whether to create an SNS topic for notifications | `bool` | `false` | no |
| <a name="input_email"></a> [email](#input\_email) | The configuration for Email notifications | <pre>object({<br> addresses = optional(list(string))<br> # The email addresses to send notifications to<br> })</pre> | `null` | no |
| <a name="input_email"></a> [email](#input\_email) | The configuration for Email notifications | <pre>object({<br/> addresses = optional(list(string))<br/> # The email addresses to send notifications to<br/> })</pre> | `null` | no |
| <a name="input_enable_slack"></a> [enable\_slack](#input\_enable\_slack) | To send to slack, set to true | `bool` | `false` | no |
| <a name="input_enable_teams"></a> [enable\_teams](#input\_enable\_teams) | To send to teams, set to true | `bool` | `false` | no |
| <a name="input_identity_center_role"></a> [identity\_center\_role](#input\_identity\_center\_role) | The name of the role to use when redirecting through Identity Center | `string` | `null` | no |
| <a name="input_identity_center_start_url"></a> [identity\_center\_start\_url](#input\_identity\_center\_start\_url) | The start URL of your Identity Center instance | `string` | `null` | no |
| <a name="input_post_icons_url"></a> [post\_icons\_url](#input\_post\_icons\_url) | URLs (not base64 encoded!) to publically available icons for highlighting posts of error and/or warning status. Ideally 50px square. Set to non-existent URLs to disable icons | <pre>object({<br> error_url = string<br> warning_url = string<br> })</pre> | <pre>{<br> "error_url": "https://raw.githubusercontent.com/appvia/terraform-aws-notifications/main/resources/posts-attention-icon.png",<br> "warning_url": "https://raw.githubusercontent.com/appvia/terraform-aws-notifications/main/resources/posts-warning-icon.png"<br>}</pre> | no |
| <a name="input_slack"></a> [slack](#input\_slack) | The configuration for Slack notifications | <pre>object({<br> lambda_name = optional(string, "slack-notify")<br> # The name of the lambda function to create <br> lambda_description = optional(string, "Lambda function to send slack notifications")<br> # The description for the slack lambda<br> secret_name = optional(string)<br> # An optional secret name in secrets manager to use for the slack configuration <br> webhook_url = optional(string)<br> # The webhook url to post to<br> filter_policy = optional(string)<br> # An optional SNS subscription filter policy to apply<br> filter_policy_scope = optional(string)<br> # If filter policy provided this is the scope of that policy; either "MessageAttributes" (default) or "MessageBody"<br> })</pre> | `null` | no |
| <a name="input_post_icons_url"></a> [post\_icons\_url](#input\_post\_icons\_url) | URLs (not base64 encoded!) to publically available icons for highlighting posts of error and/or warning status. Ideally 50px square. Set to non-existent URLs to disable icons | <pre>object({<br/> error_url = string<br/> warning_url = string<br/> })</pre> | <pre>{<br/> "error_url": "https://raw.githubusercontent.com/appvia/terraform-aws-notifications/main/resources/posts-attention-icon.png",<br/> "warning_url": "https://raw.githubusercontent.com/appvia/terraform-aws-notifications/main/resources/posts-warning-icon.png"<br/>}</pre> | no |
| <a name="input_slack"></a> [slack](#input\_slack) | The configuration for Slack notifications | <pre>object({<br/> lambda_name = optional(string, "slack-notify")<br/> # The name of the lambda function to create <br/> lambda_description = optional(string, "Lambda function to send slack notifications")<br/> # The description for the slack lambda<br/> secret_name = optional(string)<br/> # An optional secret name in secrets manager to use for the slack configuration <br/> webhook_url = optional(string)<br/> # The webhook url to post to<br/> filter_policy = optional(string)<br/> # An optional SNS subscription filter policy to apply<br/> filter_policy_scope = optional(string)<br/> # If filter policy provided this is the scope of that policy; either "MessageAttributes" (default) or "MessageBody"<br/> })</pre> | `null` | no |
| <a name="input_sns_topic_policy"></a> [sns\_topic\_policy](#input\_sns\_topic\_policy) | The policy to attach to the sns topic, else we default to account root | `string` | `null` | no |
| <a name="input_subscribers"></a> [subscribers](#input\_subscribers) | Optional list of custom subscribers to the SNS topic | <pre>map(object({<br> protocol = string<br> # The protocol to use. The possible values for this are: sqs, sms, lambda, application. (http or https are partially supported, see below).<br> endpoint = string<br> # The endpoint to send data to, the contents will vary with the protocol. (see below for more information)<br> endpoint_auto_confirms = bool<br> # Boolean indicating whether the end point is capable of auto confirming subscription e.g., PagerDuty (default is false)<br> raw_message_delivery = bool<br> # Boolean indicating whether or not to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property) (default is false)<br> }))</pre> | `{}` | no |
| <a name="input_teams"></a> [teams](#input\_teams) | The configuration for teams notifications | <pre>object({<br> lambda_name = optional(string, "teams-notify")<br> # The name of the lambda function to create <br> lambda_description = optional(string, "Lambda function to send teams notifications")<br> # The description for the teams lambda<br> secret_name = optional(string)<br> # An optional secret name in secrets manager to use for the slack configuration <br> webhook_url = optional(string)<br> # The webhook url to post to<br> filter_policy = optional(string)<br> # An optional SNS subscription filter policy to apply<br> filter_policy_scope = optional(string)<br> # If filter policy provided this is the scope of that policy; either "MessageAttributes" (default) or "MessageBody"<br> })</pre> | `null` | no |
| <a name="input_subscribers"></a> [subscribers](#input\_subscribers) | Optional list of custom subscribers to the SNS topic | <pre>map(object({<br/> protocol = string<br/> # The protocol to use. The possible values for this are: sqs, sms, lambda, application. (http or https are partially supported, see below).<br/> endpoint = string<br/> # The endpoint to send data to, the contents will vary with the protocol. (see below for more information)<br/> endpoint_auto_confirms = bool<br/> # Boolean indicating whether the end point is capable of auto confirming subscription e.g., PagerDuty (default is false)<br/> raw_message_delivery = bool<br/> # Boolean indicating whether or not to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property) (default is false)<br/> }))</pre> | `{}` | no |
| <a name="input_teams"></a> [teams](#input\_teams) | The configuration for teams notifications | <pre>object({<br/> lambda_name = optional(string, "teams-notify")<br/> # The name of the lambda function to create <br/> lambda_description = optional(string, "Lambda function to send teams notifications")<br/> # The description for the teams lambda<br/> secret_name = optional(string)<br/> # An optional secret name in secrets manager to use for the slack configuration <br/> webhook_url = optional(string)<br/> # The webhook url to post to<br/> filter_policy = optional(string)<br/> # An optional SNS subscription filter policy to apply<br/> filter_policy_scope = optional(string)<br/> # If filter policy provided this is the scope of that policy; either "MessageAttributes" (default) or "MessageBody"<br/> })</pre> | `null` | no |

## Outputs

Expand Down
2 changes: 1 addition & 1 deletion examples/opsgenie/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ No resources.

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_opsgenie_endpoint"></a> [opsgenie\_endpoint](#input\_opsgenie\_endpoint) | The opsgenie api endpoint url | `string` | `null` | no |
| <a name="input_sns_topic_name"></a> [sns\_topic\_name](#input\_sns\_topic\_name) | The name of the SNS topic to create | `string` | n/a | yes |
| <a name="input_opsgenie_endpoint"></a> [opsgenie\_endpoint](#input\_opsgenie\_endpoint) | The opsgenie api endpoint url | `string` | `null` | no |

## Outputs

Expand Down
2 changes: 1 addition & 1 deletion examples/teams-and-slack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ No resources.
|------|-------------|------|---------|:--------:|
| <a name="input_slack_webhook"></a> [slack\_webhook](#input\_slack\_webhook) | The URL of the slack webhook | `string` | n/a | yes |
| <a name="input_sns_topic_name"></a> [sns\_topic\_name](#input\_sns\_topic\_name) | The name of the SNS topic to create | `string` | n/a | yes |
| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `null` | no |
| <a name="input_teams_webhook"></a> [teams\_webhook](#input\_teams\_webhook) | The URL of the teams webhook | `string` | n/a | yes |
| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `null` | no |

## Outputs

Expand Down
2 changes: 1 addition & 1 deletion examples/teams/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ No resources.
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_sns_topic_name"></a> [sns\_topic\_name](#input\_sns\_topic\_name) | The name of the SNS topic to create | `string` | n/a | yes |
| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `null` | no |
| <a name="input_teams_webhook"></a> [teams\_webhook](#input\_teams\_webhook) | The URL of the teams webhook | `string` | n/a | yes |
| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `null` | no |

## Outputs

Expand Down
Binary file added images/banner.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit a26dfcc

Please sign in to comment.