From 2415775ba5e5455f3d3db0046d0daeb24a3f1435 Mon Sep 17 00:00:00 2001 From: Daniel LaForce Date: Sun, 27 Apr 2025 16:04:42 -0600 Subject: [PATCH] chore: Remove original HTML files after Astro conversion --- src/pages/ansible-docs.html | 1075 -------------------- src/pages/ansible-help.html | 615 ------------ src/pages/ansible-sandbox.html | 1696 -------------------------------- src/pages/dashboard.html | 0 src/pages/homelab.html | 1067 -------------------- 5 files changed, 4453 deletions(-) delete mode 100644 src/pages/ansible-docs.html delete mode 100644 src/pages/ansible-help.html delete mode 100644 src/pages/ansible-sandbox.html delete mode 100644 src/pages/dashboard.html delete mode 100644 src/pages/homelab.html diff --git a/src/pages/ansible-docs.html b/src/pages/ansible-docs.html deleted file mode 100644 index b590fad..0000000 --- a/src/pages/ansible-docs.html +++ /dev/null @@ -1,1075 +0,0 @@ - - - - - - Ansible Sandbox Documentation | Argobox - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
-
-

Ansible Sandbox Documentation

-

- Comprehensive guide to infrastructure automation with Ansible playbooks -

-
- -
-

Introduction

- -

- Welcome to the Argobox Ansible Sandbox documentation. This guide provides detailed information about the infrastructure automation playbooks available in the sandbox environment. Whether you're new to Ansible or looking to enhance your infrastructure-as-code skills, this documentation will help you understand the concepts and implementations demonstrated in the sandbox. -

- -
-

What is Ansible?

- -

- Ansible is an open-source automation tool that simplifies infrastructure management, application deployment, and task automation. It uses a declarative language to describe system configurations and a push-based architecture to apply those configurations to managed nodes. -

- -

- Key features of Ansible include: -

- -
    -
  • Agentless architecture - no need to install special software on managed nodes
  • -
  • YAML-based playbooks that are human-readable and version-controllable
  • -
  • Extensive module library for managing virtually any IT system
  • -
  • Idempotent execution - safely run the same playbook multiple times
  • -
  • Built-in parallelism for scaling across large environments
  • -
  • Integration with cloud providers, network devices, and container platforms
  • -
-
- -
-

Why Infrastructure as Code?

- -

- Infrastructure as Code (IaC) treats infrastructure configuration as software code, allowing you to: -

- -
    -
  • Version control your infrastructure configurations
  • -
  • Automate deployment and reduce human error
  • -
  • Create consistent, repeatable environments
  • -
  • Enable collaboration among team members
  • -
  • Implement testing and validation for infrastructure changes
  • -
  • Scale infrastructure management efficiently
  • -
- -

- The Ansible Sandbox demonstrates these principles by providing real-world examples of infrastructure deployments that you can examine and execute in a safe, isolated environment. -

-
-
- -
-

Sandbox Overview

- -

- The Ansible Sandbox is a controlled environment that allows you to explore infrastructure automation without affecting production systems. Each sandbox deployment creates isolated virtual machines to safely execute Ansible playbooks. -

- -
-

Sandbox Architecture

- -

- The sandbox uses a combination of technologies to provide a realistic yet isolated environment: -

- -
    -
  • Proxmox Virtualization: Backend hypervisor for creating lightweight VMs
  • -
  • Isolated Network: Private network segments for each sandbox deployment
  • -
  • Ansible Control Node: Preconfigured with necessary collections and modules
  • -
  • Ephemeral Storage: Non-persistent storage that resets between sessions
  • -
  • Resource Limits: CPU, memory, and time boundaries to ensure fair usage
  • -
-
- -
-

Available Playbooks

- -

- The sandbox includes several playbooks of varying complexity: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PlaybookComplexityVMsEst. Runtime
Web Server DeploymentBasic1~3 min
Docker Compose StackIntermediate1~5 min
K3s Kubernetes ClusterAdvanced3~8 min
LAMP StackIntermediate1~4 min
Security HardeningAdvanced1~6 min
- -

- Each playbook demonstrates different aspects of infrastructure automation, from basic web server setup to more complex multi-node deployments. -

-
- -
-

Sandbox Limitations

- -
-
- - Important Constraints -
-

- The sandbox environment has the following limitations: -

-
    -
  • 30-minute time limit per session
  • -
  • Limited outbound internet access
  • -
  • Maximum of 3 VMs per deployment
  • -
  • No persistent storage between sessions
  • -
  • Resource caps (4 vCPU, 4GB RAM per deployment)
  • -
-
-
-
- -
-

Infrastructure Design

- -

- The sandbox uses a modular infrastructure design to isolate each deployment while providing a realistic environment for Ansible automation. -

- -
-

VM Templates

- -

- All sandbox playbooks use lightweight VM templates that boot quickly and consume minimal resources: -

- -
    -
  • Ubuntu 22.04 LTS: Modern, long-term support Linux distribution
  • -
  • Debian 11: Stable, minimal distribution ideal for server deployments
  • -
  • CentOS Stream 9: Enterprise-focused distribution for RHEL compatibility
  • -
- -

- These templates are pre-optimized with: -

- -
    -
  • Cloud-init support for dynamic provisioning
  • -
  • Python 3 pre-installed for Ansible compatibility
  • -
  • Minimal package set for faster deployment
  • -
  • SSH key-based authentication
  • -
-
- -
-

Network Architecture

- -

- Each sandbox deployment gets a dedicated private network segment with the following characteristics: -

- -
    -
  • Private 192.168.122.0/24 subnet
  • -
  • Isolated from other sandbox deployments
  • -
  • NAT for limited outbound connectivity
  • -
  • DNS resolution for package installations
  • -
  • No inbound external access
  • -
- -
-
- - Network Access -
-

- While your deployed services won't be accessible from the public internet, you'll be able to interact with them through the sandbox interface, which provides proxied access to web applications and services deployed in your environment. -

-
-
-
- -
-

Web Server Deployment Playbook

- -

- The Web Server Deployment playbook demonstrates how to automate the installation and configuration of an Nginx web server with a custom website. -

- -
-

Playbook Overview

- -

- This basic playbook covers: -

- -
    -
  • Package installation and management
  • -
  • Service configuration and startup
  • -
  • File and directory management
  • -
  • Template-based configuration
  • -
  • Handlers for service restarts
  • -
- -

- The playbook deploys a simple but fully functional web server with a customizable theme and domain configuration. -

-
- -
-

Code Structure

- -

- The playbook consists of three main components: -

- -
    -
  1. Main Playbook: web-server.yml - Defines tasks for installation and configuration
  2. -
  3. Website Template: templates/index.html.j2 - Jinja2 template for the sample website
  4. -
  5. Nginx Config Template: templates/nginx.conf.j2 - Virtual host configuration
  6. -
- -
-
-# Directory structure
-web-server/
-├── web-server.yml
-└── templates/
-    ├── index.html.j2
-    └── nginx.conf.j2
-
-
- -
-

Key Variables

- -

- The playbook uses several configurable variables: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VariableDefaultDescription
web_domainexample.localDomain name for the Nginx virtual host
web_root/var/www/htmlDirectory path for website files
enable_httpsfalseWhether to configure SSL/TLS
web_colorblueTheme color for the sample website
-
- -
-

Implementation Details

- -

- The playbook follows these steps: -

- -
    -
  1. Updates the package repository cache
  2. -
  3. Installs Nginx and required packages
  4. -
  5. Creates the web root directory
  6. -
  7. Deploys a sample website using a Jinja2 template
  8. -
  9. Configures the Nginx virtual host
  10. -
  11. Enables the site configuration
  12. -
  13. Starts and enables the Nginx service
  14. -
- -

- The playbook also includes a handler for restarting Nginx when configuration changes are made, demonstrating the handler notification pattern in Ansible. -

-
- - - - Download Web Server Playbook - -
- - - -
-

Ansible Best Practices

- -

- The sandbox playbooks demonstrate several Ansible best practices that you can apply to your own automation projects. -

- -
-

Organization

- -
    -
  • Modular Design: Breaking complex deployments into discrete tasks
  • -
  • Clear Naming: Using descriptive names for tasks, variables, and files
  • -
  • Consistent Structure: Following a standard directory layout for playbooks and roles
  • -
  • Separation of Concerns: Keeping variables, tasks, and templates properly organized
  • -
-
- -
-

Code Quality

- -
    -
  • Idempotence: Ensuring tasks can run multiple times without negative effects
  • -
  • Error Handling: Including proper failure conditions and recovery options
  • -
  • Validation: Checking inputs and preconditions before making changes
  • -
  • Documentation: Adding clear comments and documentation within playbooks
  • -
-
- -
-

Security Considerations

- -
    -
  • Least Privilege: Using minimal permissions necessary for tasks
  • -
  • Secret Management: Properly handling sensitive data
  • -
  • Secure Defaults: Starting with secure configuration baselines
  • -
  • Hardening: Including security enhancements as part of deployment
  • -
-
-
-
-
-
- - - - - - - - - - \ No newline at end of file diff --git a/src/pages/ansible-help.html b/src/pages/ansible-help.html deleted file mode 100644 index a3f24ae..0000000 --- a/src/pages/ansible-help.html +++ /dev/null @@ -1,615 +0,0 @@ - - - - - - Ansible Sandbox Help | Argobox - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - Back to Ansible Sandbox - -

Ansible Sandbox Help Guide

-

- Learn how to use and get the most out of the Ansible Sandbox environment -

-
- -
-

Getting Started

- -
-
1
-
Select a Playbook
-
-

The sandbox offers various Ansible playbooks showcasing different infrastructure automation scenarios. Choose one from the left panel based on your interests.

-

Each playbook comes with a description and information about its complexity level and typical run time.

-
-
- -
-
2
-
Explore the Playbook Code
-
-

View the Ansible YAML code to understand how the automation works. The code is syntax-highlighted for readability.

-

Hover over different sections to see what each part of the playbook does.

-
-
- -
-
3
-
Configure Parameters
-
-

Switch to the "Configuration" tab to customize various parameters for your deployment. These might include:

-
    -
  • Domain names
  • -
  • Directory paths
  • -
  • Feature toggles
  • -
  • VM template selection
  • -
  • Resource allocation
  • -
-
-
- -
-
4
-
Deploy the Environment
-
-

Click the "Deploy" button to launch the automation process. The system will:

-
    -
  1. Create necessary virtual machines
  2. -
  3. Run the selected Ansible playbook
  4. -
  5. Configure all services
  6. -
  7. Provide access to the deployed environment
  8. -
-
-
- -
-
5
-
Monitor Progress
-
-

Watch the deployment process in real-time on the "Output" tab, which shows the Ansible execution log.

-

Once deployment completes, you'll see a success message with details on how to access the deployed environment.

-
-
- -
-
6
-
Explore the Environment
-
-

After deployment, you can:

-
    -
  • View the VM status and details in the "VM Status" tab
  • -
  • Access deployed applications via provided URLs
  • -
  • See resource utilization metrics
  • -
  • Monitor the environment's remaining active time
  • -
-
-
- -
-
- - Pro Tip -
-

- Sandbox environments automatically shut down after 30 minutes to conserve resources. You'll see a countdown timer showing the remaining time. Make sure to complete your exploration before time runs out! -

-
-
- -
-

Frequently Asked Questions

- -
-
What is an Ansible playbook?
-
- An Ansible playbook is a YAML file that describes a set of tasks to be executed on remote servers. Playbooks define the desired state of systems and can configure applications, deploy software, and orchestrate advanced IT workflows. -
-
- -
-
Is the sandbox environment isolated?
-
- Yes, each sandbox environment is completely isolated. Your deployments and configurations won't affect other users or any production systems. This provides a safe space to experiment with infrastructure automation. -
-
- -
-
Can I save or download the playbooks?
-
- Yes, you can copy the playbook code to use in your own environments. Each code segment can be selected and copied to your clipboard. For a more organized approach, visit the Documentation page for downloadable versions of all playbooks. -
-
- -
-
What happens if I need more time with an environment?
-
- Currently, all sandbox environments are limited to 30 minutes. If you need more time, you can always redeploy the environment after it expires, which will give you a fresh 30-minute window to continue your exploration. -
-
- -
-
Can I modify the playbooks?
-
- The playbook code displayed is read-only to ensure consistent and reliable deployments. However, you can customize many aspects of the deployment through the Configuration tab, which allows you to adjust key parameters without modifying the underlying code. -
-
- -
-
What if I encounter an error during deployment?
-
- If an error occurs during deployment, the Output tab will display the specific error message from Ansible. You can use the "Reset" button to clear the environment and try again, potentially with different configuration options. -
-
-
- -
-

Key Terms

- -

- Playbook - A YAML file defining a series of Ansible tasks and configurations. -

- -

- Task - An individual action Ansible executes on a managed host, such as installing a package or creating a file. -

- -

- Role - A reusable, self-contained unit of tasks, variables, files, templates, and modules that can be shared across playbooks. -

- -

- Inventory - A list of hosts that Ansible will manage, grouped logically for targeted execution. -

- -

- Handler - A special type of task that only runs when notified by another task that made a change. -

- -

- Variable - A value that can be set and referenced in playbooks, making them more flexible and reusable. -

- -

- Template - A text file that uses variables to create dynamic configuration files. -

-
- - -
-
-
- - - - - - - - - \ No newline at end of file diff --git a/src/pages/ansible-sandbox.html b/src/pages/ansible-sandbox.html deleted file mode 100644 index 0f7acef..0000000 --- a/src/pages/ansible-sandbox.html +++ /dev/null @@ -1,1696 +0,0 @@ - - - - - - ArgoBox | Ansible Sandbox - - - - - - - -
-
-
- -
-
-
- - -
-
-
- -
- - -
- -
- Simulation Mode - - Active -
- - -
-
- -
-
-

Ansible Sandbox is Currently Offline

-

The Ansible Sandbox environment is currently in simulation mode. You can explore the interface, but actual deployments are not available at this time. We're working to bring the full functionality online soon.

-
-
- -
-
-

Template Deployment

-
- - -
- - -
-

Select a Template to Deploy

-

Choose from our collection of interactive visualizations to deploy with Ansible automation.

- -
- -
-
- -
-
-

Fireworks

-
Interactive fireworks animation with click-to-launch effects
-
- Popular - Basic -
-
-
- - -
-
- -
-
-

Matrix Rain

-
Digital rain effect inspired by The Matrix movie
-
- Intermediate -
-
-
- - -
-
- -
-
-

Starfield

-
3D space journey through a field of stars
-
- Basic -
-
-
- - -
-
- -
-
-

Particles

-
Interactive particle system that responds to mouse movement
-
- Intermediate -
-
-
- - -
-
- -
-
-

3D Globe

-
Interactive 3D Earth globe with custom markers
-
- New - Advanced -
-
-
-
- -
- - -
-
- - - - - - - - -
- -
- - - - - - - \ No newline at end of file diff --git a/src/pages/dashboard.html b/src/pages/dashboard.html deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/homelab.html b/src/pages/homelab.html deleted file mode 100644 index 478b098..0000000 --- a/src/pages/homelab.html +++ /dev/null @@ -1,1067 +0,0 @@ - - - - - - ArgoBox | Enterprise-Grade Home Lab Environment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
-

- Enterprise-Grade Home Lab Environment -

-

- A production-ready infrastructure platform for DevOps experimentation, distributed systems, and automating everything with code. -

-
-
-
-
-
32+
-
CPU Cores
-
-
-
-
-
-
64GB
-
RAM
-
-
-
-
-
-
12TB
-
Storage
-
-
-
-
-
-
16+
-
Services
-
-
-
- -
-
-
-
- - - -
-
argobox ~ k8s-status
-
-
-
$ kubectl get nodes
-
NAME STATUS ROLES AGE VERSION
-
argobox Ready control-plane,master 154d v1.25.16+k3s1
-
argobox-lite Ready worker 154d v1.25.16+k3s1
-
 
-
$ kubectl get pods -A | grep Running | wc -l
-
32
-
 
-
$ uptime
-
14:30:25 up 154 days, 23:12, 1 user, load average: 0.22, 0.18, 0.15
-
 
-
$ ansible-playbook status.yml
-
PLAY [Check system status] *******************************************
-
TASK [Gathering Facts] **********************************************
-
ok: [argobox]
-
ok: [argobox-lite]
-
TASK [Check service status] *****************************************
-
ok: [argobox]
-
ok: [argobox-lite]
-
PLAY RECAP **********************************************************
-
argobox : ok=2 changed=0 unreachable=0 failed=0 skipped=0
-
argobox-lite: ok=2 changed=0 unreachable=0 failed=0 skipped=0
-
$ |
-
-
-
-
-
- - -
-
-
-

Infrastructure Architecture

-

- Enterprise-grade network topology with redundancy, virtualization, and secure segmentation. -

-
- -
-
-
-
-
ISP Modem
-
- -
-
-
-
OPNsense VM
-
Primary Router
-
-
-
-
OpenWrt RPi4
-
Failover Router
-
-
- -
-
-
Core Switch
-
MikroTik Layer 3
-
- -
-
-
-
Proxmox Host
-
argobox/argobox-lite
-
-
-
-
NAS Systems
-
redcone/casablanca
-
-
-
-
Client Devices
-
Workstations/IoT
-
-
-
- -
-
-
-

Network Security

-

- Enterprise firewall with network segmentation using VLANs and strict access controls. Redundant routing with automatic failover between OPNsense and OpenWrt. -

-
- -
-
-

Virtualization

-

- Proxmox virtualization platform with ZFS storage pools in RAID10 configuration. Optimized storage pools for VMs and containers with proper resource allocation. -

-
- -
-
-

High Availability

-

- Full redundancy with failover routing, replicated storage, and resilient services. Automatic service recovery and load balancing across nodes. -

-
-
-
-
-
- - -
-
-
-

Core Technologies

-

- The ArgoBox lab leverages cutting-edge open source technologies to create a powerful, flexible infrastructure. -

-
- -
-
-
-

Kubernetes (K3s)

-

- Lightweight Kubernetes distribution running across multiple nodes for container orchestration. Powers all microservices and applications. -

-
- Multi-node cluster - Persistent volumes - Traefik ingress - Auto-healing -
-
- - - -
-
-

Proxmox

-

- Enterprise-class virtualization platform running virtual machines and containers with ZFS storage backend for data integrity. -

-
- ZFS storage - Resource balancing - Live migration - Hardware passthrough -
-
- -
-
-

Zero Trust Security

-

- Comprehensive security architecture with Cloudflare tunnels, network segmentation, and authentication at all service boundaries. -

-
- Cloudflare tunnels - OPNsense firewall - VLAN segmentation - WireGuard VPN -
-
- -
-
-

PostgreSQL

-

- Enterprise database cluster for application data storage with automated backups, replication, and performance optimization. -

-
- Automated backups - Connection pooling - Optimized for K8s - Multi-app support -
-
- -
-
-

Monitoring Stack

-

- Comprehensive monitoring with Prometheus, Grafana, and AlertManager for real-time visibility into all infrastructure components. -

-
- Prometheus metrics - Grafana dashboards - Automated alerts - Historical data -
-
-
-
-
- - -
-
-
-

Available Services

-

- Explore the various services and applications hosted in the ArgoBox environment. -

-
- -
- -

Some services require authentication and are restricted to authorized users. Available public services are highlighted and clickable.

-
- -
- -
-

- - Development Tools -

-
- -
-
-

Git Repository

-

Gitea-powered Git service for code hosting and collaboration

-
-
- - Public -
-
-
-
-
-

Dev Environment

-

VS Code Server-powered development environment

-
-
- - Restricted -
-
-
-
- - -
-

- - Knowledge & Content -

-
-
-
-
-

Knowledge Base

-

Obsidian-powered knowledge management system

-
-
- - Restricted -
-
- -
-
-

Blog

-

Obsidian-Powered technical articles and project documentation

-
-
- - Public -
-
- -
-
-

Notes

-

Obsidian-Powered technical notes and snippets

-
-
- - Public -
-
-
-
-
-

Documentation Portal

-

GitBook-Powered comprehensive system documentation and guides

-
-
- - Restricted -
-
-
-
- - -
-

- - AI & Automation -

- -
- - -
-

- - Files & Storage -

-
- -
-
-

File Browser

-

Web-based file browser for shared resources

-
-
- - Public -
-
-
-
-
-

Synology Drive

-

Enterprise file sync and collaboration platform

-
-
- - Restricted -
-
-
-
- - -
-

- - Media & Downloads -

-
-
-
-
-

ruTorrent Instance 1

-

Torrent-based download service

-
-
- - Restricted -
-
-
-
-
-

ruTorrent Instance 2

-

Torrent-based download service

-
-
- - Restricted -
-
-
-
-
-

Plex Media Server

-

Premium streaming platform for movies, TV shows, and music

-
-
- - Restricted -
-
-
-
-
-

Jellyfin

-

Open source media server alternative

-
-
- - Restricted -
-
-
-
- - -
-

- - Monitoring & Management -

-
-
-
-
-

Grafana Dashboards

-

Comprehensive system monitoring and visualization

-
-
- - Restricted -
-
-
-
-
-

Alertmanager

-

System alerts and notifications

-
-
- - Restricted -
-
-
-
-
-

Rancher

-

Kubernetes management platform

-
-
- - Restricted -
-
-
-
-
-

Network Monitor

-

Traffic analysis and network monitoring

-
-
- - Restricted -
-
-
-
- - -
-

- - Experimental Services -

-
-
-
-
-

Calendar System

-

Shared calendar and scheduling platform

-
-
- - Restricted -
-
-
-
-
-

Kanban Board

-

Task management and workflow visualization

-
-
- - Restricted -
-
-
-
-
-

Home Automation

-

Smart home control and automation hub

-
-
- - Restricted -
-
-
-
-
-
-
- - -
-
-
-

Featured Projects

-

- A showcase of technical solutions I've built and deployed. -

-
- -
-
-
- -
-

TerraTracer

-

- A GIS mapping tool for prospectors to automate mining claim boundary plotting, terrain analysis, and compliance with BLM/state regulations. -

-
- Python - Node.js - JavaScript - GIS -
-
- -
-
- -
-

Zero Trust Lab

-

- A secure home lab infrastructure using Cloudflare Zero Trust tunnels, network segmentation, and security best practices. -

-
- Cloudflare - OPNsense - VLAN - VPN -
-
- -
-
- -
-

Ansible Sandbox

-

- An interactive demo environment where users can spin up preconfigured services using Ansible automation. -

-
- Ansible - Proxmox - Python - Docker -
-
-
- - -
-
-
-

Live Dashboards

-

- Real-time monitoring and management interfaces for the ArgoBox infrastructure. -

-
- -
-
-
-
-
- - View Dashboard -
-
-
-
-

Infrastructure Metrics

-

- Real-time performance metrics for all infrastructure components. -

- -
-
- -
-
-
-
- - View Dashboard -
-
-
-
-

Kubernetes Status

-

- Monitoring dashboard for K3s cluster health and metrics. -

- -
-
- -
-
-
-
- - View Dashboard -
-
-
-
-

Network Monitor

-

- Network traffic analysis and monitoring. -

- -
-
- -
-
-
-
- - View Dashboard -
-
-
-
-

Service Portal

-

- Centralized access to all deployed services. -

- -
-
-
-
-
- - -
-
-
-

Let's Connect

-

- Have a project in mind? Reach out to discuss how I can help. -

-
- -
-
-
-
- -
-

Email

-

daniel@argobox.com

-
-
- -
-
-
- - -
- -
- - -
- -
- - -
- -
- - -
- - -
-
-
-
-
- - - - - - - - \ No newline at end of file