Skip to content

Import data into the incident.io Catalog from a variety of sources.

License

Notifications You must be signed in to change notification settings

incident-io/catalog-importer

Repository files navigation

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.

Catalog dashboard

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.