Skip to content

Implemented Durable Graph Database Providers ( golem:graph WIT interfaces)#40

Merged
noise64 merged 122 commits intogolemcloud:mainfrom
harshtech123:main
Aug 6, 2025
Merged

Implemented Durable Graph Database Providers ( golem:graph WIT interfaces)#40
noise64 merged 122 commits intogolemcloud:mainfrom
harshtech123:main

Conversation

@harshtech123
Copy link
Copy Markdown
Contributor

/claim #22
/closes #22

note : the testing is undergoing with maintainer reviews , this is initial and core version of golem:graph with solid foundation , thank you !

@harshtech123
Copy link
Copy Markdown
Contributor Author

harshtech123 commented Jun 17, 2025

#Maintainers this pr contains unit tests that are ignored when env variables are not set , this test are the MOTIVATION for our upcoming golem integeration tests ! we will refactor this soon .

@harshtech123
Copy link
Copy Markdown
Contributor Author

update : testing has been completed for integration , wasm component based testing is undergoing !

@harshtech123
Copy link
Copy Markdown
Contributor Author

Screencast.from.2025-06-23.23-10-12.webm

arangodb

  • you have to run arangodb local-Instance , example

sudo docker run -d --name arangodb -e ARANGO_NO_AUTH=1 -p 8529:8529 -v arangodb_data:/var/lib/arangodb3 -v arangodb_apps:/var/lib/arangodb3-apps arangodb

@harshtech123
Copy link
Copy Markdown
Contributor Author

Screencast.from.2025-06-24.16-16-07.webm

Janusgraph

  • you have to run janusgraph local instance to test this , example
  1. we have to specify the database (cassandra) in this case , since janusgraph doesnt store data by default

sudo docker run -d --name cassandra --network janus-net -p 9042:9042 cassandra:3.11

  1. we also needs to run janus-net before the above step

sudo docker network create janus-net

  1. lastly we need to run janusgraph by specifying the database , channalizer ( since it servers websocket by default in this case it is web and http both) , maybe timeout .

sudo docker run -d --name janusgraph --network janus-net -e storage.backend=cassandra -e storage.hostname=cassandra -e gremlinserver.channelizer=org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer -e GREMLIN_OPTS="-Dtx.max-commit-time=60000 -Dstorage.cassandra.read-consistency-level=ONE -Dstorage.cassandra.write-consistency-level=ONE" -p 8182:8182 janusgraph/janusgraph:latest

@harshtech123
Copy link
Copy Markdown
Contributor Author

Screencast.from.2025-06-24.22-41-12.webm

Neo4j

  • we also have to run this locally , you can use official docker command for neo4j by default it runs on http , also needs auth 🔢
    docker run \ --publish=7474:7474 --publish=7687:7687 \ --volume=$HOME/neo4j/data:/data \ neo4j

@harshtech123
Copy link
Copy Markdown
Contributor Author

Tip : i also specified the env variables for local , in golem.yaml you have to just uncomment it which ever provider your running .

also this all three are well tested under the real instances at each level , using ureq .

@Excellencedev
Copy link
Copy Markdown

You need to rebase this pr by squashing all the commits in this pr into one

@harshtech123
Copy link
Copy Markdown
Contributor Author

@noise64 thank you so much for your detailed review , adjusted as needed please take look !

@noise64
Copy link
Copy Markdown
Contributor

noise64 commented Aug 6, 2025

Added one more request, otherwise looks good.

@harshtech123
Copy link
Copy Markdown
Contributor Author

@noise64 ready for merge , thank you so much !

@noise64 noise64 merged commit a037fea into golemcloud:main Aug 6, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Durable Graph Database Provider Components for golem:graph WIT Interface

3 participants