This can be used to import resources from legacy alerting providers into Signals.
Download the binary from GitHub releases, or if you prefer using Go toolchain, run:
go install github.com/firehydrant/signals-migrator@latest
Ensure these environment variables are set:
FIREHYDRANT_API_KEY
(retrieve this from FireHydrant Settings > API Keys)PROVIDER
e.g. 'PagerDuty'PROVIDER_API_KEY
PROVIDER_APP_ID
(optional, not all providers require this)
Afterwards, run signals-migrator import
(or go run . import
for development version), which will generate output/[PROVIDER]_to_fh_signals.tf
file.
During the process, we will attempt to match users by email to existing users in FireHydrant. For users without a match, we will ask you to decide on whether to skip the user or manually match them to existing user.
Important
If you are using Single Sign-On (SSO) for FireHydrant, users of your organization may need to log in to FireHydrant at least once before running the migration tool.
On the other hand, we can't reliably match teams ourselves as they have wide variance of identification. As such, we will ask you to select from three options:
- Skip the team
- Create a new team
- Match to an existing team
Afterwards, the tool will generate the mapping appropriately, handling de-duplication and merging as necessary.
We support importing from various providers. Refer to individual documentation for provider-specific instructions:
PagerDuty | Opsgenie | VictorOps | |
---|---|---|---|
Docs | PagerDuty | Opsgenie | VictorOps |
Import users | ✅ | ✅ | ✅ |
Import teams and members | ✅ | ✅ | ✅ |
Import escalation policies | ✅ | ✅ | ❌ |
Import scheduling strategy | ✅ | ✅ | ❌ |
A devcontainer setup has been prepared to be used in VS Code. Run direnv allow
to auto-load .env
file.
If alternative method is preferred, you will need:
- Go compiler
- Install tools in
./deps.sh
Also recommended to smooth out development outside of devcontainer:
- direnv for autoloading
.env
file, also automatically adds./bin
to$PATH
. - just for running tasks defined in
Justfile
.
Most commands in Justfile
can be run out in regular bash too.