@@ -13,6 +13,12 @@ services:
1313 - ./bolt-project:/bolt-project:ro
1414 # Mount data directory for SQLite database (read-write)
1515 - ./data:/data
16+ # Mount SSL certificates for PuppetDB/Puppetserver integration (optional, read-only)
17+ # Uncomment and adjust paths as needed:
18+ # - /path/to/ssl/certs:/ssl-certs:ro
19+ # Mount Hiera control repository (optional, read-only)
20+ # Uncomment and adjust path as needed:
21+ # - /path/to/control-repo:/control-repo:ro
1622 # Persist node_modules
1723 - node_modules:/workspace/node_modules
1824 - backend_node_modules:/workspace/backend/node_modules
@@ -43,6 +49,68 @@ services:
4349 # Logging configuration
4450 - LOG_LEVEL=${LOG_LEVEL:-info}
4551
52+ # PuppetDB integration configuration (disabled by default)
53+ - PUPPETDB_ENABLED=${PUPPETDB_ENABLED:-false}
54+ - PUPPETDB_SERVER_URL=${PUPPETDB_SERVER_URL:-}
55+ - PUPPETDB_PORT=${PUPPETDB_PORT:-8081}
56+ - PUPPETDB_TOKEN=${PUPPETDB_TOKEN:-}
57+ - PUPPETDB_TIMEOUT=${PUPPETDB_TIMEOUT:-30000}
58+ - PUPPETDB_RETRY_ATTEMPTS=${PUPPETDB_RETRY_ATTEMPTS:-3}
59+ - PUPPETDB_RETRY_DELAY=${PUPPETDB_RETRY_DELAY:-1000}
60+ - PUPPETDB_SSL_ENABLED=${PUPPETDB_SSL_ENABLED:-false}
61+ - PUPPETDB_SSL_CA=${PUPPETDB_SSL_CA:-}
62+ - PUPPETDB_SSL_CERT=${PUPPETDB_SSL_CERT:-}
63+ - PUPPETDB_SSL_KEY=${PUPPETDB_SSL_KEY:-}
64+ - PUPPETDB_SSL_REJECT_UNAUTHORIZED=${PUPPETDB_SSL_REJECT_UNAUTHORIZED:-true}
65+ - PUPPETDB_CACHE_TTL=${PUPPETDB_CACHE_TTL:-300000}
66+ - PUPPETDB_CIRCUIT_BREAKER_THRESHOLD=${PUPPETDB_CIRCUIT_BREAKER_THRESHOLD:-5}
67+ - PUPPETDB_CIRCUIT_BREAKER_TIMEOUT=${PUPPETDB_CIRCUIT_BREAKER_TIMEOUT:-60000}
68+ - PUPPETDB_CIRCUIT_BREAKER_RESET_TIMEOUT=${PUPPETDB_CIRCUIT_BREAKER_RESET_TIMEOUT:-30000}
69+
70+ # Puppetserver integration configuration (disabled by default)
71+ - PUPPETSERVER_ENABLED=${PUPPETSERVER_ENABLED:-false}
72+ - PUPPETSERVER_SERVER_URL=${PUPPETSERVER_SERVER_URL:-}
73+ - PUPPETSERVER_PORT=${PUPPETSERVER_PORT:-8140}
74+ - PUPPETSERVER_TOKEN=${PUPPETSERVER_TOKEN:-}
75+ - PUPPETSERVER_TIMEOUT=${PUPPETSERVER_TIMEOUT:-30000}
76+ - PUPPETSERVER_RETRY_ATTEMPTS=${PUPPETSERVER_RETRY_ATTEMPTS:-3}
77+ - PUPPETSERVER_RETRY_DELAY=${PUPPETSERVER_RETRY_DELAY:-1000}
78+ - PUPPETSERVER_INACTIVITY_THRESHOLD=${PUPPETSERVER_INACTIVITY_THRESHOLD:-3600}
79+ - PUPPETSERVER_SSL_ENABLED=${PUPPETSERVER_SSL_ENABLED:-false}
80+ - PUPPETSERVER_SSL_CA=${PUPPETSERVER_SSL_CA:-}
81+ - PUPPETSERVER_SSL_CERT=${PUPPETSERVER_SSL_CERT:-}
82+ - PUPPETSERVER_SSL_KEY=${PUPPETSERVER_SSL_KEY:-}
83+ - PUPPETSERVER_SSL_REJECT_UNAUTHORIZED=${PUPPETSERVER_SSL_REJECT_UNAUTHORIZED:-true}
84+ - PUPPETSERVER_CACHE_TTL=${PUPPETSERVER_CACHE_TTL:-300000}
85+ - PUPPETSERVER_CIRCUIT_BREAKER_THRESHOLD=${PUPPETSERVER_CIRCUIT_BREAKER_THRESHOLD:-5}
86+ - PUPPETSERVER_CIRCUIT_BREAKER_TIMEOUT=${PUPPETSERVER_CIRCUIT_BREAKER_TIMEOUT:-60000}
87+ - PUPPETSERVER_CIRCUIT_BREAKER_RESET_TIMEOUT=${PUPPETSERVER_CIRCUIT_BREAKER_RESET_TIMEOUT:-30000}
88+
89+ # Hiera integration configuration (disabled by default)
90+ - HIERA_ENABLED=${HIERA_ENABLED:-false}
91+ - HIERA_CONTROL_REPO_PATH=${HIERA_CONTROL_REPO_PATH:-}
92+ - HIERA_CONFIG_PATH=${HIERA_CONFIG_PATH:-hiera.yaml}
93+ - HIERA_ENVIRONMENTS=${HIERA_ENVIRONMENTS:-["production"]}
94+ - HIERA_FACT_SOURCE_PREFER_PUPPETDB=${HIERA_FACT_SOURCE_PREFER_PUPPETDB:-true}
95+ - HIERA_FACT_SOURCE_LOCAL_PATH=${HIERA_FACT_SOURCE_LOCAL_PATH:-}
96+ - HIERA_CATALOG_COMPILATION_ENABLED=${HIERA_CATALOG_COMPILATION_ENABLED:-false}
97+ - HIERA_CATALOG_COMPILATION_TIMEOUT=${HIERA_CATALOG_COMPILATION_TIMEOUT:-60000}
98+ - HIERA_CATALOG_COMPILATION_CACHE_TTL=${HIERA_CATALOG_COMPILATION_CACHE_TTL:-300000}
99+ - HIERA_CACHE_ENABLED=${HIERA_CACHE_ENABLED:-true}
100+ - HIERA_CACHE_TTL=${HIERA_CACHE_TTL:-300000}
101+ - HIERA_CACHE_MAX_ENTRIES=${HIERA_CACHE_MAX_ENTRIES:-10000}
102+ - HIERA_CODE_ANALYSIS_ENABLED=${HIERA_CODE_ANALYSIS_ENABLED:-true}
103+ - HIERA_CODE_ANALYSIS_LINT_ENABLED=${HIERA_CODE_ANALYSIS_LINT_ENABLED:-true}
104+ - HIERA_CODE_ANALYSIS_MODULE_UPDATE_CHECK=${HIERA_CODE_ANALYSIS_MODULE_UPDATE_CHECK:-true}
105+ - HIERA_CODE_ANALYSIS_INTERVAL=${HIERA_CODE_ANALYSIS_INTERVAL:-3600000}
106+ - HIERA_CODE_ANALYSIS_EXCLUSION_PATTERNS=${HIERA_CODE_ANALYSIS_EXCLUSION_PATTERNS:-["**/vendor/**","**/fixtures/**"]}
107+
108+ # Integration priority configuration (optional)
109+ - BOLT_PRIORITY=${BOLT_PRIORITY:-5}
110+ - PUPPETDB_PRIORITY=${PUPPETDB_PRIORITY:-10}
111+ - PUPPETSERVER_PRIORITY=${PUPPETSERVER_PRIORITY:-8}
112+ - HIERA_PRIORITY=${HIERA_PRIORITY:-6}
113+
46114 healthcheck :
47115 test : ["CMD", "node", "-e", "require('http').get('http://localhost:3000/api/health', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"]
48116 interval : 30s
0 commit comments