feat(labelprint): 4x6 label print proxy on a Raspberry Pi
A Pi 3B+ (stickah.local) shares a Phomemo PM246 to the LAN as a plain CUPS queue, so any machine can print 4x6 labels -- fulfillr-site's shipping labels in particular -- without installing the vendor driver, which is x86-64 only. The role builds the TSPL CUPS driver from source instead. It is Debian, not Fedora, so it lives in its own inventory and playbook (make deploy-labelprint / check-labelprint) and the home.debyl.io roles can never run against it. make bootfs renders its cloud-init first-boot files onto a freshly imaged SD card from the same templates the role uses. The Wi-Fi credentials for the home and rescue networks are in the vault. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
be0d02b938
commit
6cd4d56de1
@@ -21,6 +21,9 @@ VAULT_FILE=ansible/vars/vault.yml
|
||||
|
||||
# Variables
|
||||
ANSIBLE_INVENTORY=ansible/inventories/home/hosts.yml
|
||||
# The label print proxy is a separate inventory and playbook: it is Debian, not
|
||||
# Fedora, and shares none of the roles home.debyl.io runs.
|
||||
ANSIBLE_INVENTORY_LABELPRINT=ansible/inventories/labelprint/hosts.yml
|
||||
#SSH_KEY=${HOME}/.ssh/id_rsa_home_ansible
|
||||
|
||||
# Default to all ansible tags to run (passed via 'make deploy TAGS=sometag')
|
||||
@@ -29,6 +32,9 @@ SKIP_TAGS?=none
|
||||
TARGET?=all
|
||||
EXTRA_VARS?=
|
||||
|
||||
# Mounted boot partition of the label print proxy's SD card (see `make bootfs`)
|
||||
BOOTFS?=/Volumes/bootfs
|
||||
|
||||
${VENV}:
|
||||
python3 -m venv ${VENV}
|
||||
${VENV_BIN}/python3 -m pip install --upgrade pip
|
||||
@@ -55,6 +61,19 @@ SKIP_FILE=./.lint-vars.sh
|
||||
deploy: ${ANSIBLE} ${VAULT_FILE}
|
||||
${ANSIBLE} --diff -t ${TAGS} --skip-tags ${SKIP_TAGS} -i ${ANSIBLE_INVENTORY} -l ${TARGET} --vault-password-file ${VAULT_PASS_FILE} $(if ${EXTRA_VARS},-e "${EXTRA_VARS}") ansible/deploy.yml
|
||||
|
||||
# Writes the Pi's cloud-init first-boot files onto a freshly imaged SD card.
|
||||
bootfs: ${ANSIBLE} ${VAULT_FILE}
|
||||
${ANSIBLE} --diff -i ${ANSIBLE_INVENTORY_LABELPRINT} --vault-password-file ${VAULT_PASS_FILE} -e "bootfs=${BOOTFS}" ansible/bootfs.yml
|
||||
|
||||
# Label print proxy (stickah.local). Override the address when the Pi has
|
||||
# fallen back to its rescue AP:
|
||||
# make deploy-labelprint EXTRA_VARS="ansible_host=192.168.4.1"
|
||||
deploy-labelprint: ${ANSIBLE} ${VAULT_FILE}
|
||||
${ANSIBLE} --diff -t ${TAGS} --skip-tags ${SKIP_TAGS} -i ${ANSIBLE_INVENTORY_LABELPRINT} -l ${TARGET} --vault-password-file ${VAULT_PASS_FILE} $(if ${EXTRA_VARS},-e "${EXTRA_VARS}") ansible/deploy_labelprint.yml
|
||||
|
||||
check-labelprint: ${ANSIBLE} ${VAULT_FILE}
|
||||
${ANSIBLE} --check --diff -t ${TAGS} --skip-tags ${SKIP_TAGS} -i ${ANSIBLE_INVENTORY_LABELPRINT} -l ${TARGET} --vault-password-file ${VAULT_PASS_FILE} $(if ${EXTRA_VARS},-e "${EXTRA_VARS}") ansible/deploy_labelprint.yml
|
||||
|
||||
list-tags: ${ANSIBLE} ${VAULT_FILE}
|
||||
${ANSIBLE} --list-tags -i ${ANSIBLE_INVENTORY} -l ${TARGET} --vault-password-file ${VAULT_PASS_FILE} ansible/deploy.yml
|
||||
|
||||
|
||||
Reference in New Issue
Block a user