Files
go-sip/deploys/physical-deployment.md
T

32 lines
1.6 KiB
Markdown

# Physical production deployment
Production is a small systemd installation on Debian 13 amd64:
1. native Asterisk Cell (`asterisk.service`), owned by the approved SIP
management release;
2. `sip-go-agent-agent.service`;
3. `sip-go-agent-dispatcher.service`.
This project does not run production services in Docker and does not install
RabbitMQ, OSS, AI or SaaS infrastructure. Those systems are supplied through
injected endpoints and credentials.
The pinned versions are in [`versions.lock.json`](versions.lock.json). Build
a release candidate with `build-package.sh`; it writes the archive to
`dist/packages/` and is intentionally not production-approved. Production
installation requires a clean, externally approved manifest. Build/install
Asterisk separately with the scripts in [`cell/`](cell/). The Asterisk
installer preserves `/etc/asterisk`; the management-approved static Cell
configuration is installed separately.
The Go installer creates `/opt/sip-go-agent`, `/etc/sip-go-agent` and
`/var/lib/sip-go-agent`, installs the two Go units, and enables them. It does
not install test tooling, Docker, a broker, provider SDK credentials or AI
snapshots. Start services only after the injected environment, mTLS identity,
broker ACL and static Cell artifact have been reviewed.
For local or isolated testing, use the Docker-backed RabbitMQ target
`make mq-integration-local`. Use [`test/nonprod-call-evidence.sh`](test/nonprod-call-evidence.sh)
for the required capture-first gate when testing against a native non-production
Asterisk host. Neither path is part of the production package.