Zabbix supply backend rebuild + data-driven model supplies
Rewrite the printer Zabbix integration (Bearer auth, host-by-IP, tag-based supply lookup, ping) and replace the hardcoded toner table with a modelsupplies table + CRUD + seed. Add mock Zabbix server, live test harness, and the Playwright screenshot tooling. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
61
tools/docker-compose.zabbix.yml
Normal file
61
tools/docker-compose.zabbix.yml
Normal file
@@ -0,0 +1,61 @@
|
||||
# Real Zabbix 7.0 server for full integration testing.
|
||||
#
|
||||
# docker compose -f tools/docker-compose.zabbix.yml up -d
|
||||
#
|
||||
# Web UI: http://localhost:8888 (default login Admin / zabbix)
|
||||
# API: http://localhost:8888/api_jsonrpc.php
|
||||
#
|
||||
# After it is up:
|
||||
# 1. Log in, go to Users > API tokens, create a token, copy it.
|
||||
# 2. Data collection > Hosts > Create host. Name the host by its IP
|
||||
# (e.g. 10.20.30.40) so host.get filter {host:[ip]} finds it, the same
|
||||
# way the production shop Zabbix names printer hosts.
|
||||
# 3. Add items tagged component=supplies, type=level, color=<color> to
|
||||
# mirror the real printer templates (the mock server documents the shape).
|
||||
# 4. Point the app at it:
|
||||
# ZABBIX_ENABLED=true
|
||||
# ZABBIX_URL=http://localhost:8888
|
||||
# ZABBIX_TOKEN=<token from step 1>
|
||||
# or set zabbix_enabled / zabbix_url / zabbix_token in the settings table.
|
||||
#
|
||||
# For API-contract testing only, prefer tools/mock_zabbix.py - it needs no
|
||||
# image pulls and returns ready-made tagged supply items.
|
||||
|
||||
services:
|
||||
zabbix-postgres:
|
||||
image: postgres:16-alpine
|
||||
environment:
|
||||
POSTGRES_USER: zabbix
|
||||
POSTGRES_PASSWORD: zabbixpass
|
||||
POSTGRES_DB: zabbix
|
||||
volumes:
|
||||
- zabbix-pgdata:/var/lib/postgresql/data
|
||||
|
||||
zabbix-server:
|
||||
image: zabbix/zabbix-server-pgsql:alpine-7.0-latest
|
||||
environment:
|
||||
DB_SERVER_HOST: zabbix-postgres
|
||||
POSTGRES_USER: zabbix
|
||||
POSTGRES_PASSWORD: zabbixpass
|
||||
POSTGRES_DB: zabbix
|
||||
depends_on:
|
||||
- zabbix-postgres
|
||||
ports:
|
||||
- "10051:10051"
|
||||
|
||||
zabbix-web:
|
||||
image: zabbix/zabbix-web-nginx-pgsql:alpine-7.0-latest
|
||||
environment:
|
||||
DB_SERVER_HOST: zabbix-postgres
|
||||
POSTGRES_USER: zabbix
|
||||
POSTGRES_PASSWORD: zabbixpass
|
||||
POSTGRES_DB: zabbix
|
||||
ZBX_SERVER_HOST: zabbix-server
|
||||
PHP_TZ: America/New_York
|
||||
depends_on:
|
||||
- zabbix-server
|
||||
ports:
|
||||
- "8888:8080"
|
||||
|
||||
volumes:
|
||||
zabbix-pgdata:
|
||||
Reference in New Issue
Block a user