| title | Core Concepts |
|---|---|
| description | Understand the fundamental concepts of IDP-Core - Entity Templates, Entities, Properties, Relations |
IDP-Core sits at the center of a flexible, runtime-configurable data model. This section explains the fundamental concepts you need to understand.
graph TB
subgraph "Data Model"
ET[Entity Template]
E[Entity]
PD[Property Definition]
PR[Property Rules]
RD[Relation Definition]
end
ET --> PD
ET --> RD
PD --> PR
ET -.->|instantiates| E
-
Blueprints that define the structure of your entities—like database schemas defined at runtime.
-
🗄️ Entities
Instances of templates with actual data—your software catalog items.
-
Data fields with types, validation rules, and constraints.
-
Connections between entities forming a knowledge graph.
-
Query entities by attributes, property values, and relations using the filter DSL.
Unlike traditional Configuration Management Databases with rigid, predefined schemas, IDP-Core provides a flexible meta-modeling engine. You define your own data models—called Entity Templates—that mirror your organization's specific needs.
- Runtime Configurable - Create and modify data models without code changes or deployments
- Schema-less Flexibility - No predefined schemas; adapt to your organization's needs
- Graph-Based Relations - Connect entities to form a knowledge graph of your tech landscape
Here's how you might model a basic software catalog:
erDiagram
TEAM ||--o{ COMPONENT : owns
COMPONENT ||--o{ DEPLOYMENT : "deployed as"
COMPONENT ||--|| REPOSITORY : "has code in"
REPOSITORY ||--o{ PULL_REQUEST : contains
COMPONENT ||--o{ SONAR_PROJECT : "analyzed by"
TEAM {
string identifier PK
string name
string slack_channel
}
COMPONENT {
string identifier PK
string name
string status
}
REPOSITORY {
string identifier PK
string url
number stars
}
| Concept | What It Is | Example |
|---|---|---|
| Entity Template | Blueprint/schema | service, team, repository |
| Entity | Instance based on a template that contains the data | payment-service, platform-team, idp-core-repository |
| Property | Data field | name, status, url |
| Property Rules | Validation | format: EMAIL, min_value: 0 |
| Relation | Link to another entity | owned_by, depends_on |
- Define Templates - Create Entity Templates that describe your domain objects
- Add Properties - Specify what data each entity type contains
- Configure Relations - Link templates to form a graph structure
- Create Entities - Instantiate templates with actual data
Dive deeper into each concept:
- Entity Templates - Learn how to design your data model
- Properties - Understand property types and validation
- Relations - Connect your entities into a graph