Skip to content

Add support for Entity Relationships API (Beta) #148

@jeff-schnitter

Description

@jeff-schnitter

Overview

Add CLI support for the Entity Relationships API (Beta), which enables custom relationships between entities beyond standard dependencies.

API Endpoints to Implement

Based on analysis of https://docs.cortex.io/api, the following endpoints need CLI commands:

Entity Relationships

  • POST /api/v1/entity-relationships - Create entity relationship
  • GET /api/v1/entity-relationships - List entity relationships
  • GET /api/v1/entity-relationships/{id} - Get entity relationship
  • PUT /api/v1/entity-relationships/{id} - Update entity relationship
  • DELETE /api/v1/entity-relationships/{id} - Delete entity relationship

Entity Relationship Types

  • POST /api/v1/entity-relationship-types - Create relationship type
  • GET /api/v1/entity-relationship-types - List relationship types
  • GET /api/v1/entity-relationship-types/{id} - Get relationship type
  • PUT /api/v1/entity-relationship-types/{id} - Update relationship type
  • DELETE /api/v1/entity-relationship-types/{id} - Delete relationship type

Proposed CLI Structure

# Entity Relationships
cortex entity-relationships create -f <file>
cortex entity-relationships list [--source-tag <tag>] [--target-tag <tag>]
cortex entity-relationships get --id <id>
cortex entity-relationships update --id <id> -f <file>
cortex entity-relationships delete --id <id>

# Relationship Types
cortex entity-relationship-types create -f <file>
cortex entity-relationship-types list
cortex entity-relationship-types get --id <id>
cortex entity-relationship-types update --id <id> -f <file>
cortex entity-relationship-types delete --id <id>

Implementation Notes

  1. Create new command module: cortexapps_cli/commands/entity_relationships.py
  2. Follow existing patterns from catalog.py and dependencies.py
  3. Support both JSON and YAML input formats
  4. Include list command with filtering options
  5. Add appropriate test coverage in tests/test_entity_relationships.py

Priority

High - Strategic feature for advanced architecture modeling

Business Impact

Enables customers to model complex entity-to-entity relationships beyond standard dependencies, supporting advanced use cases like data lineage, ownership chains, and custom architectural patterns.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions