connect-declarative-schema
Connect a Declarative Schema source to SubImage
What this does
Loads custom nodes and relationships into SubImage's Neo4j graph from JSONL files on S3 or GCS, described by a YAML schema. SubImage automatically wires every loaded node under a per-schema DeclarativeSchemaRoot via RESOURCE edges so cleanup and re-syncs are safe. This skill covers three steps:
- Shape the source data as JSONL (one record per line,
idrequired). - Author the YAML schema (node labels, properties, relationships).
- Set up the plumbing (S3 cross-account role or GCS bucket access via the existing GCP module) and register the schema entry in the SubImage UI.
When to use
✅ User has a service/app catalog, owner mapping, or CMDB they want joined against existing SubImage nodes (AWSAccount, AWSUser, AWSEC2Instance, etc.).
✅ User wants to attach business criticality or team metadata to existing cloud resources.
✅ User already runs the GCP module and wants to drop data on GCS, or owns an AWS account they can deploy IAM in.
❌ User wants arbitrary ETL or transforms during ingestion: Declarative Schema is declarative only. Pre-shape the JSONL before upload.
❌ User wants to modify properties on nodes ingested by another module (e.g. write to an AWSEC2Instance node directly): use relationships instead, do not redeclare existing labels.
❌ User wants real-time push of records: this is sync-based, not event-driven.