90 lines
1.6 KiB
Markdown
90 lines
1.6 KiB
Markdown
# Configuración
|
|
|
|
## Fichero config.yml
|
|
|
|
```yaml
|
|
server:
|
|
port: 6789
|
|
|
|
verifactu:
|
|
production: false
|
|
|
|
certificates:
|
|
storage_path: ./data/certs/
|
|
|
|
crypto:
|
|
keys_path: ./keys/
|
|
name: "VeriFactu API"
|
|
email: "admin@ejemplo.com"
|
|
```
|
|
|
|
## Explicación de Parametros
|
|
|
|
### server.port
|
|
Puerto TCP donde escucha la API.
|
|
|
|
### verifactu.production
|
|
- `false`: Entorno de testing (prewww2.aeat.es)
|
|
- `true`: Entorno de producción (www2.agenciatributaria.gob.es)
|
|
|
|
### certificates.storage_path
|
|
Directorio donde se almacenan los certificados registrados.
|
|
|
|
### crypto.keys_path
|
|
Directorio donde se almacenan las claves RSA.
|
|
|
|
### crypto.name
|
|
Nombre para generar nuevas claves RSA (si no existen).
|
|
|
|
### crypto.email
|
|
Email para generar nuevas claves RSA.
|
|
|
|
## Variables de Entorno
|
|
|
|
```bash
|
|
# Sobrescribir configuración
|
|
VERIFACTU_PORT=8080
|
|
VERIFACTU_PRODUCTION=true
|
|
```
|
|
|
|
## Estructura de Directorios
|
|
|
|
```
|
|
proyecto/
|
|
├── api/
|
|
├── internal/
|
|
├── verifactu/
|
|
├── documentacion/
|
|
├── test/
|
|
├── data/
|
|
│ └── certs/ # Certificados registrados
|
|
├── keys/ # Claves RSA
|
|
├── config.yml # Configuración
|
|
├── validate_cert.ps1 # Script de validación
|
|
└── main.go
|
|
```
|
|
|
|
## Primera Ejecución
|
|
|
|
1. Compilar: `go build -o verifactu-api.exe ./main.go`
|
|
2. Ejecutar: `./verifactu-api.exe`
|
|
3. La API genera claves RSA automaticamente
|
|
4. Crea estructura de directorios
|
|
|
|
## Cambio de Entorno
|
|
|
|
Para cambiar de test a producción:
|
|
|
|
1. Editar `config.yml`:
|
|
```yaml
|
|
verifactu:
|
|
production: true
|
|
```
|
|
|
|
2. Reiniciar la API
|
|
|
|
## Puertos
|
|
|
|
- 6789: Puerto por defecto
|
|
- 443: HTTPS producción
|
|
- 80: HTTP (no recomendado) |