Tips Upgrade Carbonio Via Ansible

Mungkin dari kalian masih ada yang bingung bagaimana caranya upgrade email server Carbonio kalau ada update patch terbaru. Nah, tulisan ini bisa jadi salah satu panduan yang bisa kalian ikuti.

Pertama-tama, kalian harus tahu dulu bagaimana Carbonio diinstall di server kalian. Ada dua kemungkinan:

  1. Manual – instalasi dilakukan satu per satu menggunakan perintah apt install langsung di setiap server.
  2. Via Ansible – instalasi dan manajemen dilakukan otomatis dengan playbook Ansible.

Kalau server kalian diinstall menggunakan Ansible, proses upgrade/patching jauh lebih gampang. Kalian cukup jalankan playbook update yang sudah disediakan. Tapi kalau instalasinya dilakukan manual, maka langkahnya sedikit berbeda dan butuh perhatian lebih.

Langkah pertama adalah pastikan dulu modul apa saja yang terpasang di server. Ini penting, karena patch hanya akan diterapkan pada modul yang ada. Tidak semua deployment Carbonio punya modul lengkap, bisa jadi hanya beberapa saja yang dipakai.

Sebagai contoh, di sini saya ingin upgrade Carbonio dengan modul-modul berikut:

  • Mesh and Directory
  • Database
  • Proxy
  • MTA (Mail Transfer Agent) dengan AntiVirus/AntiSpam
  • Mailstore Provisioning

Sebelum menjalankan upgrade, kalian perlu menyiapkan 3 data penting berikut:

  • Consul password
  • Postgres password
  • LDAP password

Ketiga password ini harus disimpan dalam file terpisah, dengan format nama file yang sesuai dengan inventory. Contoh strukturnya:

root@control-node:~/upgrade-ce# ls
inventory-upgrade  
inventory-upgrade_consulpassword  
inventory-upgrade_ldap_password  
inventory-upgrade_postgrespassword

Catatan: Nama file harus sama persis seperti contoh di atas. Kalau beda, Ansible akan error saat proses upgrade.

Setelah password siap, langkah selanjutnya adalah menyesuaikan inventory sesuai dengan modul yang kalian gunakan.

[postgresServers]
mail-ce.afatyo.id
[masterDirectoryServers]
mail-ce.afatyo.id
[replicaDirectoryServers]

[serviceDiscoverServers]
mail-ce.afatyo.id
[dbsConnectorServers]

[mtaServers]
mail-ce.afatyo.id
[proxyServers]
mail-ce.afatyo.id
[proxyServers:vars]
webmailHostname=mail-ce.afatyo.id

[applicationServers]
mail-ce.afatyo.id

Nah kurang lebih seperti ini, sisanya kosong karena saya ndak pakai. Jika sudah kalian bisa test dulu nih upgrade nya menggunakan dry run perintah nya seperti ini:

ansible-playbook zxbot.carbonio_install.carbonio_install -i inventory-upgrade -u root --check

Jika sudah oke semua dan tidak ada error kalian bisa langsung jalankan upgrade nya dengan seperti ini dan tunggu hingga proses selesai:

ansible-playbook zxbot.carbonio_install.carbonio_install -i inventory-upgrade -u root

Upgrade atau patching Carbonio via Ansible sebenarnya cukup sederhana, asalkan kalian menyiapkan inventory dengan benar dan tidak salah menempatkan file password. Kuncinya ada pada:

  • Mengetahui modul yang terinstall
  • Menyiapkan file password (Consul, Postgres, LDAP) dengan benar
  • Menyusun inventory sesuai kebutuhan
  • Selalu lakukan dry run sebelum upgrade

Dengan langkah ini, proses upgrade Carbonio bisa berjalan lebih mulus dan minim error

Leave a Reply

Your email address will not be published. Required fields are marked *