# Playbook

> control primitives
---

There are two playbooks for redis:

- [`redis.yml`](https://github.com/pgsty/pigsty/blob/v3.7.0/redis.yml): create redis cluster / node / instance
- [`redis-rm.yml`](https://github.com/pgsty/pigsty/blob/v3.7.0/redis-rm.yml): remove redis cluster /docs/node /instance

## `redis.yml`

The playbook [`redis.yml`](https://github.com/pgsty/pigsty/blob/v3.7.0/redis.yml) will init redis cluster/node/instance:

```yaml
redis_node        : init redis node
  - redis_install : install redis & redis_exporter
  - redis_user    : create os user redis
  - redis_dir     : create redis redis fhs
redis_exporter    : config and launch redis_exporter
  - redis_exporter_config  : generate redis_exporter config
  - redis_exporter_launch  : launch redis_exporter
redis_instance    : config and launch redis cluster/node/instance
  - redis_check   : check redis instance existence
  - redis_clean   : purge existing redis instance
  - redis_config  : generate redis instance config
  - redis_launch  : launch redis instance
redis_register    : register redis to prometheus
redis_ha          : setup redis sentinel
redis_join        : join redis cluster
```


## `redis-rm.yml`

The playbook [`redis-rm.yml`](https://github.com/pgsty/pigsty/blob/v3.7.0/redis-rm.yml) will remove redis cluster/node/instance:

```bash
- register       : remove monitor target from prometheus
- redis_exporter : stop and disable redis_exporter
- redis          : stop and disable redis cluster/node/instance
- redis_data     : remove redis data (rdb, aof)
- redis_pkg      : uninstall redis & redis_exporter packages
```
