Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ekristen/amihan
Trigger Nomad Jobs using Alertmanager Webhooks
https://github.com/ekristen/amihan
Last synced: 5 days ago
JSON representation
Trigger Nomad Jobs using Alertmanager Webhooks
- Host: GitHub
- URL: https://github.com/ekristen/amihan
- Owner: ekristen
- License: mit
- Created: 2023-06-11T21:04:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-06-12T13:03:11.000Z (over 1 year ago)
- Last Synced: 2025-01-11T21:42:41.526Z (6 days ago)
- Language: Go
- Size: 29.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go Project Template
This is an opinionated go project template to use as a starting point for new projects.
## Features
- Builds with [GoReleaser](https://goreleaser.com)
- Automated with GitHub Actions
- Signed with Cosign (providing you generate a private key)
- Builds with Docker
- While designed to use goreleaser, you can still just run `docker build`
- Opinionated Layout
- Never use `internal/` folder
- Everything is under `pkg/` folder
- Automatic Dependency Management with [Renovate](https://github.com/renovatebot/renovate)
- Automatic Releases with [Release Drafter](https://github.com/release-drafter/release-drafter)
- Documentation with Material for MkDocs
- API Server Example
- Uses Gorilla Mux (yes it's been archived, still the best option)
- Stubbed out Go Tests
- They are not comprehensive## Building
The following will build binaries in snapshot order.
```console
goreleaser --clean --snapshot
```## Configure
1. Rename Repository
2. Generate Cosign Keys
3. Update `.goreleaser.yml`
4. Update `main.go`### Signing
1. Create a password
- Recommend exporting in environment as `COSIGN_PASSWORD`
2. Generate cosign keys
3. Create GitHub Action Secrets
- `COSIGN_KEY` -> populate with cosign.key value
- `COSIGN_PASSWORD` -> populate with password from step 1#### Generate Keypair
```console
cosign generate-key-pair
```## Documentation
The project is built to have the documentation right alongside the code in the `docs/` directory leveraging Mkdocs Material.
In the root of the project exists mkdocs.yml which drives the configuration for the documentation.
This README.md is currently copied to `docs/index.md` and the documentation is automatically published to the GitHub
pages location for this repository using a GitHub Action workflow. It does not use the `gh-pages` branch.### Running Locally
```console
make docs-serve
```OR (if you have docker)
```console
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material
```