Files
HomeAudit/migration_scripts/discovery/current_state_discovery_plan.md
2025-08-24 11:13:39 -04:00

7.2 KiB

Current State Discovery Plan

Purpose: Gather all critical information about the existing setup to ensure successful migration and optimization

Status: Required before any migration attempt

1. INFRASTRUCTURE DISCOVERY

Hardware & System Information

  • Server Hardware Details

    • CPU specifications (cores, architecture, capabilities)
    • RAM capacity and configuration
    • Storage devices (SSDs, HDDs, sizes, mount points)
    • GPU hardware (NVIDIA/AMD/Intel for acceleration)
    • Network interfaces and configuration
  • Operating System Details

    • OS version and distribution
    • Kernel version
    • Installed packages and versions
    • System services currently running
    • Firewall configuration (ufw, iptables)

Network Configuration

  • Current Network Setup
    • IP address ranges and subnets
    • Domain name currently in use
    • SSL certificates (Let's Encrypt, custom CA)
    • DNS configuration (local DNS, external)
    • Port mappings and exposed services
    • Reverse proxy configuration (if any)

2. CURRENT SERVICES INVENTORY

Docker Services

  • Container Discovery
    • All running containers (docker ps -a)
    • Docker images in use (docker images)
    • Docker networks (docker network ls)
    • Docker volumes and their contents (docker volume ls)
    • Docker Compose files location and content

Service-Specific Details

  • Database Services

    • PostgreSQL: databases, users, data size, configuration
    • Redis: configuration, data persistence, memory usage
    • InfluxDB: databases, retention policies, data size
    • Any other databases (MySQL, MongoDB, SQLite)
  • Media Services

    • Jellyfin: media library locations, user accounts, plugins
    • Immich: photo storage paths, user accounts, configurations
    • Other media services (Plex, Emby, etc.)
  • Web Services

    • Nextcloud: data directory, database backend, user accounts
    • Any web applications and their configurations
    • Static websites or custom applications
  • Monitoring & Management

    • Existing monitoring (Prometheus, Grafana, etc.)
    • Log management systems
    • Backup systems currently in place
    • Management interfaces (Portainer, etc.)

3. DATA & STORAGE DISCOVERY

Storage Layout

  • Current Storage Structure
    • Mount points and filesystem types
    • Data directory locations for each service
    • Storage usage and capacity
    • Backup locations and schedules
    • RAID configuration (if any)

Data Volumes

  • Critical Data Identification
    • Database data directories
    • Media libraries (movies, TV shows, photos)
    • User configuration files
    • SSL certificates and keys
    • Application data and logs

4. SECURITY & ACCESS DISCOVERY

Authentication

  • Current Auth Systems
    • User accounts and authentication methods
    • LDAP/Active Directory integration
    • OAuth providers in use
    • API keys and service tokens

Security Configuration

  • Current Security Measures
    • Firewall rules and exceptions
    • VPN configuration (if any)
    • fail2ban or intrusion detection
    • SSL/TLS configuration
    • Password policies and storage

5. INTEGRATION & DEPENDENCIES

Service Dependencies

  • Inter-service Communication
    • Which services depend on others
    • Database connections and credentials
    • Shared storage dependencies
    • Network communication requirements

External Integrations

  • Third-party Services
    • Cloud storage integrations
    • Email services for notifications
    • DNS providers
    • Content delivery networks
    • Backup destinations

6. PERFORMANCE & USAGE PATTERNS

Current Performance

  • Baseline Metrics
    • CPU, memory, and disk usage patterns
    • Network bandwidth utilization
    • Service response times
    • Peak usage times and loads

User Access Patterns

  • Usage Analysis
    • Which services are actively used
    • User count per service
    • Access patterns (internal vs external)
    • Critical vs non-critical services

7. BACKUP & DISASTER RECOVERY

Current Backup Strategy

  • Existing Backups
    • What is currently backed up
    • Backup schedules and retention
    • Backup destinations (local, remote)
    • Recovery procedures and testing
    • RTO/RPO requirements

8. CONFIGURATION FILES & CUSTOMIZATIONS

Service Configurations

  • Custom Configurations
    • Docker Compose files
    • Application configuration files
    • Environment variables
    • Custom scripts and automation
    • Cron jobs and systemd services

DISCOVERY EXECUTION PLAN

Phase 1: Automated Discovery (1-2 hours)

Goal: Gather system and service information automatically

Script 1: System Discovery

./discovery_scripts/system_info_collector.sh

Collects: Hardware, OS, network, storage information

Script 2: Service Discovery

./discovery_scripts/service_inventory_collector.sh

Collects: All running services, containers, configurations

Script 3: Data Discovery

./discovery_scripts/data_layout_mapper.sh

Collects: Storage layout, data locations, usage patterns

Phase 2: Manual Review (2-3 hours)

Goal: Validate automated findings and gather missing details

Review Tasks:

  1. Validate Service Inventory

    • Confirm all services are identified
    • Document any custom configurations
    • Identify critical vs non-critical services
  2. Security Configuration Review

    • Document authentication methods
    • Review firewall and security settings
    • Identify certificates and keys
  3. Integration Mapping

    • Map service dependencies
    • Document external integrations
    • Identify customizations

Phase 3: Risk Assessment (1 hour)

Goal: Identify migration risks based on current state

Risk Analysis:

  1. Data Loss Risks

    • Identify critical data that must be preserved
    • Assess backup completeness
    • Plan data migration strategy
  2. Service Disruption Risks

    • Identify dependencies that could cause failures
    • Plan service migration order
    • Prepare rollback strategies
  3. Configuration Risks

    • Document configurations that must be preserved
    • Identify hard-to-migrate customizations
    • Plan configuration migration

DELIVERABLES

After completing discovery, we'll have:

  1. Current State Report - Complete inventory of existing setup
  2. Migration Gap Analysis - What's missing from current migration plan
  3. Risk Assessment Matrix - Specific risks and mitigation strategies
  4. Updated Migration Plan - Revised plan based on actual current state
  5. Rollback Procedures - Specific procedures for your environment

CRITICAL QUESTIONS TO ANSWER

Before proceeding, we need answers to these key questions:

  1. What is your actual domain name? (replaces yourdomain.com placeholders)
  2. What services are you currently running? (to ensure none are missed)
  3. Where is your critical data stored? (to ensure no data loss)
  4. What are your uptime requirements? (to plan maintenance windows)
  5. Do you have a staging environment? (to test migration safely)
  6. What's your rollback tolerance? (how quickly can you revert if needed)

Recommendation: Execute the discovery plan first, then revise the migration approach based on actual current state rather than assumptions.