cartography icon indicating copy to clipboard operation
cartography copied to clipboard

Add Scaleway module

Open jychp opened this issue 6 months ago • 0 comments

Summary

This PR add a Scaleway intel (french cloud provider). This PR only add the following resources (more resources to come in further PR):

  • ScalewayOrganization
  • ScalewayProject
  • ScalewayUser
  • ScalewayApplication
  • ScalewayGroup
  • ScalewayApiKey
  • ScalewayInstance
  • ScalewayVolume
  • ScalewaySnapshot
  • ScalewayFlexibleIp (not working at the moment due to a bug in the SDK)
graph LR
ORG(Organization) -- RESOURCE --> PRJ(Project)
ORG -- RESOURCE --> APP(Application)
ORG -- RESOURCE --> USR(User)
ORG -- RESOURCE --> GRP(ScalewayGroup)
ORG -- RESOURCE --> APIKEY(ScalewayApiKey)
PRJ -- RESOURCE --> INS(Instance)
PRJ -- RESOURCE --> FIP(FlexibleIp)
PRJ -- RESOURCE --> VOL(Volume)
PRJ -- RESOURCE --> SNAP(VolumeSnapshot)
INS -- MOUNTS --> VOL
FIP -- IDENTIFIES --> INS
VOL -- HAS --> SNAP
USR -- MEMBER_OF --> GRP(ScalewayGroup)
USR -- HAS --> APIKEY(ScalewayApiKey)
APP -- MEMBER_OF --> GRP(ScalewayGroup)
APP -- HAS --> APIKEY(ScalewayApiKey)

Checklist

Provide proof that this works (this makes reviews move faster). Please perform one or more of the following:

  • [x] Update/add unit or integration tests.
  • [x] Include a screenshot showing what the graph looked like before and after your changes.
  • [x] Include console log trace showing what happened before and after your changes.
  • [x] Update demo environment

If you are changing a node or relationship:

If you are implementing a new intel module:

Screenshot From 2025-06-20 22-05-33

WARNING:cartography.cli:A Kandji base URI was not provided.
WARNING:cartography.cli:A SnipeIT base URI was not provided.
INFO:cartography.sync:Starting sync with update tag '1750449839'
INFO:cartography.sync:Starting sync stage 'scaleway'
INFO:cartography.intel.scaleway.projects:Loading 1 Scaleway Projects into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayProject statement #1
INFO:cartography.graph.statement:Completed ScalewayProject statement #2
INFO:cartography.graph.job:Finished job ScalewayProject
INFO:cartography.intel.scaleway.iam.users:Loading 1 Scaleway Users into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayUser statement #1
INFO:cartography.graph.statement:Completed ScalewayUser statement #2
INFO:cartography.graph.job:Finished job ScalewayUser
INFO:cartography.intel.scaleway.iam.applications:Loading 2 Scaleway Applications into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayApplication statement #1
INFO:cartography.graph.statement:Completed ScalewayApplication statement #2
INFO:cartography.graph.job:Finished job ScalewayApplication
INFO:cartography.intel.scaleway.iam.groups:Loading 1 Scaleway Groups into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayGroup statement #1
INFO:cartography.graph.statement:Completed ScalewayGroup statement #2
INFO:cartography.graph.statement:Completed ScalewayGroup statement #3
INFO:cartography.graph.statement:Completed ScalewayGroup statement #4
INFO:cartography.graph.job:Finished job ScalewayGroup
INFO:cartography.intel.scaleway.iam.apikeys:Loading 4 Scaleway ApiKeys into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayApiKey statement #1
INFO:cartography.graph.statement:Completed ScalewayApiKey statement #2
INFO:cartography.graph.statement:Completed ScalewayApiKey statement #3
INFO:cartography.graph.statement:Completed ScalewayApiKey statement #4
INFO:cartography.graph.job:Finished job ScalewayApiKey
INFO:cartography.intel.scaleway.storage.volumes:Loading 1 Scaleway InstanceVolumes in project '<REDACTED>' into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayVolume statement #1
INFO:cartography.graph.statement:Completed ScalewayVolume statement #2
INFO:cartography.graph.job:Finished job ScalewayVolume
INFO:cartography.intel.scaleway.storage.snapshots:Loading 1 Scaleway InstanceSnapshots in project '<REDACTED>' into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayVolumeSnapshot statement #1
INFO:cartography.graph.statement:Completed ScalewayVolumeSnapshot statement #2
INFO:cartography.graph.statement:Completed ScalewayVolumeSnapshot statement #3
INFO:cartography.graph.job:Finished job ScalewayVolumeSnapshot
INFO:cartography.intel.scaleway.instances.instances:Loading 1 Scaleway Instance in project '<REDACTED>' into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayInstance statement #1
INFO:cartography.graph.statement:Completed ScalewayInstance statement #2
INFO:cartography.graph.statement:Completed ScalewayInstance statement #3
INFO:cartography.graph.job:Finished job ScalewayInstance
INFO:cartography.sync:Finishing sync stage 'scaleway'
INFO:cartography.sync:Finishing sync with update tag '1750449839'

jychp avatar Jun 20 '25 20:06 jychp