provisioning/templates/docs/README.md.j2
Jesús Pérez 44648e3206
chore: complete nickel migration and consolidate legacy configs
- Remove KCL ecosystem (~220 files deleted)
- Migrate all infrastructure to Nickel schema system
- Consolidate documentation: legacy docs → provisioning/docs/src/
- Add CI/CD workflows (.github/) and Rust build config (.cargo/)
- Update core system for Nickel schema parsing
- Update README.md and CHANGES.md for v5.0.0 release
- Fix pre-commit hooks: end-of-file, trailing-whitespace
- Breaking changes: KCL workspaces require migration
- Migration bridge available in docs/src/development/
2026-01-08 09:55:37 +00:00

352 lines
8.8 KiB
Django/Jinja

# Workspace {{ workspace_name | title }} Documentation
**Complete guide for deploying and managing {{ workspace_name }} infrastructure**
---
## Overview
This documentation covers deployment, configuration, and troubleshooting for the **{{ workspace_name }}** workspace.
**Key Details**:
- **Location**: {{ workspace_path }}
- **Provider**: {{ primary_provider | title }}{% if primary_zone %} ({{ primary_zone }}){% endif %}
- **Infrastructures**: {{ infrastructures | join(sep=', ') | title }}
- **Estimated Cost**: {{ pricing_estimate }}
---
## Documentation Files
### 1. [Deployment Guide](deployment-guide.md)
**Purpose**: Step-by-step deployment instructions
**Sections**:
- Prerequisites verification
- Credentials setup ({{ primary_provider | title }})
- SSH key configuration
- Workspace activation
- Server deployment
- Service installation
- Verification and monitoring
- Cleanup procedures
**When to use**: Follow this guide to deploy infrastructure from scratch.
---
### 2. [Configuration Guide](configuration-guide.md)
**Purpose**: Configuration reference and options
**Sections**:
- Configuration hierarchy
- Master configuration
- Provider configuration
- Infrastructure settings
- Server definitions
- Task services configuration
- Validation procedures
- Common configuration changes
**When to use**: Consult when modifying workspace configuration.
---
### 3. [Troubleshooting Guide](troubleshooting.md)
**Purpose**: Solutions for common issues
**Sections**:
- Authentication & credentials issues
- Server deployment problems
- Configuration validation errors
- Service installation failures
- Network connectivity issues
- Performance issues
- Debug procedures
- Diagnosis checklist
**When to use**: Consult when deployment fails or issues occur.
---
## Quick Start
### First Time Deployment
1. **Read Installation Guide**:
```bash
cat provisioning/docs/src/getting-started/installation-validation-guide.md
```
2. **Follow Deployment Guide**:
```bash
cat docs/deployment-guide.md
```
3. **Verify Deployment**:
```bash
provisioning server list
provisioning price --infra {{ default_infra }}
```
### Modify Configuration
1. **Review Options**: Read `configuration-guide.md`
2. **Make Changes**: Edit `infra/{{ default_infra }}/servers.ncl`
3. **Validate**: `nickel typecheck infra/{{ default_infra }}/main.ncl`
4. **Deploy**: `provisioning -c server create --infra {{ default_infra }}`
### Troubleshoot Issues
1. **Find Issue**: Search in `troubleshooting.md`
2. **Follow Solutions**: Execute recommended steps
3. **Check Logs**: `tail -f provisioning/platform/orchestrator/data/orchestrator.log`
---
## Workspace Overview
{% for infra in infrastructures %}
### Infrastructure: {{ infra | title }}
**Purpose**: {{ infrastructure_purposes[infra] }}
**Location**: `infra/{{ infra }}/`
**Servers**:
{% for server in servers %}
- `{{ server.name }}` - {{ server.plan }} ({{ server.storage }}GB storage)
{% endfor %}
**Services**:
{% for service in taskservs %}
- {{ service }}
{% endfor %}
**Provider**: {{ primary_provider | title }}{% if primary_zone %} ({{ primary_zone }} zone){% endif %}
{% endfor %}
---
## Prerequisites
Before using this workspace:
1. **Complete Installation Validation**
- Read: `provisioning/docs/src/getting-started/installation-validation-guide.md`
- Verify all prerequisites installed
2. **Have Provider Account**
- Account at {{ provider_url }}
- API credentials available
- Sufficient account balance
3. **Have SSH Key**
- Generate: `ssh-keygen -t ed25519 -f ~/.ssh/id_deployment`
- Location: `~/.ssh/id_deployment.pub`
---
## Key Commands
### Workspace Management
```bash
# Register workspace
provisioning workspace register {{ workspace_name }} {{ workspace_path }}
# Activate workspace
provisioning workspace activate {{ workspace_name }}:{{ default_infra }}
# Check active workspace
provisioning workspace active
# Validate workspace
nu workspace.nu validate
```
### Server Management
```bash
# List servers
provisioning server list --infra {{ default_infra }}
# Check pricing
provisioning price --infra {{ default_infra }}
# Dry-run deployment
provisioning -c server create --infra {{ default_infra }}
# Deploy servers
provisioning server create --infra {{ default_infra }}
# SSH to server
provisioning server ssh {{ servers[0].name }}
# Delete servers
provisioning server delete --infra {{ default_infra }}
```
### Configuration Management
```bash
# Validate Nickel files
nickel typecheck config/config.ncl
nickel typecheck infra/{{ default_infra }}/main.ncl
# Validate workspace
nu workspace.nu validate
# Export configuration
provisioning config export
```
---
## Common Workflows
### Complete Deployment
```bash
# 1. Activate workspace
provisioning workspace activate {{ workspace_name }}:{{ default_infra }}
# 2. Check pricing
provisioning price --infra {{ default_infra }}
# 3. Dry-run
provisioning -c server create --infra {{ default_infra }}
# 4. Deploy
provisioning server create --infra {{ default_infra }}
# 5. Verify
provisioning server list --infra {{ default_infra }}
```
### Update Configuration
```bash
# 1. Make changes
vim infra/{{ default_infra }}/servers.ncl
# 2. Validate
nickel typecheck infra/{{ default_infra }}/main.ncl
# 3. Dry-run
provisioning -c server create --infra {{ default_infra }}
# 4. Deploy
provisioning server create --infra {{ default_infra }}
```
### Cleanup
```bash
# 1. Delete servers
provisioning server delete --infra {{ default_infra }}
# 2. Clean cache
provisioning cache clean
rm -rf {{ workspace_path }}/.providers/*/state/*
# 3. Verify
provisioning server list --infra {{ default_infra }}
```
---
## Workspace Structure
```
{{ workspace_path }}/
├── docs/ # This directory
│ ├── README.md # Overview and quick start
│ ├── deployment-guide.md # Deployment instructions
│ ├── configuration-guide.md # Configuration reference
│ └── troubleshooting.md # Common issues
├── config/ # Workspace configuration
│ ├── config.ncl # Master Nickel config
│ ├── kms.toml # KMS configuration
│ ├── providers/ # Provider configs
│ └── generated/ # Exported TOML files
├── infra/ # Infrastructure definitions
{% for infra in infrastructures %}
│ ├── {{ infra }}/ # {{ infra | title }} infrastructure
│ │ ├── main.ncl # Main entry point
│ │ ├── settings.ncl # Settings
│ │ ├── servers.ncl # Server definitions
│ │ └── taskservs/ # Task services
{% endfor %}
├── .providers/ # Provider modules
├── .taskservs/ # Task service modules
├── .kms/ # KMS data
├── data/ # Runtime data (cache, prices)
├── workspace.nu # Workspace utility
└── README.md # Workspace overview (root)
```
---
## Support & Resources
### Documentation
- **Installation**: `provisioning/docs/src/getting-started/installation-validation-guide.md`
- **Deployment**: `docs/deployment-guide.md`
- **Configuration**: `docs/configuration-guide.md`
- **Troubleshooting**: `docs/troubleshooting.md`
### External Resources
- **{{ primary_provider | title }}**: {{ provider_url }}
- **{{ primary_provider | title }} API**: {{ provider_api_url }}
- **Kubernetes**: https://kubernetes.io/docs/
### Getting Help
**For Deployment Issues**:
- See Deployment section in troubleshooting.md
- Check logs: `tail -f provisioning/platform/orchestrator/data/orchestrator.log`
- Enable debug: `provisioning --debug server create --infra {{ default_infra }}`
**For Configuration Issues**:
- See Configuration section in troubleshooting.md
- Review examples in configuration-guide.md
- Validate: `nickel typecheck config/config.ncl`
**For Service Issues**:
- See Service Installation section in troubleshooting.md
- Check service status: `provisioning taskserv list --infra {{ default_infra }}`
---
## Next Steps
1. **Start with Installation Validation**
- Read: `provisioning/docs/src/getting-started/installation-validation-guide.md`
2. **Follow Deployment Guide**
- Read: `docs/deployment-guide.md`
- Execute step-by-step
3. **Modify Configuration (Optional)**
- Read: `docs/configuration-guide.md`
- Make needed changes
4. **Troubleshoot if Issues**
- Read: `docs/troubleshooting.md`
- Find and fix issues
---
**Workspace**: {{ workspace_name }}
**Location**: {{ workspace_path }}
**Provider**: {{ primary_provider | title }}
**Infrastructures**: {{ infrastructures | join(sep=', ') | title }}
**Generated**: 2025-01-07