Files
metabuilder/dbal/shared/seeds/config/bootstrap.json
2026-03-09 22:30:41 +00:00

187 lines
4.2 KiB
JSON

{
"version": "1.0",
"description": "Bootstrap configuration for MetaBuilder package system initialization",
"bootstrap": {
"mode": "auto",
"failOnError": false,
"verbose": true,
"dryRun": false,
"validatePackages": true,
"validateDependencies": true,
"skipBrokenPackages": true,
"retryAttempts": 3,
"retryDelayMs": 1000,
"timeoutMs": 30000
},
"sources": {
"local": {
"enabled": true,
"path": "./packages",
"priority": 0,
"description": "Local packages in /packages directory"
}
},
"phases": [
{
"id": 1,
"name": "Core System",
"description": "Essential system packages - installation cannot proceed without these",
"required": true,
"packages": {
"source": "core-packages.yaml",
"filter": "priority=1"
}
},
{
"id": 2,
"name": "Base UI",
"description": "User interface foundation packages",
"required": true,
"packages": {
"source": "core-packages.yaml",
"filter": "priority=2"
}
},
{
"id": 3,
"name": "Essential Features",
"description": "Core application features",
"required": true,
"packages": {
"source": "core-packages.yaml",
"filter": "priority=3"
}
},
{
"id": 4,
"name": "Administration",
"description": "User and role management",
"required": true,
"packages": {
"source": "core-packages.yaml",
"filter": "priority=4"
}
},
{
"id": 5,
"name": "Admin Tools",
"description": "Advanced administration tools",
"required": false,
"packages": {
"source": "core-packages.yaml",
"filter": "priority=5-6"
}
},
{
"id": 6,
"name": "Recommended",
"description": "Recommended optional packages",
"required": false,
"packages": {
"source": "core-packages.yaml",
"filter": "section=recommended"
}
},
{
"id": 7,
"name": "Development Tools",
"description": "Development and debugging packages (dev environments only)",
"required": false,
"packages": {
"source": "core-packages.yaml",
"filter": "section=development"
},
"conditions": [
"NODE_ENV=development"
]
}
],
"database": {
"seedFiles": [
"database/installed_packages.yaml",
"database/package_permissions.yaml"
],
"skipIfPopulated": true,
"useTransactions": true,
"validateSchema": true
},
"hooks": {
"preBootstrap": {
"description": "Run before any bootstrap operations",
"commands": []
},
"postBootstrap": {
"description": "Run after successful bootstrap",
"commands": [
"dbal validate-schema",
"dbal verify-packages"
]
},
"onError": {
"description": "Run if bootstrap fails",
"commands": [
"dbal rollback-seed"
]
},
"prePhase": {
"description": "Run before each installation phase",
"commands": []
},
"postPhase": {
"description": "Run after each installation phase",
"commands": [
"dbal verify-phase-integrity"
]
}
},
"logging": {
"level": "info",
"file": "logs/bootstrap.log",
"console": true,
"structured": true
},
"environments": {
"development": {
"bootstrap": {
"verbose": true,
"failOnError": false
},
"phases": [
{
"id": 7,
"enabled": true
}
]
},
"production": {
"bootstrap": {
"verbose": false,
"failOnError": true,
"validatePackages": true,
"validateDependencies": true
},
"phases": [
{
"id": 7,
"enabled": false
}
]
},
"test": {
"bootstrap": {
"dryRun": false,
"skipIfPopulated": false
},
"database": {
"skipIfPopulated": false,
"useTransactions": true
}
}
},
"cleanup": {
"removeOrphanedPackageData": false,
"archiveOldVersions": false,
"cleanupLogs": true,
"logRetentionDays": 30
}
}