66 lines
1.4 KiB
Markdown
66 lines
1.4 KiB
Markdown
# go-iar-notificator
|
|
|
|
A Go client and utility for interacting with the IamResponding (IaR) API, designed to send alerts and keep-alive signals for pager groups. This project is structured for extensibility and integration with custom notification workflows.
|
|
|
|
## Features
|
|
- API client for IaR with keep-alive and alerting support
|
|
- Configurable via YAML and Go structs
|
|
- Modular codebase for easy extension
|
|
- Logging with slog
|
|
|
|
## Project Structure
|
|
```
|
|
config.yml # Example configuration file
|
|
main.go # Entry point
|
|
bus/ # Event bus logic
|
|
client/ # IaR API client and helpers
|
|
config/ # Configuration structs and loading
|
|
utils/ # Utility functions
|
|
watcher/ # File or event watcher logic
|
|
```
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
- Go 1.20 or newer
|
|
- Access to the IamResponding API (credentials required)
|
|
|
|
### Installation
|
|
Clone the repository:
|
|
```sh
|
|
git clone <repo-url>
|
|
cd go-iar-notificator
|
|
```
|
|
|
|
Install dependencies:
|
|
```sh
|
|
go mod tidy
|
|
```
|
|
|
|
### Configuration
|
|
Edit `config.yml` with your IaR credentials and settings.
|
|
|
|
### Usage
|
|
Build and run the main application:
|
|
```sh
|
|
go run main.go
|
|
```
|
|
|
|
Or build a binary:
|
|
```sh
|
|
go build -o iar-notificator main.go
|
|
./iar-notificator
|
|
```
|
|
|
|
## Testing
|
|
Run all tests:
|
|
```sh
|
|
go test ./...
|
|
```
|
|
|
|
## License
|
|
MIT License
|
|
|
|
## Author
|
|
Alex Savin
|