https://github.com/parseablehq/datasources
This is the repo to serve as the central source for all datasources supported in parseable
https://github.com/parseablehq/datasources
Last synced: about 2 months ago
JSON representation
This is the repo to serve as the central source for all datasources supported in parseable
- Host: GitHub
- URL: https://github.com/parseablehq/datasources
- Owner: parseablehq
- Created: 2026-01-12T16:44:55.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-01-15T11:28:20.000Z (2 months ago)
- Last Synced: 2026-01-15T16:24:24.961Z (2 months ago)
- Language: JavaScript
- Size: 451 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Parseable Integrations Catalog
Single source of truth for Parseable integrations metadata, shared between:
- Prism (product UI)
- Docs (docs site)
This repository is a **data package**, not an application.
---
## Source of truth
**Only the following are edited manually:**
- `catalog/integrations/*.json`
One integration per file. This is the only editable source of integration data.
- `catalog/taxonomies/*`
Controlled vocabularies for resources and telemetry types.
- `assets/*`
Integration logos. Each integration must reference a logo via `assets.logo`.
Everything else in this repo is **generated**.
---
## Generated files (do not edit manually)
Generated by running `pnpm build`:
- `catalog/groups.json`
Grouped view of integrations by resource.
- `dist/integrations.json`
Flat, UI-ready list of integrations.
- `dist/integrations.min.json`
- `dist/integrations-index.json`
Map keyed by integration id.
- `dist/resources.json`
Resource-wise sections for UI rendering.
- `dist/resources-index.json`
- `dist/search-index.json`
Lightweight search tokens.
If any of these files change, they **must be committed**.
---
## Build & validation
Run from the repository root:
```bash
pnpm build
```
This will:
1. Validate all integrations and assets
2. Generate catalog/groups.json
3. Generate all dist/\* artifacts
A pre-commit hook and CI workflow enforce this automatically.
## Usage as a submodule
This repository is consumed as a **git submodule** by downstream projects.
### Prism (product UI)
Prism consumes:
- `dist/resources.json` for sectioned UI rendering
- `dist/integrations.json` for search and filters
- `assets/` copied into `public/` at build time for logos
Prism does **not** run any build or validation scripts from this repository.
### Docs (docs site)
Docs follow the same consumption model as Prism:
- Read structured data from `dist/*`
- Render logos from copied `assets/*`
Docs never modify or regenerate catalog data.
## Rules
- ❌ Do not edit `catalog/groups.json`
- ❌ Do not edit anything under `dist/`
- ❌ Do not add integrations outside `catalog/integrations/`
- ❌ Do not reference assets outside the `assets/` directory
- ✅ Edit only `catalog/integrations/*.json`
- ✅ Always run `pnpm build` before committing
- ✅ Commit generated files when they change
## Why this design
- One file per integration scales cleanly and avoids merge conflicts
- A strict single source of truth prevents data drift
- UI-specific data shapes are generated, not hand-maintained
- Downstream apps consume static JSON only, with zero build logic
- Assets are versioned alongside metadata for consistency
- Validation and generation are enforced via pre-commit hooks and CI
## Integration template
Use the following template when adding a new integration under
`catalog/integrations/`.
```json
{
"id": "example-integration",
"name": "Example Integration",
"resource": "observability-agents",
"telemetry_types": ["logs"],
"description": "Short description of the integration.",
"links": {
"docs": "https://parseable.com/docs/ingest/example"
},
"assets": {
"logo": "assets/logos/example.svg"
}
}
```