2026-01-14 02:59:52 +00:00
|
|
|
# Taskserv Validation and Testing Guide\n\n**Version**: 1.0.0\n**Date**: 2025-10-06\n**Status**: Production Ready\n\n---\n\n## Overview\n\nThe taskserv validation and testing system provides comprehensive evaluation of infrastructure services before deployment, reducing errors and\nincreasing confidence in deployments.\n\n## Validation Levels\n\n### 1. Static Validation\n\nValidates configuration files, templates, and scripts without requiring infrastructure access.\n\n**What it checks:**\n\n- KCL schema syntax and semantics\n- Jinja2 template syntax\n- Shell script syntax (with shellcheck if available)\n- File structure and naming conventions\n\n**Command:**\n\n```\nprovisioning taskserv validate kubernetes --level static\n```\n\n### 2. Dependency Validation\n\nChecks taskserv dependencies, conflicts, and requirements.\n\n**What it checks:**\n\n- Required dependencies are available\n- Optional dependencies status\n- Conflicting taskservs\n- Resource requirements (memory, CPU, disk)\n- Health check configuration\n\n**Command:**\n\n```\nprovisioning taskserv validate kubernetes --level dependencies\n```\n\n**Check against infrastructure:**\n\n```\nprovisioning taskserv check-deps kubernetes --infra my-project\n```\n\n### 3. Check Mode (Dry-Run)\n\nEnhanced check mode that performs validation and previews deployment without making changes.\n\n**What it does:**\n\n- Runs static validation\n- Validates dependencies\n- Previews configuration generation\n- Lists files to be deployed\n- Checks prerequisites (without SSH in check mode)\n\n**Command:**\n\n```\nprovisioning taskserv create kubernetes --check\n```\n\n### 4. Sandbox Testing\n\nTests taskserv in isolated container environment before actual deployment.\n\n**What it tests:**\n\n- Package prerequisites\n- Configuration validity\n- Script execution\n- Health check simulation\n\n**Command:**\n\n```\n# Test with Docker\nprovisioning taskserv test kubernetes --runtime docker\n\n# Test with Podman\nprovisioning taskserv test kubernetes --runtime podman\n\n# Keep container for inspection\nprovisioning taskserv test kubernetes --runtime docker --keep\n```\n\n---\n\n## Complete Validation Workflow\n\n### Recommended Validation Sequence\n\n```\n# 1. Static validation (fastest, no infrastructure needed)\nprovisioning taskserv validate kubernetes --level static -v\n\n# 2. Dependency validation\nprovisioning taskserv check-deps kubernetes --infra my-project\n\n# 3. Check mode (dry-run with full validation)\nprovisioning taskserv create kubernetes --check -v\n\n# 4. Sandbox testing (optional, requires Docker/Podman)\nprovisioning taskserv test kubernetes --runtime docker\n\n# 5. Actual deployment (after all validations pass)\nprovisioning taskserv create kubernetes\n```\n\n### Quick Validation (All Levels)\n\n```\n# Run all validation levels\nprovisioning taskserv validate kubernetes --level all -v\n```\n\n---\n\n## Validation Commands Reference\n\n### `provisioning taskserv validate <taskserv>`\n\nMulti-level validation framework.\n\n**Options:**\n\n- `--level <level>` - Validation level: static, dependencies, health, all (default: all)\n- `--infra <name>` - Infrastructure context\n- `--settings <path>` - Settings file path\n- `--verbose` - Verbose output\n- `--out <format>` - Output format: json, yaml, text\n\n**Examples:**\n\n```\n# Complete validation\nprovisioning taskserv validate kubernetes\n\n# Only static validation\nprovisioning taskserv validate kubernetes --level static\n\n# With verbose output\nprovisioning taskserv validate kubernetes -v\n\n# JSON output\nprovisioning taskserv validate kubernetes --out json\n```\n\n### `provisioning taskserv check-deps <taskserv>`\n\nCheck dependencies against infrastructure.\n\n**Options:**\n\n- `--infra <name>` - Infrastructure context\n- `--settings <path>` - Settings file path\n- `--verbose` - Verbose output\n\n**Examples:**\n\n```\n# Check dependencies\nprovisioning taskserv check-deps kubernetes --infra my-project\n\n# Verbose output\nprovisioning taskserv check-deps kubernetes --infra my-project -v\n```\n\n### `provisioning tas
|