Add web setup UI for first-boot config

- server.py: Flask-free Python web server on port 80
  - 4-step wizard: network → tier → tools → live install log
  - DHCP or static IP support
  - SSE log streaming, handles phase-1 reboot gracefully
- user-data: deploy web UI service instead of TUI (whiptail)
  - sets hostname to cezenai (accessible as cezenai.local)
  - installs python3, avahi-daemon
- entry.yml: skip roles based on skip_roles var from web UI
- install.sh: reads /opt/cezen/install.conf for tier & skip_roles
This commit is contained in:
Jino Jose committed 2026-06-24 12:30:56 +05:30
1 parent a1948d93fe
commit 1991307903
4 files changed
+717 -28

No files matched your search

+21 -10
View File
@@ -10,15 +10,26 @@
cezen_home: "/opt/cezen"
python_version: "3.11"
cuda_version: "12.4"
skip_roles: "" # comma-separated list of role names to skip (set by install.sh)
roles:
- base
- docker
- k3s
- ollama
- vllm
- jupyterlab
- chromadb
- mlflow
- minio
- monitoring
- role: base
when: "'base' not in skip_roles.split(',')"
- role: docker
when: "'docker' not in skip_roles.split(',')"
- role: k3s
when: "'k3s' not in skip_roles.split(',')"
- role: ollama
when: "'ollama' not in skip_roles.split(',')"
- role: vllm
when: "'vllm' not in skip_roles.split(',')"
- role: jupyterlab
when: "'jupyterlab' not in skip_roles.split(',')"
- role: chromadb
when: "'chromadb' not in skip_roles.split(',')"
- role: mlflow
when: "'mlflow' not in skip_roles.split(',')"
- role: minio
when: "'minio' not in skip_roles.split(',')"
- role: monitoring
when: "'monitoring' not in skip_roles.split(',')"