
# provisioning-config.j2
# Infrastructure configuration for myproject
# Generated by: provctl gen deployment
# Generated at: 2025-11-20

project:
  name: "myproject"
  version: "1.0.0"
  description: "y"

infrastructure:
  # Service topology definition
  services:
    - name: "myproject-cli"
      type: "cli"
      enabled: true
      requirements:
        memory_mb: 64
        disk_mb: 50
    - name: "myproject-dashboard"
      type: "web"
      enabled: true
      port: 8080
      requirements:
        memory_mb: 128
        disk_mb: 50
      dependencies:
        - "api"
      health_check:
        type: "http"
        interval_seconds: 10
        timeout_seconds: 5
        endpoint: "http://127.0.0.1:8080"
        method: "GET"
        expected_status: 200

  # Database backend configurations
  databases:
    default: "sqlite"
    available:
      - type: "sqlite"
        path: "/var/lib/myproject/db.sqlite"
        platforms: [linux, macos, windows]

  # Cache backend configurations
  cache:
    enabled: false

# Deployment presets (for provisioning system integration)
# Preset details are fully defined in the presets.k KCL module
deployment_presets:
  note: "See presets.k for complete preset configurations"

# Resource constraints and validation
constraints:
  min_memory_mb: 64
  min_disk_mb: 50
  supported_platforms:
    - linux
    - macos
    - windows

# Integration points
integrations:
  provctl:
    # provctl can read this config and manage services
    management_enabled: true
  provisioning:
    # provisioning system can extend with terraform/kclang
    extension_enabled: true
