▍Redis Insight¶
Настройка Redis Insight¶
Redis Insight — это интуитивно понятный и эффективный графический интерфейс для Redis, позволяющий вам взаимодействовать с вашими базами данных и управлять вашими данными благодаря встроенной поддержке модулей Redis.
Compose для Redis Insight¶
version: "3.9"
services:
redisinsight:
image: redis/redisinsight:latest
volumes:
- /docker/conf/redisinsight:/data
networks:
- traefik-public
deploy:
replicas: 1
restart_policy:
condition: any
delay: 5s
window: 120s
update_config:
parallelism: 1
monitor: 60s
failure_action: rollback
order: start-first
placement:
constraints: [node.role == worker]
labels:
- "traefik.enable=true"
- "traefik.http.routers.redisinsight.tls=true"
- "traefik.http.routers.redisinsight.rule=Host(`redis.example.ru`)"
- "traefik.http.routers.redisinsight.middlewares=WhitelistHome,CORS@file"
- "traefik.http.services.redisinsight.loadbalancer.server.port=5540"
resources:
limits:
cpus: '0.25'
memory: 256M
reservations:
cpus: '0.25'
memory: 128M
networks:
traefik-public:
external: true
Автоматизаяция добавления нового инстанса¶
Для добавление нового подключения необходимо сформировать тело запроса в формате json:
{
"host": "$host",
"port": $port,
"name": "your_instance_name",
"username": "$username",
"password": "$password",
"tls":true,
"verifyServerCert":false,
"caCert": {
"certificate": "$ca_cert",
"name": "your_ca_name"
},
"clientCert":{
"certificate": "$client_cert",
"key": "$client_key",
"name": "your_certificate_name"
}
}
curl -s -X POST "http://redisinsight:5540/api/databases/" -H "Content-Type: application/json" -d @database.json
Это позволило автоматизировать процесс создания нового подключения, добавлением в CI/CD пайплайн создания инстанса.