* Update screenshot to match current output
* Add job to Helm package and push to gh-pages branch
* Update .gitignore
* Add job to get version, semver2 compatible
* Only helm publish on main branch
* Add build arg to Dockerfile build command to set application version number
* Update screenshot to match current output
* Log level is configurable
* Alert name is provided in log line, where available.
* Capitalise Discord, check err in integration test, and other syntax issues
* Go formatting syntax fixes
* Log the common alert name or group alert name, in that precedence
* Adds development instructions to README
* Replaces deprecated io/ioutil with io package
* Catch all thrown errors and handle them.
- not catching errors could result in unknown behaviour
* Fix gofmt formatting issues
* Refactor to allow http client to be provided
- default client does not have timeout etc., we may instead wish to provide a custom http client.
* Refactor to something closer to the standard go layout
- separates alert forwarder into separate package to allow for testing/reuse
* Split out types, and split Discord client into its own package
* Renaming of symbols for readability
- no need to abbreviate words in modern IDEs
* remove go-vet hook as it is broken when go files are not in root directory
* unit tests for ~90% coverage
* Update picture in README
* Return error status codes to caller in event of error from Discord
* Remove panic, replace with error status code response and log message. Improve the status codes that are returned to provide more context on what has occurred.
* Graceful shutdown of server, including signal handling
* Integration tests
- mocks Discord server
- tests Happy case and a couple of unhappy cases
- most edge conditions are otherwise tested in unit tests
* CheckWebHook should return errors instead of logging
- additional checks in tests for nil objects
- attempt to solve integration test pollution by using different port numbers to prevent potential collision
- Temporarily comment out test causing interaction pollution with other tests
* structured logging
* feat(exponential backoff): Added to Discord client
* Serve prometheus metrics
- Monitoring for the discord client
* adds correlation ID to logging
* refactors the mock http client to allow it to work with instrumentation for monitoring
* Helm chart service monitor
* Improved flag and env var parsing
* Application version passed in via build args
* Order of precedence of configuration configuration file<environment variable<command line
* Mounts secret to file instead of in environment variable
* Adds build tag to integration tests to prevent them being run as a unit test
* Helm chart to deploy to kubernetes, including optional CiliumNetworkPolicy
* Support liveness and readiness probes from Kubernetes
* Pre-commit checks for prettier and check-yaml should ignore helm chart templates
This fixes#23
Since if listening failes on http.ListenAndServe then it would
simply hit the end of main() and thus exit with the status code
of 0, systemd or other task orchestration systems may not restart
on the count that the program did not technically signal it failed.