4.4 KiB
4.4 KiB
install.func Flowchart
Installation Workflow
┌──────────────────────────────────┐
│ Container Started │
│ (Inside LXC by build.func) │
└──────────────┬───────────────────┘
│
▼
┌──────────────────────┐
│ Source Functions │
│ $FUNCTIONS_FILE_PATH │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ setting_up_container│
│ Display setup msg │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ network_check() │
│ (Verify internet) │
└────┬──────────────┬──┘
│ │
OK FAIL
│ │
│ ▼
│ ┌──────────────┐
│ │ Retry Check │
│ │ 3 attempts │
│ └────┬─────┬───┘
│ │ │
│ OK FAIL
│ │ │
└──────────────┘ │
│ │
▼ ▼
┌──────────────────────┐ ┌──────────────┐
│ update_os() │ │ Exit Error │
│ (apt update/upgrade) │ │ No internet │
└──────────┬───────────┘ └──────────────┘
│
▼
┌──────────────────────┐
│ verb_ip6() [optional]│
│ (Enable IPv6) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Application │
│ Installation │
│ (Main work) │
└──────────┬───────────┘
│
┌───────┴────────┐
│ │
SUCCESS FAILED
│ │
│ └─ error_handler catches
│ (if catch_errors active)
│
▼
┌──────────────────────┐
│ motd_ssh() │
│ (Setup SSH/MOTD) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ customize() │
│ (Apply settings) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ cleanup_lxc() │
│ (Final cleanup) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Installation │
│ Complete ✓ │
└──────────────────────┘
Network Check Retry Logic
network_check()
│
├─ Ping 8.8.8.8 (Google DNS)
│ └─ Response?
│ ├─ YES: Continue
│ └─ NO: Retry
│
├─ Retry 1
│ └─ Wait 5s, ping again
│
├─ Retry 2
│ └─ Wait 5s, ping again
│
└─ Retry 3
├─ If OK: Continue
└─ If FAIL: Exit Error
(Network unavailable)
Visual Reference for: install.func container setup workflows Last Updated: December 2025