Aller au contenu principal

IBM Cloud Databases : Redis sur IBM Cloud

Introduction​

Pour déployer l'application GitGuardian, une instance Redis est requise. Cette page est dédiée à vous aider à configurer Redis sur IBM Cloud à l'aide de IBM Cloud Databases for Redis.

IBM Cloud Databases for Redis est un déploiement Redis standard, et non Redis Cluster, et expose les 16 bases de données logiques sur lesquelles GitGuardian s'appuie.

Haute disponibilité​

IBM Cloud Databases for Redis déploie un primaire et un réplica derrière un unique endpoint, avec un basculement coordonné par Redis Sentinel du côté d'IBM. Le basculement prend généralement moins de 30 secondes, période durant laquelle l'application GitGuardian peut rencontrer des erreurs de lecture seule.

Installation​

Depuis la console IBM Cloud​

Pour créer une instance Redis depuis la console IBM Cloud, nous vous recommandons de suivre la documentation officielle.

Vous devez définir les champs suivants :

  • Conservez la Version proposée. IBM Cloud provisionne Redis 8.2, que GitGuardian prend en charge.
  • Définissez les Service endpoints sur Private.
  • Allouez au moins 8 Go de RAM au total (4 Go par membre). Il s'agit de la plus petite allocation acceptée par IBM Cloud.
  • Conservez la valeur par défaut de maxmemory-policy (noeviction), que GitGuardian requiert pour sa file d'attente de tâches.
  • Définissez le mot de passe admin après le provisionnement. Vous devez enregistrer cette valeur car elle est requise pour configurer l'application GitGuardian.

En utilisant la CLI​

ibmcloud resource service-instance-create <instance-name> databases-for-redis standard <region> \
--service-endpoints private \
-p '{"members_host_flavor":"multitenant","members_memory_allocation_mb":"8192","members_disk_allocation_mb":"8192"}'

En utilisant Terraform​

Pour créer une instance Redis à l'aide de Terraform, vous avez besoin de la ressource suivante :

En plus des champs requis par Terraform, nous exigeons que les champs suivants soient définis :

  • service = "databases-for-redis"
  • service_endpoints = "private" : gardez l'instance hors de l'internet public.
  • Conservez la valeur par défaut de maxmemory-policy : noeviction.

Authentification et TLS​

IBM Cloud Databases for Redis requiert le nom d'utilisateur admin ainsi que son mot de passe ; l'utilisateur Redis default n'est pas disponible. Définissez le nom d'utilisateur dans la configuration Redis, ou utilisez une URL de la forme rediss://admin:<password>@<host>:<port>.

TLS est obligatoire. Activez-le dans la configuration GitGuardian et gardez la vérification du certificat serveur désactivée, ce qui est la valeur par défaut :

redis:
main:
user: 'admin'
host: '<instance-id>.<deployment-id>.private.databases.appdomain.cloud'
port: <port>
existingSecret: 'gitguardian-redis-secret'
existingSecretKeys:
password: 'REDIS_PASSWORD'
tls:
enabled: true
requireServerCert: false
Vérification du certificat serveur

Le certificat CA d'IBM Cloud Databases ne comporte pas d'extension Key Usage. Activer redis.main.tls.requireServerCert amène l'application GitGuardian à le rejeter lors de l'installation. Conservez la valeur par défaut : la connexion reste chiffrée.

info

Notre installation Helm prend en charge l'authentification Redis depuis IBM Cloud Databases tant qu'elle est gérée via un mécanisme de mot de passe et non via IBM Cloud IAM.