mirror of
https://github.com/ivuorinen/gibidify.git
synced 2026-02-13 05:49:16 +00:00
feat(security): improve security features, fixes
This commit is contained in:
79
config.yaml.example
Normal file
79
config.yaml.example
Normal file
@@ -0,0 +1,79 @@
|
||||
# Gibidify Configuration Example
|
||||
# This file demonstrates all available configuration options
|
||||
|
||||
# File size limit for individual files (in bytes)
|
||||
# Default: 5242880 (5MB), Min: 1024 (1KB), Max: 104857600 (100MB)
|
||||
fileSizeLimit: 5242880
|
||||
|
||||
# Directories to ignore during traversal
|
||||
ignoreDirectories:
|
||||
- vendor
|
||||
- node_modules
|
||||
- .git
|
||||
- dist
|
||||
- build
|
||||
- target
|
||||
- bower_components
|
||||
- cache
|
||||
- tmp
|
||||
|
||||
# File type detection and filtering
|
||||
fileTypes:
|
||||
enabled: true
|
||||
customImageExtensions: []
|
||||
customBinaryExtensions: []
|
||||
customLanguages: {}
|
||||
disabledImageExtensions: []
|
||||
disabledBinaryExtensions: []
|
||||
disabledLanguageExtensions: []
|
||||
|
||||
# Back-pressure management for memory optimization
|
||||
backpressure:
|
||||
enabled: true
|
||||
maxPendingFiles: 1000 # Max files in channel buffer
|
||||
maxPendingWrites: 100 # Max writes in channel buffer
|
||||
maxMemoryUsage: 104857600 # 100MB soft memory limit
|
||||
memoryCheckInterval: 1000 # Check memory every N files
|
||||
|
||||
# Resource limits for DoS protection and security
|
||||
resourceLimits:
|
||||
enabled: true
|
||||
|
||||
# File processing limits
|
||||
maxFiles: 10000 # Maximum number of files to process
|
||||
maxTotalSize: 1073741824 # Maximum total size (1GB)
|
||||
|
||||
# Timeout limits (in seconds)
|
||||
fileProcessingTimeoutSec: 30 # Timeout for individual file processing
|
||||
overallTimeoutSec: 3600 # Overall processing timeout (1 hour)
|
||||
|
||||
# Concurrency limits
|
||||
maxConcurrentReads: 10 # Maximum concurrent file reading operations
|
||||
|
||||
# Rate limiting (0 = disabled)
|
||||
rateLimitFilesPerSec: 0 # Files per second rate limit
|
||||
|
||||
# Memory limits
|
||||
hardMemoryLimitMB: 512 # Hard memory limit (512MB)
|
||||
|
||||
# Safety features
|
||||
enableGracefulDegradation: true # Enable graceful degradation on resource pressure
|
||||
enableResourceMonitoring: true # Enable detailed resource monitoring
|
||||
|
||||
# Optional: Maximum concurrency for workers
|
||||
# Default: number of CPU cores
|
||||
# maxConcurrency: 4
|
||||
|
||||
# Optional: Supported output formats
|
||||
# Default: ["json", "yaml", "markdown"]
|
||||
# supportedFormats:
|
||||
# - json
|
||||
# - yaml
|
||||
# - markdown
|
||||
|
||||
# Optional: File patterns to include
|
||||
# Default: all files (empty list means no pattern filtering)
|
||||
# filePatterns:
|
||||
# - "*.go"
|
||||
# - "*.py"
|
||||
# - "*.js"
|
||||
Reference in New Issue
Block a user