https://github.com/fadyat/erida
goddess of hate
https://github.com/fadyat/erida
go k8s ko slack smtp
Last synced: about 2 months ago
JSON representation
goddess of hate
- Host: GitHub
- URL: https://github.com/fadyat/erida
- Owner: fadyat
- Created: 2023-11-11T17:42:42.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-12T10:57:08.000Z (over 2 years ago)
- Last Synced: 2025-02-10T02:53:23.872Z (over 1 year ago)
- Topics: go, k8s, ko, slack, smtp
- Language: Go
- Homepage:
- Size: 18.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Erida: Simplifying Internal Cluster Communication
**Erida** is a straightforward SMTP relay server designed for sending internal cluster emails to an authenticated SMTP
server with seamless Slack integration.
### Email Address Flexibility
Erida supports a variety of email addresses, including common ones like `avfadeev@gmail.com` and those associated with
messaging services, particularly Slack.
For Slack integration, you can use addresses following this syntax:
- User-specific Slack address: `personal.@slack`
- Channel-specific Slack address: `channel.@slack`
It's important to note that both the `username` and `channelname` are case-insensitive, and the bot must have the
necessary
permissions to access the specified Slack channels.
### Configuration Made Easy
Configuring Erida is a breeze. All you need to do is set the following environment variables:
- `SMTP_HOST`: SMTP server host
- `SMTP_PORT`: SMTP server port
- `SMTP_USER`: SMTP server username
- `SMTP_PASS`: SMTP server password
- `SLACK_TOKEN`: Slack bot token
- `SMTP_TLS` (Optional, default: true): Enable or disable Start TLS usage
For additional variables, refer to the [configuration file](internal/config.go).
### Getting Started
If you're new to configuring the bot, check out the step-by-step guide
at [Slack Quickstart](https://api.slack.com/start/quickstart).
Ensure that the bot has the necessary permissions, specifically `chat:write`.
### Example Usage
Let's walk through an example. Assume that an external SMTP server is configured to send emails to **Erida** with the
following addresses: `personal.fadyat@slack`, `channel.general@slack`, and `avfadeev@gmail.com`.
The message will be seamlessly delivered to the Slack channel `#general` and the Slack user `@fadyat`, as well as to the
email address `avfadeev@gmail.com`.
**Erida** simplifies internal communication, bridging the gap between email and Slack effortlessly.