137
docs/README.md
Normal file
137
docs/README.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# Probod Operations Documentation
|
||||
|
||||
This documentation provides operational guidance for deploying, configuring, and managing the Probod compliance management daemon.
|
||||
|
||||
## Service Components
|
||||
|
||||
Probod requires the following components for operation:
|
||||
|
||||
- **probod**: Main service daemon
|
||||
- **PostgreSQL**: Database backend (version 17+)
|
||||
- **S3-Compatible Storage**: Object storage (AWS S3, MinIO, etc.)
|
||||
- **Chrome DevTools Protocol**: PDF generation service
|
||||
|
||||
## Deployment Guide
|
||||
|
||||
- **[Installation Guide](./INSTALLATION.md)** - Docker and binary deployment procedures
|
||||
- **[Configuration Reference](./CONFIGURATION.md)** - Complete configuration options and examples
|
||||
|
||||
## Quick Deployment
|
||||
|
||||
### Docker Deployment
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name probod \
|
||||
-p 8080:8080 \
|
||||
-v /path/to/config.yaml:/etc/probod/config.yaml \
|
||||
ghcr.io/getprobo/probo:latest
|
||||
```
|
||||
|
||||
### Service Verification
|
||||
|
||||
```bash
|
||||
# Health check
|
||||
curl http://localhost:8080/health
|
||||
|
||||
# Service logs
|
||||
docker logs probod
|
||||
```
|
||||
|
||||
## System Requirements
|
||||
|
||||
### Minimum Requirements
|
||||
|
||||
- **CPU**: 1 core, 2 GHz
|
||||
- **Memory**: 1 GB RAM
|
||||
- **Storage**: 10 GB available space
|
||||
- **Database**: PostgreSQL 12+
|
||||
- **Storage Backend**: S3-compatible object storage
|
||||
|
||||
### Recommended for Production
|
||||
|
||||
- **CPU**: 2+ cores, 2.4 GHz
|
||||
- **Memory**: 4 GB RAM
|
||||
- **Storage**: 50 GB SSD
|
||||
- **Database**: Managed PostgreSQL with backups
|
||||
- **Load Balancer**: For high availability deployments
|
||||
|
||||
## External Dependencies
|
||||
|
||||
### Required Services
|
||||
|
||||
- **PostgreSQL Database**: Primary data storage
|
||||
- **S3-Compatible Storage**: File and document storage (AWS S3, MinIO, etc.)
|
||||
- **Chrome/Chromium**: PDF generation via DevTools Protocol
|
||||
|
||||
### Optional Integrations
|
||||
|
||||
- **SMTP Server**: Email notifications
|
||||
- **OpenAI API**: AI-powered features
|
||||
- **OAuth2 Providers**: External service integrations (GitHub, Slack, etc.)
|
||||
|
||||
## Production Deployment
|
||||
|
||||
### High Availability
|
||||
|
||||
- Deploy multiple probod instances behind a load balancer
|
||||
- Use managed PostgreSQL with read replicas
|
||||
- Configure distributed object storage
|
||||
- Implement monitoring and alerting
|
||||
|
||||
### Security Configuration
|
||||
|
||||
- Enable TLS for all external communications
|
||||
- Use strong, unique secrets for authentication components
|
||||
- Configure network security groups and firewalls
|
||||
- Regular security updates and vulnerability scanning
|
||||
|
||||
## Operations
|
||||
|
||||
### Monitoring
|
||||
|
||||
- **Health Check**: `GET /health`
|
||||
- **Metrics**: Prometheus-compatible metrics at `/metrics` endpoint
|
||||
- **Tracing**: OpenTelemetry distributed tracing support
|
||||
- **Logging**: Structured JSON logging with configurable levels
|
||||
|
||||
#### Configuration-Based Observability
|
||||
|
||||
Probod provides built-in observability configured through the main configuration file:
|
||||
|
||||
- **Prometheus Metrics**: Configure `unit.metrics.addr` for metrics endpoint
|
||||
- **OpenTelemetry Tracing**: Configure `unit.tracing` section for trace collection
|
||||
- **Structured Logging**: Automatic JSON logging with correlation IDs
|
||||
|
||||
#### Configuration Example
|
||||
|
||||
```yaml
|
||||
unit:
|
||||
metrics:
|
||||
addr: "0.0.0.0:8081"
|
||||
tracing:
|
||||
addr: "tempo:4317"
|
||||
```
|
||||
|
||||
See [Configuration Reference](./CONFIGURATION.md#telemetry-and-observability) for complete details.
|
||||
|
||||
### Backup and Recovery
|
||||
|
||||
- **Database**: Regular PostgreSQL backups with point-in-time recovery
|
||||
- **Object Storage**: S3 versioning and cross-region replication
|
||||
- **Configuration**: Version control all configuration files
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
Common operational issues:
|
||||
|
||||
- Verify database connectivity and credentials
|
||||
- Check S3 storage access permissions
|
||||
- Validate configuration file syntax
|
||||
- Review service logs for startup errors
|
||||
|
||||
## Support
|
||||
|
||||
- **Repository**: [getprobo/probo](https://github.com/getprobo/probo)
|
||||
- **Issues**: Report operational problems on GitHub
|
||||
- **Releases**: [GitHub releases](https://github.com/getprobo/probo/releases)
|
||||
Reference in New Issue
Block a user