# syntaxis/.provctl/gen/values.toml # Project-specific default values for syntaxis deployment generator # # These values override the provctl defaults and are specific to syntaxis # They incorporate actual service configurations from the syntaxis codebase [project] name = "syntaxis" version = "1.0.0" description = "Syntaxis: Standalone project management platform with multi-interface support" # Syntaxis-specific service configurations # These match the actual crates and binaries in the workspace [services.cli] enabled = true name = "syntaxis-cli" display_name = "CLI Tool" type = "cli" platform_support = ["linux", "macos", "windows"] min_disk_space_mb = 100 min_memory_mb = 128 background_service = false config_location = "~/.config/syntaxis" database_required = true database_types = ["sqlite", "surrealdb"] [services.tui] enabled = true name = "syntaxis-tui" display_name = "Terminal UI" type = "tui" platform_support = ["linux", "macos"] min_disk_space_mb = 100 min_memory_mb = 256 background_service = false config_location = "~/.config/syntaxis" database_required = true database_types = ["sqlite", "surrealdb"] requires = ["cli"] [services.api] enabled = true name = "syntaxis-api" display_name = "REST API" type = "server" port = 3000 platform_support = ["linux", "macos", "windows"] min_disk_space_mb = 150 min_memory_mb = 512 background_service = true config_location = "~/.config/syntaxis" database_required = true database_types = ["sqlite", "surrealdb"] restart_policy = "on-failure" restart_delay_seconds = 5 requires = ["cli"] [services.api.health_check] type = "http" endpoint = "http://127.0.0.1:3000/health" method = "GET" expected_status = 200 interval_seconds = 10 timeout_seconds = 5 [services.dashboard] enabled = true name = "syntaxis-dashboard" display_name = "Web Dashboard" type = "web" port = 8080 platform_support = ["linux", "macos", "windows"] min_disk_space_mb = 100 min_memory_mb = 256 background_service = true config_location = "~/.config/syntaxis" database_required = false restart_policy = "on-failure" restart_delay_seconds = 5 requires = ["api"] [services.dashboard.health_check] type = "http" endpoint = "http://127.0.0.1:8080" method = "GET" expected_status = 200 interval_seconds = 10 timeout_seconds = 5 # Database configurations for syntaxis [databases] supported = ["sqlite", "surrealdb", "postgres"] default = "sqlite" [databases.sqlite] type = "sqlite" path = "/var/lib/syntaxis/db.sqlite" platform_support = ["linux", "macos", "windows"] [databases.surrealdb] type = "surrealdb" host = "localhost" port = 8000 platform_support = ["linux", "macos"] [databases.postgres] type = "postgres" host = "localhost" port = 5432 user = "syntaxis" platform_support = ["linux", "macos"] # Cache configuration (optional for syntaxis) [cache] enabled = false default = "redis" [cache.redis] type = "redis" host = "localhost" port = 6379 platform_support = ["linux", "macos"] [cache.memcached] type = "memcached" host = "localhost" port = 11211 platform_support = ["linux", "macos"] # Deployment presets for syntaxis [presets.local] name = "local" description = "CLI Only - Command-line only, manual execution" services_enabled = ["cli"] manager = "manual" database_type = "sqlite" cache_enabled = false [presets.dev] name = "dev" description = "Development - Full development stack with provctl" services_enabled = ["cli", "tui", "api", "dashboard"] manager = "provctl" database_type = "sqlite" cache_enabled = false restart_policy = "on-failure" [presets.staging] name = "staging" description = "Staging - Multi-machine deployment" services_enabled = ["cli", "api", "dashboard"] manager = "provisioning" database_type = "postgres" cache_enabled = false restart_policy = "on-failure" [presets.production] name = "production" description = "Production - HA production deployment" services_enabled = ["api", "dashboard"] manager = "provisioning" database_type = "postgres" cache_enabled = false restart_policy = "always" high_availability = true # Port mappings for syntaxis [ports] api = 3000 dashboard = 8080 database_postgres = 5432 database_surrealdb = 8000 cache_redis = 6379 cache_memcached = 11211 # Platform-specific defaults [platforms.linux] manager = "systemd" config_dir = "~/.config" data_dir = "~/.local/share" log_dir = "~/.local/share/logs" [platforms.macos] manager = "launchd" config_dir = "~/Library/Application Support" data_dir = "~/Library/Application Support" log_dir = "~/Library/Logs" [platforms.windows] manager = "windows-service" config_dir = "%APPDATA%" data_dir = "%APPDATA%" log_dir = "%APPDATA%\\Logs" # Build configuration for syntaxis [build] rust_edition = "2021" msrv = "1.75" # Templates used by syntaxis generator [templates] # Template names should match filenames in gen/templates/ kcl = ["schemas.k.tera", "defaults.k.tera", "services.k.tera", "presets.k.tera", "deployment.k.tera"] tera = ["provisioning-config.j2.tera", "provctl-config.j2.tera", "installer-settings.j2.tera"] nushell = ["export-config.nu.tera"] # Validation rules for generated code [validation] enforce_rustfmt = true enforce_kcl_style = true enforce_nushell_style = true # Minimum requirements for any syntaxis deployment min_memory_mb = 256 min_disk_space_mb = 150 # Additional syntaxis-specific settings [syntaxis] # Feature flags for what to generate include_docker_configs = false include_kubernetes_manifests = false enable_provisioning_integration = true # VAPORA integration (syntaxis as taskservs in provisioning) [syntaxis.vapora] enabled = false description = "Integration as VAPORA taskservs" taskservs_mode = "full" # Options: "full", "lite"