Catalog importer
This is the official catalog importer for the incident.io
catalog. It can be used to sync catalog data from sources like local files or
GitHub and push them into the incident.io catalog.
Getting started
macOS users can install the catalog using brew:
brew tap incident-io/homebrew-taps
brew install catalog-importer
Otherwise, ensure that the go runtime is installed and then:
go install -v github.com/incident-io/catalog-importer/v2/cmd/catalog-importer@latest
Once installed, see documentation for example catalogs and CI config.
Using Docker
A Docker image is available for containerised environments; see Docker
Hub for more details of the image and available tags.
You may wish to deploy this on a scheduled basis to sync your catalog data. To do
that, you'll need to ensure that the necessary configuration is mounted into the
container and that the API key is supplied as an environment variable.
docker run \
-v $(pwd)/docs/simple:/config --workdir /config \
-e 'INCIDENT_API_KEY=<key>' \
--rm -it \
incidentio/catalog-importer:latest \
sync --config /config/importer.jsonnet
Linking the Catalog UI to your importer repository
If you manage some of your catalog types through the catalog importer, you can
now pass a --source-repo-url
parameter when running the catalog importer to
associate the URL of the repository where you're storing your catalog types
with those types.
This will prevent the catalog types you're syncing from being edited in the
catalog UI, and add a link in the UI from those types to your repository.
Contributing
We're happy to accept open-source contributions or feedback. Just open a
PR/issue and we'll get back to you. This repo contains details on
how to get started with local development, and how to publish a new release.