Skip to main content

Environnements

THE HIVE expose trois environnements distincts avec des bases de données et des stockages séparés.

Bases URL

EnvAPICandidatRecruteurAdmin
Prodhttps://api.wethehivers.com/v1/apiwethehivers.comrecruteur.wethehivers.comadmin.wethehivers.com
Staginghttps://api-staging.wethehivers.com/v1/apistaging.wethehivers.comrecruteur-staging.wethehivers.comadmin-staging.wethehivers.com
Devhttp://localhost:3091/v1/apilocalhost:3000localhost:3001localhost:3002

Topologie

Caractéristiques par environnement

AttributDevStagingProd
SSLNonLet’s EncryptCloudflare + LE
Rate limitingDésactivé2× prodActif
Emails réelsNon (MailHog)Non (test inbox)Oui
Logs niveauDEBUGINFOWARN
Springdoc /v3/api-docsActivéActivéDésactivé
Blacklist JWTIn-memoryRedisRedis (partagée VPS1/VPS2)
Stockage fichiersMinIOMinIOCloudflare R2
Flyway auto-migrateOuiOuiVPS1 uniquement
Backups DBNonQuotidienHoraire + quotidien chiffré

Statut en temps réel

EnvStatus page
Prodhttps://status.wethehivers.com (Uptime Kuma)
StagingInterne

Secrets par environnement

Ne jamais committer de secret dans le repo. Les variables d’environnement sont toutes masquées dans GitLab CI/CD et chiffrées au repos.

Rotation des tokens

TokenRotation
JWT_SECRETTrimestrielle + après incident
R2 access/secret keySemestrielle
SMTP passwordSemestrielle
DB passwordAnnuelle (hors incident)

Connectivité

# Health check — tous env
curl https://api.wethehivers.com/v1/api/actuator/health
curl https://api-staging.wethehivers.com/v1/api/actuator/health
curl http://localhost:3091/v1/api/actuator/health
En production Cloudflare est configuré en orange-cloud proxy. Les vraies IPs clients sont transmises via le header CF-Connecting-IP.