Posted inLinux

Solusi Terraform this private key is passphrase protected

Terraform bisa menggunakan ssh-agent untuk authentikasi, tetapi bila anda menggunakan password pada private key, akan muncul error. Solusinya bukan dengan menghapus password pada private key, menggunakan eval, simak caranya dibawah ini tambahkan ssh-key anda kedalam ssh-agent ssh-agent ~/.ssh/id_rsa_client10 tetapi cara ini tetap error, setelah menjalankan terraform apply masih muncul error │ Error: remote-exec provisioner error […]

Posted inLinux

Gitlab Fix Unicorn is no longer supported and users must switch to Puma

Saat upgrade Gitlab Community Edition, muncul error dari gitlab "* unicorn[‘worker_processes’] has been deprecated since 13.10 and was removed in 14.0. Starting with GitLab 14.0, Unicorn is no longer supported and users must switch to Puma, following https://docs.gitlab.com/ee/administration/operations/puma.html." Cek parameter unicorn yang diaktifkan di Gitlab grep unicorn /etc/gitlab/gitlab.rb # output unicorn[’enable’] = true unicorn[’worker_timeout’] = […]

Posted inLinux

Cara Scaling Centrifugo Websocket Untuk Puluhan Ribu User

Kali ini kita akan bahas cara scaling websocket centrifugo, anggap kita akan memiliki 30000 (30 ribu) aktif user yang menggunakan service ini untuk chatting, notifikasi dan lain sebagainya. Agar bisa scaling centrifugo dibutuhkan redis terpisah, untuk percobaan ini kita akan menggunakan 5 server dengan spesifikasi yang sama 1 CPU 1 GB Memory 20 GB Disk […]

Posted inLinux

Cara Deploy Aplikasi Golang ke Kubernetes

Setelah kita membuat aplikasi golang sederhana, lalu membuat docker untuk aplikasi tersebut, terakhir kita akan deploy aplikasi golang ke kubernetes. Tahap yang perlu kita lakukan adalah: 1. Pertama kirim image ke docker registry, agar bisa di download dan di deploy ke kubernetes. Bisa menggunakan hub.docker.com, Gitlab Registry, Github Registry, Amazon Elastic Container Registry dan lain […]

Posted inLinux

Containerize Aplikasi Golang di Docker

Sebagai contoh kita akan membuat script Golang sederhana yang berjalan di port 8000, bila diakses akan menampilkan hostname dari dari container yang menjalankannya. Buat folder baru dengan nama aplikasi-golang, buat file baru web-server.go, copy paste script dibawah ini package main   import ( "fmt" "net/http" "os" )   func home(w http.ResponseWriter, req *http.Request) {   […]

Posted inLinux

Cara Membuat ConfigMap di Kubernetes

Untuk menyimpan konfigurasi, selain volume kita bisa menggunakan ConfigMap. ConfigMap memiliki batas maksimal file sebesar 1 MB, sejak Kubernetes 1.19 menjadi read-only by default. Ada banyak contoh penggunaan ConfigMap, beberapa diantaranya: 1. Konfigurasi Database 2. Secret (Vault) 3. Environment variable Sebagai contoh pembelajaran, kita akan mengganti konfigurasi nginx yang berada di /etc/nginx/nginx.conf dengan configMap yang […]