graflo.object_storage.config¶
S3-compatible endpoint configuration (MinIO, AWS S3, etc.).
Used for TigerGraph bulk CSV staging and other boto3 S3 clients. Not a graph
database target. Load from docker/minio/.env via :meth:MinioConfig.from_docker_env.
S3EndpointConfig is an alias for :class:MinioConfig (name reflects any S3 API).
Attributes¶
S3EndpointConfig = MinioConfig
module-attribute
¶
Classes¶
MinioConfig
¶
Bases: BaseModel
Credentials and endpoint for MinIO or any S3-compatible API (boto3).
Source code in graflo/object_storage/config.py
Attributes¶
access_key = Field(description='S3 access key id (MinIO root user or IAM key).')
class-attribute
instance-attribute
¶
bucket = Field(default='graflo-staging', description='Default bucket for staged bulk CSV objects.')
class-attribute
instance-attribute
¶
endpoint_url = Field(description='Base URL for the S3 API, e.g. http://127.0.0.1:9000')
class-attribute
instance-attribute
¶
loader_endpoint_url = Field(default=None, description='Optional S3 API URL for TigerGraph LOADING JOB (CREATE DATA_SOURCE). Set when TigerGraph runs in Docker and MinIO is on the host (e.g. http://172.17.0.1:9003). Boto3 uses endpoint_url above.')
class-attribute
instance-attribute
¶
model_config = ConfigDict(extra='forbid')
class-attribute
instance-attribute
¶
region = Field(default='us-east-1', description='AWS region string passed to boto3 (use us-east-1 for MinIO).')
class-attribute
instance-attribute
¶
secret_key = Field(description='S3 secret access key.')
class-attribute
instance-attribute
¶
Methods:¶
from_docker_env(docker_dir=None)
classmethod
¶
Load from docker/minio/.env (same layout as other docker/* stacks).
Source code in graflo/object_storage/config.py
to_s3_generalized_conn_config()
¶
Map to runtime provider config for :class:~graflo.connections.provider.S3GeneralizedConnConfig.
Source code in graflo/object_storage/config.py
Functions:¶
parse_dotenv_file(env_file)
¶
Parse a simple KEY=value .env file (no shell expansion).