Variables Reference#
All configurable variables, their defaults, and where they are used.
Global variables (group_vars/all.yml)#
Variable |
Default |
Description |
|---|---|---|
|
|
Username for the Ansible SSH user on all nodes |
|
|
SSH user for Turing Pi BMC connections |
|
|
Path on BMC SD card for OS images |
|
|
Path to Ansible vault password file |
|
|
Directory for CLI tools (helm, kubectl, etc.) |
|
|
Enable flashing (derived from |
|
|
Local domain suffix for mDNS |
|
|
Hostname of the K3s control plane node |
|
|
Domain name for ingress hosts |
|
|
Email for Let’s Encrypt certificate registration |
|
|
Git repo URL for ArgoCD |
|
|
Git branch for ArgoCD (also in |
|
|
List of services installed directly by Ansible |
Role-specific variables#
Host variables (inventory)#
Set per-host in hosts.yml under the relevant host entry:
Variable |
Default |
Description |
|---|---|---|
|
— |
Turing Pi BMC slot number (1–4), required for Turing Pi nodes |
|
— |
Module type: |
|
— |
Block device to migrate root filesystem to (e.g. |
|
|
Set |
tools role (roles/tools/vars/main.yml)#
Variable |
Default |
Description |
|---|---|---|
|
(path) |
Zsh completion directory path |
|
(path) |
Bash completion directory path |
|
(list) |
Shell config files to source completions from |
|
|
Extra packages installed in devcontainer |
flash role (roles/flash/vars/main.yml)#
Variable |
Default |
Description |
|---|---|---|
|
|
Force re-flash even if node is contactable |
|
|
Local directory for downloading OS images |
|
|
Skip flashing for pre-flashed nodes |
(image URLs/SHAs) |
(hardcoded) |
OS image download URLs and checksums for RK1 and CM4 |
k3s role (roles/k3s/vars/main.yml)#
Variable |
Default |
Description |
|---|---|---|
|
|
Force K3s reinstall (uninstall first) |
|
|
Internal flag tracking if install happened this run |
cluster role (roles/cluster/vars/main.yml)#
Variable |
Default |
Description |
|---|---|---|
|
|
Force ArgoCD reinstall |
|
(version string) |
Longhorn chart version (legacy, now in template) |
Command-line overrides#
Variables can be overridden on the command line with -e:
ansible-playbook pb_all.yml \
-e flash_force=true \
-e k3s_force=true \
-e repo_branch=my-feature-branch \
-e repo_remote=https://github.com/me/my-fork.git
ArgoCD Helm values (kubernetes-services/values.yaml)#
Variable |
Default |
Description |
|---|---|---|
|
|
Branch for child ArgoCD Applications’ |
|
|
Enable OAuth2 proxy authentication on protected services. Set |
|
|
Disable SSL redirect on tunnelled services for Cloudflare Tunnel compatibility. Set |
|
(list of emails) |
GitHub-linked email addresses allowed through OAuth2 proxy |
|
(your NFS server IP) |
NFS server for RKLLama model storage |
|
(your NFS export path) |
Exported NFS path for RKLLama models ( |
|
(your NFS server IP) |
NFS server for llama.cpp model storage |
|
(your NFS export path) |
Exported NFS path for llama.cpp models (GGUF files — keep separate from rkllama) |
|
(GGUF filename) |
Filename of the GGUF model to load at startup |
|
|
Transformer layers to offload to GPU ( |
|
|
KV-cache context length in tokens |
|
|
Concurrent request slots |
|
|
Kubernetes memory limit for the container |
The repo_branch value is self-referential — ArgoCD reads it from the same branch it
is tracking. Each branch must set this to match its own branch name.
The rkllama.nfs.* values are the single source of truth for NFS configuration.
ArgoCD injects them directly into the rkllama Helm chart; no corresponding Ansible
variable is needed because Ansible does not create the PersistentVolume.
Environment variables#
Variable |
Set in |
Description |
|---|---|---|
|
|
Directory for CLI tools ( |
|
|
Path to zsh config |
|
|
Vault password file path |