Installation¶
Complete installation guide for Route ANS Resolver.
System Requirements¶
Minimum Requirements¶
- CPU: 1 core
- Memory: 512 MB RAM
- Disk: 100 MB
- OS: Linux, macOS, Windows
Recommended for Production¶
- CPU: 2+ cores
- Memory: 2 GB RAM
- Disk: 1 GB (for logs)
- OS: Linux (Ubuntu 20.04+, CentOS 8+, Debian 11+)
Dependencies¶
- Go 1.23+ (if building from source)
- Redis (optional, for distributed caching)
- PostgreSQL (optional, for persistent storage - if enabled)
Installation Methods¶
1. Pre-built Binaries¶
Download the latest release for your platform:
Linux (amd64)
curl -LO https://github.com/route-ans/route-ans/releases/latest/download/ans-resolver-linux-amd64
chmod +x ans-resolver-linux-amd64
sudo mv ans-resolver-linux-amd64 /usr/local/bin/ans-resolver
Linux (arm64)
curl -LO https://github.com/route-ans/route-ans/releases/latest/download/ans-resolver-linux-arm64
chmod +x ans-resolver-linux-arm64
sudo mv ans-resolver-linux-arm64 /usr/local/bin/ans-resolver
macOS (Intel)
curl -LO https://github.com/route-ans/route-ans/releases/latest/download/ans-resolver-darwin-amd64
chmod +x ans-resolver-darwin-amd64
sudo mv ans-resolver-darwin-amd64 /usr/local/bin/ans-resolver
macOS (Apple Silicon)
curl -LO https://github.com/route-ans/route-ans/releases/latest/download/ans-resolver-darwin-arm64
chmod +x ans-resolver-darwin-arm64
sudo mv ans-resolver-darwin-arm64 /usr/local/bin/ans-resolver
Verify Installation
ans-resolver --version
2. Docker¶
Pull from Docker Hub
docker pull routeans/resolver:latest
Run with Default Configuration
docker run -d \
--name ans-resolver \
-p 8080:8080 \
routeans/resolver:latest
Run with Custom Configuration
docker run -d \
--name ans-resolver \
-p 8080:8080 \
-v /path/to/your/config.yaml:/etc/ans/config.yaml \
-e GODADDY_API_KEY=your_key \
-e GODADDY_API_SECRET=your_secret \
routeans/resolver:latest \
--config /etc/ans/config.yaml
Docker Compose
version: '3.8'
services:
resolver:
image: routeans/resolver:latest
ports:
- "8080:8080"
environment:
- GODADDY_API_KEY=${GODADDY_API_KEY}
- GODADDY_API_SECRET=${GODADDY_API_SECRET}
volumes:
- ./configs/resolver.yaml:/etc/ans/config.yaml
restart: unless-stopped
redis:
image: redis:7-alpine
ports:
- "6379:6379"
restart: unless-stopped
3. Build from Source¶
Clone Repository
git clone https://github.com/route-ans/route-ans.git
cd route-ans
Install Dependencies
go mod download
Build
make build
Binary will be created at bin/ans-resolver
Install Globally
sudo make install
Build Docker Image
make docker-build
4. Kubernetes¶
Using kubectl
# Apply manifests
kubectl apply -f deployments/kubernetes/
See Deployment Guide for detailed Kubernetes setup.
Configuration¶
1. Create Configuration File¶
# Copy example configuration
cp configs/resolver-minimal.yaml /etc/ans/config.yaml
# Edit configuration
vi /etc/ans/config.yaml
2. Set Environment Variables¶
export GODADDY_API_KEY="your_api_key"
export GODADDY_API_SECRET="your_api_secret"
export REDIS_ADDRESS="localhost:6379"
3. Run Resolver¶
ans-resolver --config /etc/ans/config.yaml
Or with systemd:
sudo systemctl start ans-resolver
sudo systemctl enable ans-resolver
Systemd Service (Linux)¶
Create /etc/systemd/system/ans-resolver.service:
[Unit]
Description=ANS Resolution Server
After=network.target
[Service]
Type=simple
User=ans
Group=ans
ExecStart=/usr/local/bin/ans-resolver --config /etc/ans/config.yaml
Restart=on-failure
RestartSec=5
StandardOutput=journal
StandardError=journal
SyslogIdentifier=ans-resolver
# Security hardening
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/log/ans
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable ans-resolver
sudo systemctl start ans-resolver
sudo systemctl status ans-resolver
Verification¶
Check Version¶
ans-resolver --version
Health Check¶
curl http://localhost:8080/health
Test Resolution¶
curl "http://localhost:8080/v1/resolve?name=mcp://test.capability.PID-123.v1.0.0.example.com"
View Logs¶
# If running with systemd
sudo journalctl -u ans-resolver -f
# If running with Docker
docker logs -f ans-resolver
Upgrading¶
Binary¶
# Download new version
curl -LO https://github.com/route-ans/route-ans/releases/download/v1.2.0/ans-resolver-linux-amd64
chmod +x ans-resolver-linux-amd64
sudo systemctl stop ans-resolver
sudo mv ans-resolver-linux-amd64 /usr/local/bin/ans-resolver
sudo systemctl start ans-resolver
Docker¶
docker pull routeans/resolver:latest
docker stop ans-resolver
docker rm ans-resolver
docker run -d --name ans-resolver -p 8080:8080 routeans/resolver:latest
Kubernetes¶
kubectl rollout restart deployment/ans-resolver -n ans-system
Uninstallation¶
Binary¶
sudo systemctl stop ans-resolver
sudo systemctl disable ans-resolver
sudo rm /usr/local/bin/ans-resolver
sudo rm /etc/systemd/system/ans-resolver.service
sudo systemctl daemon-reload
Docker¶
docker stop ans-resolver
docker rm ans-resolver
docker rmi routeans/resolver:latest
Next Steps¶
- Configuration Reference - Configure the resolver
- Tutorial - Learn by example
- Deployment Guide - Production deployment
- Monitoring - Set up monitoring and alerts