-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
224 lines (178 loc) · 7.2 KB
/
.env.example
File metadata and controls
224 lines (178 loc) · 7.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# ===============================================
# Neo4j Export Tool Configuration
# ===============================================
# This file contains all available configuration options for the Neo4j export tool.
# Copy this file to .env and modify the values as needed.
# All values shown are the defaults unless otherwise noted.
# ===============================================
# Neo4j Connection Settings
# ===============================================
# Neo4j connection URI
# Supported schemes: bolt, neo4j, bolt+s, neo4j+s
# Default: bolt://localhost:7687
N4JET_NEO4J_URI=bolt://localhost:7687
# Neo4j username
# Default: neo4j
N4JET_NEO4J_USER=neo4j
# Neo4j password
# Default: (empty string)
# For production, use a secure password
N4JET_NEO4J_PASSWORD=your-secure-password
# ===============================================
# Output Configuration
# ===============================================
# Output directory for the export file
# The export will create a timestamped JSONL file in this directory
# Path should be inside the container (mapped by docker-compose)
# Default: . (current directory)
N4JET_OUTPUT_DIRECTORY=/data/export
# ===============================================
# Resource Management
# ===============================================
# Minimum free disk space in GB required on the export volume
# Export will stop if available space falls below this threshold
# Default: 10
N4JET_MIN_DISK_GB=10
# Maximum memory usage in MB before triggering garbage collection
# Default: 1024
N4JET_MAX_MEMORY_MB=1024
# ===============================================
# Export Behavior
# ===============================================
# Skip schema collection phase to speed up export
# Set to true for faster exports when schema information is not needed
# Default: false
N4JET_SKIP_SCHEMA_COLLECTION=false
# Number of records to process in each batch
# Larger values may improve performance but use more memory
# Default: 10000
N4JET_BATCH_SIZE=10000
# Enable generation of content-based hash IDs
# Set to false to skip hash computation for better performance
# Default: true
N4JET_ENABLE_HASHED_IDS=true
# ===============================================
# Error Handling and Resilience
# ===============================================
# Maximum number of retry attempts for transient failures
# Default: 5
N4JET_MAX_RETRIES=5
# Initial delay in milliseconds between retry attempts
# Uses exponential backoff for subsequent retries
# Default: 1000
N4JET_RETRY_DELAY_MS=1000
# Maximum delay in milliseconds between retry attempts
# Caps the exponential backoff to prevent excessive wait times
# Default: 30000 (30 seconds)
N4JET_MAX_RETRY_DELAY_MS=30000
# Query timeout in seconds for individual Cypher queries
# Default: 300
N4JET_QUERY_TIMEOUT_SECONDS=300
# ===============================================
# Debugging and Validation
# ===============================================
# Enable debug logging for troubleshooting
# Set to true for verbose output
# Default: false
N4JET_DEBUG=false
# Validate JSON output during export
# Set to false for slightly better performance
# Default: true
N4JET_VALIDATE_JSON=true
# ===============================================
# Test Configuration
# ===============================================
# Minimum log level for test output
# Controls verbosity of test execution logs
# Values: Debug, Info, Warn, Error, Fatal (case-insensitive)
# Default: Info
N4JET_TEST_LOG_LEVEL=Info
# ===============================================
# Security Settings
# ===============================================
# Allow insecure TLS connections (e.g., self-signed certificates)
# WARNING: Use with caution in production environments
# Default: false
N4JET_ALLOW_INSECURE=false
# ===============================================
# Memory Estimation Configuration
# ===============================================
# Average size per record in bytes for memory estimation
# Adjust based on your graph's typical property sizes
# Default: 1024 (1KB)
N4JET_NEO4J_EXPORT_AVG_RECORD_SIZE=1024
# Processing overhead multiplier for memory estimation
# Higher values reserve more memory for serialization buffers
# Default: 2.0
N4JET_NEO4J_EXPORT_OVERHEAD_MULTIPLIER=2.0
# Minimum memory to reserve in bytes
# Ensures a baseline memory reservation regardless of batch size
# Default: 104857600 (100MB)
N4JET_NEO4J_EXPORT_MIN_MEMORY_RESERVATION=104857600
# ===============================================
# JSON Serialization Configuration
# ===============================================
# JSON Serialization Buffer Size (KB)
# Initial buffer size for JSON serialization. Buffer grows as needed.
# Default: 16KB. Increase for databases with large properties.
N4JET_JSON_BUFFER_SIZE_KB=16
# ===============================================
# Path Serialization Safety Thresholds
# ===============================================
# These thresholds control automatic behavior for path serialization.
# The tool always attempts maximum extraction and degrades automatically.
# Absolute maximum path length allowed
# Paths longer than this will be truncated with an error
# Default: 100000
N4JET_MAX_PATH_LENGTH=100000
# Threshold for switching from Full to Compact mode
# When path has more nodes than this, properties are omitted
# Default: 1000
N4JET_PATH_FULL_MODE_LIMIT=1000
# Threshold for switching from Compact to IdsOnly mode
# When path has more nodes than this, only IDs are exported
# Default: 10000
N4JET_PATH_COMPACT_MODE_LIMIT=10000
# Maximum depth for serializing properties in path elements
# Default: 5
N4JET_PATH_PROPERTY_DEPTH=5
# ===============================================
# Nested Graph Element Safety Thresholds
# ===============================================
# These thresholds control automatic behavior for nested elements.
# The tool always serializes nested elements, never returns errors.
# Absolute maximum nesting depth allowed
# Default: 10
N4JET_MAX_NESTED_DEPTH=10
# Depth at which to switch from Deep to Shallow mode
# Shallow mode omits properties but includes labels/types
# Default: 5
N4JET_NESTED_SHALLOW_MODE_DEPTH=5
# Depth at which to switch from Shallow to Reference mode
# Reference mode only includes IDs and basic type info
# Default: 8
N4JET_NESTED_REFERENCE_MODE_DEPTH=8
# ===============================================
# Label Truncation Limits
# ===============================================
# These limits control how many labels are serialized for nodes
# in different contexts to prevent excessive JSON size.
# Maximum number of labels per node in full serialization mode
# When a node has more labels than this, they are truncated
# Default: 100
N4JET_MAX_LABELS_PER_NODE=100
# Maximum number of labels in reference mode (minimal serialization)
# Used when nodes appear as references in paths or nested structures
# Default: 10
N4JET_MAX_LABELS_IN_REFERENCE_MODE=10
# Maximum number of labels in path compact mode
# Used when serializing nodes within paths in compact mode
# Default: 5
N4JET_MAX_LABELS_IN_PATH_COMPACT=5
# ===============================================
# Collection Limits
# ===============================================
# Maximum number of items to include in collections (lists, maps)
# Collections larger than this are truncated with a warning
# Default: 10000
N4JET_MAX_COLLECTION_ITEMS=10000