provisioning/docs/src/getting-started/installation-guide.md

1 line
12 KiB
Markdown
Raw Normal View History

# Installation Guide\n\nThis guide will help you install Infrastructure Automation on your machine and get it ready for use.\n\n## What You'll Learn\n\n- System requirements and prerequisites\n- Different installation methods\n- How to verify your installation\n- Setting up your environment\n- Troubleshooting common installation issues\n\n## System Requirements\n\n### Operating System Support\n\n- **Linux**: Any modern distribution (Ubuntu 20.04+, CentOS 8+, Debian 11+)\n- **macOS**: 11.0+ (Big Sur and newer)\n- **Windows**: Windows 10/11 with WSL2\n\n### Hardware Requirements\n\n| Component | Minimum | Recommended |\n| ----------- | --------- | ------------- |\n| CPU | 2 cores | 4+ cores |\n| RAM | 4 GB | 8+ GB |\n| Storage | 2 GB free | 10+ GB free |\n| Network | Internet connection | Broadband connection |\n\n### Architecture Support\n\n- **x86_64** (Intel/AMD 64-bit) - Full support\n- **ARM64** (Apple Silicon, ARM servers) - Full support\n\n## Prerequisites\n\nBefore installation, ensure you have:\n\n1. **Administrative privileges** - Required for system-wide installation\n2. **Internet connection** - For downloading dependencies\n3. **Terminal/Command line access** - Basic command line knowledge helpful\n\n### Pre-installation Checklist\n\n```\n# Check your system\nuname -a # View system information\ndf -h # Check available disk space\ncurl --version # Verify internet connectivity\n```\n\n## Installation Methods\n\n### Method 1: Package Installation (Recommended)\n\nThis is the easiest method for most users.\n\n#### Step 1: Download the Package\n\n```\n# Download the latest release package\nwget https://releases.example.com/provisioning-latest.tar.gz\n\n# Or using curl\ncurl -LO https://releases.example.com/provisioning-latest.tar.gz\n```\n\n#### Step 2: Extract and Install\n\n```\n# Extract the package\ntar xzf provisioning-latest.tar.gz\n\n# Navigate to extracted directory\ncd provisioning-*\n\n# Run the installation script\nsudo ./install-provisioning\n```\n\nThe installer will:\n\n- Install to `/usr/local/provisioning`\n- Create a global command at `/usr/local/bin/provisioning`\n- Install all required dependencies\n- Set up configuration templates\n\n### Method 2: Container Installation\n\nFor containerized environments or testing.\n\n#### Using Docker\n\n```\n# Pull the provisioning container\ndocker pull provisioning:latest\n\n# Create a container with persistent storage\ndocker run -it --name provisioning-setup \\n -v ~/provisioning-data:/data \\n provisioning:latest\n\n# Install to host system (optional)\ndocker cp provisioning-setup:/usr/local/provisioning ./\nsudo cp -r ./provisioning /usr/local/\nsudo ln -sf /usr/local/provisioning/bin/provisioning /usr/local/bin/provisioning\n```\n\n#### Using Podman\n\n```\n# Similar to Docker but with Podman\npodman pull provisioning:latest\npodman run -it --name provisioning-setup \\n -v ~/provisioning-data:/data \\n provisioning:latest\n```\n\n### Method 3: Source Installation\n\nFor developers or custom installations.\n\n#### Prerequisites for Source Installation\n\n- **Git** - For cloning the repository\n- **Build tools** - Compiler toolchain for your platform\n\n#### Installation Steps\n\n```\n# Clone the repository\ngit clone https://github.com/your-org/provisioning.git\ncd provisioning\n\n# Run installation from source\n./distro/from-repo.sh\n\n# Or if you have development environment\n./distro/pack-install.sh\n```\n\n### Method 4: Manual Installation\n\nFor advanced users who want complete control.\n\n```\n# Create installation directory\nsudo mkdir -p /usr/local/provisioning\n\n# Copy files (assumes you have the source)\nsudo cp -r ./* /usr/local/provisioning/\n\n# Create global command\nsudo ln -sf /usr/local/provisioning/core/nulib/provisioning /usr/local/bin/provisioning\n\n# Install dependencies manually\n./install-dependencies.sh\n```\n\n## Installation Process Details\n\n### What Gets Installed\n\nThe installation process sets up:\n\n#### 1. Core System Files\n\n```\n/usr/local/provisioning/\n├<6E><E2949C>