mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-30 19:06:21 +02:00
Add support for Cassandra auth with SSL check (#318)
Following recommended approach in Datastax documenation I've added the necessary TLS/SSL check https://docs.datastax.com/en/developer/python-driver/3.17/security/index.html
This commit is contained in:
parent
322725be04
commit
fe422b2b95
3 changed files with 10 additions and 3 deletions
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
from cassandra.cluster import Cluster
|
||||
from cassandra.auth import PlainTextAuthProvider
|
||||
from ssl import SSLContext, PROTOCOL_TLSv1_2
|
||||
|
||||
class TrustGraph:
|
||||
|
||||
|
|
@ -17,8 +18,9 @@ class TrustGraph:
|
|||
self.username = username
|
||||
|
||||
if username and password:
|
||||
ssl_context = SSLContext(PROTOCOL_TLSv1_2)
|
||||
auth_provider = PlainTextAuthProvider(username=username, password=password)
|
||||
self.cluster = Cluster(hosts, auth_provider=auth_provider)
|
||||
self.cluster = Cluster(hosts, auth_provider=auth_provider, ssl_context=ssl_context)
|
||||
else:
|
||||
self.cluster = Cluster(hosts)
|
||||
self.session = self.cluster.connect()
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from .. exceptions import RequestError
|
|||
from cassandra.cluster import Cluster
|
||||
from cassandra.auth import PlainTextAuthProvider
|
||||
from cassandra.query import BatchStatement
|
||||
from ssl import SSLContext, PROTOCOL_TLSv1_2
|
||||
import uuid
|
||||
import time
|
||||
|
||||
|
|
@ -21,12 +22,14 @@ class TableStore:
|
|||
print("Connecting to Cassandra...", flush=True)
|
||||
|
||||
if cassandra_user and cassandra_password:
|
||||
ssl_context = SSLContext(PROTOCOL_TLSv1_2)
|
||||
auth_provider = PlainTextAuthProvider(
|
||||
username=cassandra_user, password=cassandra_password
|
||||
)
|
||||
self.cluster = Cluster(
|
||||
cassandra_host,
|
||||
auth_provider=auth_provider
|
||||
auth_provider=auth_provider,
|
||||
ssl_context=ssl_context
|
||||
)
|
||||
else:
|
||||
self.cluster = Cluster(cassandra_host)
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import argparse
|
|||
import time
|
||||
from cassandra.cluster import Cluster
|
||||
from cassandra.auth import PlainTextAuthProvider
|
||||
from ssl import SSLContext, PROTOCOL_TLSv1_2
|
||||
|
||||
from .... schema import Rows
|
||||
from .... schema import rows_store_queue
|
||||
|
|
@ -17,6 +18,7 @@ from .... log_level import LogLevel
|
|||
from .... base import Consumer
|
||||
|
||||
module = ".".join(__name__.split(".")[1:-1])
|
||||
ssl_context = SSLContext(PROTOCOL_TLSv1_2)
|
||||
|
||||
default_input_queue = rows_store_queue
|
||||
default_subscriber = module
|
||||
|
|
@ -45,7 +47,7 @@ class Processor(Consumer):
|
|||
|
||||
if graph_username and graph_password:
|
||||
auth_provider = PlainTextAuthProvider(username=graph_username, password=graph_password)
|
||||
self.cluster = Cluster(graph_host.split(","), auth_provider=auth_provider)
|
||||
self.cluster = Cluster(graph_host.split(","), auth_provider=auth_provider, ssl_context=ssl_context)
|
||||
else:
|
||||
self.cluster = Cluster(graph_host.split(","))
|
||||
self.session = self.cluster.connect()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue