LLM-Server: ausführbares Projekt in die Hauptverzeichnisse host/, llm/ und encoding/ aufgeteilt.

Grundkonfiguration des Servers liegt nun unter llm-server/host/ansible/
(vorher llm-server/ansible/), der LLM-Stack-Platzhalter unter llm-server/llm/
und der Encoding-Workload unter llm-server/encoding/. Dokumentation und
Pfadverweise (ansible.cfg roles_path, .venv-Tiefe, Markdown-Links) angepasst;
Linkvalidator meldet broken_local_links=0.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-10-19 14:42:14 +02:00
parent 82af4e9235
commit 92c846f527
31 changed files with 114 additions and 61 deletions
+13 -5
View File
@@ -1,9 +1,17 @@
# LLM server `ghostnet-ki`
This host root contains executable infrastructure for the physical server at
`10.0.0.90`. Host-specific Ansible inventories, playbooks and roles live under
[`ansible/`](ansible/README.md). Reusable roles that are also consumed by
other host projects live under [`../shared/ansible/`](../shared/ansible/).
This host root contains the executable infrastructure for the physical server at
`10.0.0.90`, split into one main directory per task area:
| Directory | Purpose |
| --- | --- |
| [`host/`](host/README.md) | shared server baseline: Ansible control project, host roles and inventories |
| [`llm/`](llm/README.md) | LLM serving stack (created with the internal AI vertical slice) |
| [`encoding/`](encoding/README.md) | CPU-based video encoding workload and its Ansible control project |
Reusable roles that are also consumed by other host projects live under
[`../shared/ansible/`](../shared/ansible/).
The versioned architecture and operating documentation remains under
[`../docs/platform/llm-server/`](../docs/platform/llm-server/README.md).
[`../docs/platform/llm-server/`](../docs/platform/llm-server/README.md) and
mirrors the same task areas (`host/`, `ai/`, `encoding/`).
+10
View File
@@ -0,0 +1,10 @@
# Host baseline `ghostnet-ki`
Shared platform configuration of the physical LLM server at `10.0.0.90`:
host identity, Podman runtime, locked workload accounts and AMD GPU device
access. This area is common to all workloads on the server.
The executable Ansible control project lives under
[`ansible/`](ansible/README.md). The operating documentation for this area is
under
[`../../docs/platform/llm-server/host/`](../../docs/platform/llm-server/host/).
@@ -1,6 +1,9 @@
# LLM server Ansible control project
# LLM server host Ansible control project
This directory contains the reproducible control project for `ghostnet-ki`.
This directory contains the reproducible control project for the shared host
baseline of `ghostnet-ki`. The LLM-Server host root is split into one main
directory per task area: `host/` (this project), `llm/` and `encoding/`; see
[../../README.md](../../README.md).
The read-only `playbooks/preflight.yml` verifies the documented host identity
and hardware. The shared `playbooks/host.yml` applies the host baseline,
Podman runtime, workload identities and narrowly scoped AMD device access
@@ -33,15 +36,15 @@ continuing.
Run the commands from the host project directory:
```bash
cd llm-server/ansible
../../.venv/bin/ansible-inventory \
cd llm-server/host/ansible
../../../.venv/bin/ansible-inventory \
--inventory inventories/testing/hosts.yml \
--graph
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/testing/hosts.yml \
playbooks/preflight.yml \
--syntax-check
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/testing/hosts.yml \
playbooks/preflight.yml
```
@@ -85,12 +88,12 @@ nevertheless grant root-equivalent deployment access; rotate it when moving the
deployment identity to the runner or after any suspected disclosure.
Load the existing personal administrator key into an SSH agent, then run the
bootstrap interactively from `llm-server/ansible/`. Ansible will ask for the
personal administrator's existing sudo password:
bootstrap interactively from `llm-server/host/ansible/`. Ansible will ask for
the personal administrator's existing sudo password:
```bash
ssh-add /path/to/personal-ghost-private-key
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/bootstrap/hosts.yml \
playbooks/bootstrap-deploy-account.yml \
--ask-become-pass
@@ -103,7 +106,7 @@ changes.
After a successful bootstrap, verify the new account independently:
```bash
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/verify-deploy-access.yml \
--extra-vars ansible_user=ansible-deploy \
@@ -129,18 +132,18 @@ It does not install software or start services. Use the dedicated host
inventory and supply the private deployment key outside the repository:
```bash
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/host.yml \
--syntax-check
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/host.yml \
--check --diff \
--private-key ~/.ssh/id_ed25519_ghostnet_ai_ansible_deploy
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/host.yml \
--private-key ~/.ssh/id_ed25519_ghostnet_ai_ansible_deploy
@@ -211,21 +214,21 @@ It passes `/dev/kfd` and both discovered render nodes with
and `llama-server --list-devices` must expose exactly two ROCm devices. No
architecture override is set.
Run the probe from `llm-server/ansible/`:
Run the probe from `llm-server/host/ansible/`:
```bash
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/verify-rocm-container.yml \
--syntax-check
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/verify-rocm-container.yml \
--check \
--private-key ~/.ssh/id_ed25519_ghostnet_ai_ansible_deploy
../../.venv/bin/ansible-playbook \
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/verify-rocm-container.yml \
--private-key ~/.ssh/id_ed25519_ghostnet_ai_ansible_deploy
@@ -4,7 +4,7 @@ host_key_checking = True
interpreter_python = auto_silent
local_tmp = .ansible/tmp
retry_files_enabled = False
roles_path = roles:../../shared/ansible/roles
roles_path = roles:../../../shared/ansible/roles
timeout = 15
[ssh_connection]
+10
View File
@@ -0,0 +1,10 @@
# LLM serving stack
This directory will hold the executable infrastructure for the LLM serving
stack on `ghostnet-ki`: rootless `llama.cpp` with ROCm, separated into
Production and Testing environments.
It is created with the internal LLM vertical slice (roadmap milestone 2 in
[GNAI-001](../../docs/GNAI-001-PLAN_Project-Roadmap.md)). The planned
architecture, deployment and serving configuration are documented under
[`../../docs/platform/llm-server/ai/`](../../docs/platform/llm-server/ai/README.md).