/helmfile

Dragonfly Helmfile

Primary LanguageSmartyApache License 2.0Apache-2.0

Dragonfly DevOps

Introduction

This project is a deployment tool for Dragonfly, used to quickly deploy Dragonfly projects.

Dependencies

Dragonfly Deployment

Ensure the configuration in environments/dev/ meets the requirements, then execute the following commands

  • d7y-mysql.yaml.gotmpl: mysql InnoDB configuration
  • d7y-redis-sentinel. yaml.gotmpl: redis sentinel configuration
  • d7y-system.yaml.gotmpl: dragonfly system configuration
  1. MySQL Operator Deployment
# environments/dev/base.yaml.gotmpl
install:
  mysql_operator: true
helmfile -f helmfile.yaml -e dev sync
  1. MySQL InnoDB Cluster Deployment
# environments/dev/base.yaml.gotmpl
install:
  mysql_innodbcluster_d7y: true
helmfile -f helmfile.yaml -e dev sync

# mysql-innodbcluster-d7y
kubectl port-forward -n mysql-innodbcluster-d7y service/mysql-innodbcluster-d7y 3306
mysql -h127.0.0.1 -udragonfly -p
CREATE DATABASE manager CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. Redis Sentinel Deployments
# environments/dev/base.yaml.gotmpl
install:
  d7y_redis_sentinel: true
helmfile -f helmfile.yaml -e dev sync
  1. Dragonfly Deployment
# environments/dev/base.yaml.gotmpl
install:
  d7y_system: true
helmfile -f helmfile.yaml -e dev sync
  1. Dragonfly update
# diff will show the difference between the current state and the desired state 
helmfile -f helmfile.yaml -e dev diff

# sync will update the current state to the desired state
helmfile -f helmfile.yaml -e dev sync