cartography icon indicating copy to clipboard operation
cartography copied to clipboard

migrate modules to the `ORM` data model

Open jychp opened this issue 5 months ago • 2 comments

Description: We're progressively migrating Cartography modules to the modern declarative data model using CartographyNodeSchema and CartographyRelSchema. This improves consistency, makes relationships explicit, and enables scoped cleanup.

If you're looking for a good first contribution, pick an existing module and help convert it.

Checklist

  • [ ] GCP
  • [x] GSuite
  • [ ] Jamf
  • [ ] OCI
  • [ ] GitHub (in progress by @jychp )
  • [ ] Okta (see https://github.com/cartography-cncf/cartography/pull/1585)
  • [ ] PagerDuty (see https://github.com/cartography-cncf/cartography/pull/1606)
  • [x] Azure (need to be tested, see https://github.com/cartography-cncf/cartography/pull/1555)

Checklist for AWS

  • [x] ecr: ECRRepositoryImage / ECRRepository
  • [x] elasticcache: ElasticacheCluster / ElasticacheTopic
  • [ ] elasticsearch: ESDomain
  • [x] iam: AWSPolicyStatement
  • [x] identitycenter: AWSPermissionSet
  • [x] kms: KMSAlias / KMSKey / KMSGrant
  • [x] lambda_functions: AWSLambda / AWSLambdaFunctionAlias / AWSLambdaEventSourceMapping / AWSLambdaLayer
  • [x] rds: RDSCluster / RDSInstance / RDSSnapshot / RDSInstance / DBSubnetGroup / DBSubnetGroup
  • [ ] tags: AWSTag
  • [ ] s3: S3Acl / S3Bucket / S3PolicyStatement
  • [x] secretsmanager: SecretsManagerSecret
  • [ ] elastic_ip_addresses: ElasticIPAddress / NetworkInterface
  • [ ] internet_gateways: AWSInternetGateway / AWSVpc
  • [ ] load_balancer_v2s: ELBV2Listener
  • [ ] reserved_instances: EC2ReservedInstance
  • [x] snapshots: EBSSnapshot / EBSVolume
  • [x] subnets: EC2Subnet
  • [ ] vpc + vpc_peering: AWSPeeringConnection / AWSVpc / AWSCidrBlock / AWSIpv4CidrBlock

jychp avatar Jul 02 '25 15:07 jychp

Does the AWSAccount node needs migration as well?

heryxpc avatar Jul 07 '25 21:07 heryxpc

@heryxpc yes The cleanup thing will not be used, but for consistency (and auto indexing) it's better.

And I'm trying to add more unit tests on the model itself, so definitely yes :)

jychp avatar Jul 08 '25 06:07 jychp