Menjadi BlankOn

Hai, saya Estu.

Kali ini sedang mencoba menjadi manager rilis BlankOn XI dengan nama kode Uluwatu. Rilis kali ini pengerjaan dimulai 8 Feb 2017.

Apa yang terjadi dalam kurun waktu menuju Uluwatu?

Setelah rilis BlankOn X Tambora, hampir semua koordinator tim mengundurkan diri, tak luput beberapa pengembang veteran pun ikut gantung papan ketik.

Saya sendiri mungkin hanya sebagian pengembang lawas yang masih ikut. Mari bikin tim baru. Kenyataan pertama yang dari dulu sudah menjadi momok adalah baru sadar bahwa tidak ada dokumentasi yang memadai pada Infrastruktur dan aplikasi utama. Kedua hal itu biasanya merupakan tugas turunan untuk menjadi pawang mesin dan pawang aplikasi tanpa tau bagaimana kedua hal itu dibangun. Momok itu baru sadar ketika beberapa service tidak berjalan baik.

Selama perjalanan menjahit Uluwatu, ada beberapa kejadian yang menjadi catatan saya.

Milestone:

  1. Perawatan Mesin BlankOn
    • Waljinah, penambahan hardisk | Maret 2017
    • Perawatan Rani, penambahan hardiks | Maret 2017
    • Perawatan Alynne, penambahan CPU dan RAM | April 2017
  2. Laporan kerusakan pada lumbung Tambora | April 2017
    • Backup service, Alynne install ulang
  3. Rekontruksi Pabrik CD, Pabrik Paket (IRGSH), dan Pabrik Repo | Maret – Juni 2017
    • Inisiasi ananda | mesin baru di Digital Ocean untuk riset rekontruksi
  4. Alynne gagal hidup dan bekerja akibat MotherBoard yg rusak | Desember 2017
  5. Penyalahgunaan Maskot Boni untuk komersial

Pada rilis Uluwatu ini, tidak banyak yang berubah dari segi isi dan fitur. Beberapa hanya menaikan versi aplikasi. Namun beberapa kerjaan selesai yang saya anggap sebuah pencapaian dalam rilis kali ini ada banyak, diantaranya:

  1. Dokumentasi bagaimana membangun layanan BlankOn.
    Rilis kali ini saya ikut membidani rekontruksi infra BlankOn akibat beberapa catatan kejadian diatas.

    • Dokumentasi Pabrik Repo menggunakan reprepro
    • Dokumentasi Pabrik CC, service yg menjahit ISO BlankOn
    • Dokumentasi Pabrik Paket (irgsh server dan irgsh worker)
    • Isu-isu yang sering muncul di layanan dan bagaimana menangani
  2. Pemindahan Repository dari dev.boi yg menggunakan bzr ke github dengan scm git.
  3. Pemindahan Wiki oleh tim Dokumentasi dari Trac di dev.bo ke github pages.
    • Tim Dokumentasi kali ini memberikan lompatan yg besar. Karena mayoritas anggota bukan dari latar belakang IT, setelah bergabung. Belajar bagaimana menulis dokumentasi dalam format Markdown dan menggungahnya ke github melalui baris-baris perintah git.
  4. Perilisan Kode Etik berkomunikasi
  5. Pendaftaran Sponsor dan Mitra dirilis
  6. Kegiatan Translasi GCompris edisi Bahasa Indonesia
  7. Kegiatan Pameran di Habibie Festival dan Libroffice Conference Indonesia

Beberapa catatan lain.

9 Februari 2018, kami kehilangan kawan, sahabat, jiwa muda di tim pengembang BlankOn.
Muhammad Rafi, koordinator Humas, berpulang setelah seminggu dirawat pasca kecelakaan.
Sebuah kehilangan yang sangat besar bagi kami. Semoga dilapangkan jalannya, Amin.

Diawal bulan Mei ini, setelah melalui perjalanan panjang, pasang surut. Tim Pengembang sepakat.
“Merilis BlankOn XI Uluwatu”

Selamat rilis kawan, tetap semangat menuju kemandirian perangkat lunak bersumber terbuka.
Mohon maaf belum dapat menjadi manager rilis yang baik.

Tabik
Estu – tuanpembual

Mattermost, Slack Alternative

2018-01-23 16.42.36

Mattermost, ketika mendengar kata ini, yang kebayang disaya adalah termos air. 😀

Mattermost sendiri adalah open source private cloud messaging sebagai alternative dari Slack. Kode sumber mattermost dapat diakses di https://github.com/mattermost. Lengkap dengan server dan client side.

Beberapa limitasi slack gratis yang kerasa adalah hanya menyimpan 10ribu chat terakhir dan batasan total file dan total ukuran file yang diunggah.

Mattermost sendiri sebagai private cloud messaging bisa digunakan lewat beberapa cara. Diantaranya:

  1. Beli layanan dengan beberapa service tambahan menarik lainnya
  2. Install dan konfigurasi Mattermost server di server sendiri

Saya memilih memasang di mesin sendiri. Ada beberapa pilihan pemasangan lain, seperti memasang di heroku, memasang menggunakan Puppet, Chef atau Ansible. Bahkan memasang mattermost-server dalam Docker.

Sementara setelah membaca beberapa tautan di halaman unduhan, saya sepertinya akan memasang di AWS saja.

Sempat nyoba di heroku tapi kurang berhasil. Nyoba di aws 3-4 kali baru sukses. Panduan pemasangan akan saya tulis setelah ini. Iya nyobanya banyak, karena masih meraba-raba bagaimana konfigurasi yang paling cocok digunakan di kasus saya.

Untuk aksesnya bisa dari browser ke domain yang sudah diatur dari mattermost server. Untuk versi ponsel pintar android sudah ada jg di Google Play.

Dah itu aja dulu pengenalannya.

Lanjut nulis install-install.

Estu~

Konfigurasi LB gRPC Service dengan HAProxy

Kemaren diminta setting load balancer di HAProxy untuk gRPC Service.
Panduan ini saya nyomot dari https://grpc.io/blog/loadbalancing dan https://gist.github.com/thpham/114d20de8472b2cef966

Desain service kira-kira seperti ini:

Springboot-Service(API) <—> HAProxy <—-> gRPC Server 1 & gRPC Server 2

Kasusnya adalah:

  • Traditional setup – Many clients connecting to services behind a proxy
  • Need trust boundary between servers and clients
  • Metode pembagian beban adalah roundrobin
  • HAProxy dipasang dimesin yang sama dengan gRPC server 1.

Solusi yang diambil:

  • L3/L4 LB with haproxy.

Installasi dan Konfigurasi

$ sudo apt install haproxy

Berikut konfigurasi yang saya gunakan dengan perubahan seperlunya termasuk mengatur status load balancer (Dashboard HAProxy).

global
  tune.ssl.default-dh-param 1024

defaults
  timeout connect 10000ms
  timeout client 60000ms
  timeout server 60000ms

## Pengaturan Dashboard HAProxy
listen stats
  bind :1936
  mode http
  log  global

  stats enable
  stats uri /stats
  stats refresh 15s
  stats show-node
  stats hide-version
  stats realm Haproxy\ Statistics
  stats auth user:password

frontend fe_http2
  mode tcp
  ## alamat binding gRPC yg akan diakses oleh Springboot-Service
  bind 192.168.33.100:6668 npn spdy/2 alpn h2,http/1.1
  ## alamat routing backend
  default_backend be_grpc

backend be_grpc
  mode tcp
  balance roundrobin
  ## daftar gRPC service yang akan menerima LB dari HAProxy
  server prod-service-020 127.0.0.1:6667
  server prod-service-021 192.168.101:6667

Setelah konfigurasi dirasa cukup, lakukan testing konfigurasi HAPRoxy dengan perintah berikut.

$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg

Jika udah ijo, lakukan restart haproxy.

$ sudo systemctl restart haproxy

Demikian.
Estu yg lagi dolanan Mattermost

Memperbaiki Daemon ScreenSaver di BlankOn Uluwatu

Yaps x260 saya isinya Uluwatu dan gado-gado lainnya. Lebih seringnya makai repo SID dari Kartolo. Beberapa hari ini, setelah jalankan upgrade paket dari SID, beberapa fitur ngambek.

Salah satunya screensaver g jalan. Akibatnya laptop jadi tambah boros. Layar idup selalu meski udah ditinggal lama ( g mau dim).

Yuk dibenerin. Kata Pak Sofyan cukup ubah file desktop gnome-screensaver:

$ sudo vim /etc/xdg/autostart/gnome-screensaver.desktop

Cari baris ke 157.
Ganti OnlyShowIn=GNOME-Flashback menjadi OnlyShowIn=GNOME

Setelah itu, logout dan login kembali ke Manokwari. Tadaaa… Sukses

Estu yang lagi nunggu rilis.

BlankOn dalam Konferensi Libreoffice ID

2018-03-25 14.47.48

Ini kali kedua konferensi, saya g ikut jadi pembicara. Sebelumnya PyConf ID di PENS 19 Desember silam, hanya cuma submit judul dan tidak lolos (dan memang berharap tidak lolos). Acara di PENS Desember silam termasuk perjalanan ajaib, karena kali pertama saya nyoba bawa sepeda lipat naik pesawat.

Konferensi LibreOffice kemaren saya semacam penyusup, karena sedikit bikin acara dalam acara. Agenda terselubungnya adalah mengumpulkan pengembang-pengembang BlankOn dalam satu lokasi. Semacam BlanKopdar.

Perjalanan ke timur. Rencana awal berangkat naik bus, tapi beberapa jam menjelang berangkat, tiba-tiba malah beli tiket kereta Jayakarta. Dan dapat kabar, kereta jalur selatan asal dan menuju Bandung mengalami terlambat. Karena ada kereta anjlok. Dan Pak Didiet sudah misuh-misuh dari sore. Lanjutkan membaca “BlankOn dalam Konferensi Libreoffice ID”

Kombinasi Tail dan Grep

eiffel.di.blankon.in

Ah susah ini nyari judul yang pas, searchable, googlingable. Kasusnya adalah seperti ini. Saya butuh mencari baris yang mengandung kata kunci tertentu pada file logs streaming.

Berarti butuh perintah tail -f /path/to/log dan di grep hasilnya.

$ tail -f FILE | grep PATTERN | tail -f -n10

Namun kenyataannya, perintah diatas tidak mengeluarkan hasil apapun. Hasil utak-atik kata kunci di mesin pencari membawa pencarian saya di halaman Stackoverflow.
Berikut format solusi yang bisa digunakan:

$ grep PATTERN FILE | tail -n10; tail -f -n0 FILE | grep PATTERN;

Contoh:

$ grep user_subject_attributes /var/log/production.log | tail -n10; tail -f -n0 /var/log/production.log | grep user_subject_attributes;

Selamat berburu logs!!

Estu~

Logrotate | Bersih-bersih Kapasitas Hardisk

logs

Biasanya, yang membuat hardisk server penuh adalah ukuran log yang membesar tiap harinya tanpa diurusi. Harusnya ada manajemen log.

Apa yang harusnya dilakukan pada log?

  1. Memecah log dalam satuan waktu, misal log pertanggal dengan format tanggal ISO (*-YYYYMMDD.log).
  2. Menghapus log lama otomatis, misal log 7 hari yg lalu akan dihapus.

Implementasi ?
Logrotate.

Berikut contoh konfigurasi yang biasa saya lakukan:

  • Install logrotate.
    $ sudo apt install logrotate
  • Atur konfigurasi logrotate.
    /path/to/log {
        daily
        missingok
        rotate 7
        size 100M
        compress
        delaycompress
        notifempty
        create 0640 user user
        sharedscripts
    }
    
  • Testing Logrotate
    $ sudo logrotate -vf /etc/logrotate.d/{{ app_name }}
  • Restart service cron
  • Logrotate secara bawaan merupakan cron harian. Jika ingin menjadikannya cron jam. Cukup pindahkan logrotate ke cron jam.
    $ sudo cp /etc/cron.daily/logrotate /etc/cron.hourly/logrotate<span data-mce-type="bookmark" id="mce_SELREST_start" data-mce-style="overflow:hidden;line-height:0" style="overflow:hidden;line-height:0;">&#65279;</span>

Kalau ada pertanyaan, silahkan tinggalkan komentar. Sekian.

Estu~

Mengoreksi Kapasitas Hardisk Sistem Operasi dan Cara Bersih-Bersih

Tumis-Tempe
ps: foto tak ada hubungan sama isi postingan

Nah ini sebenarnya sering saya lupa, tapi nyari pas butuh. Mesin penuh, service matik.

Nyari pembagian partisi

# sudo fdisk -l

Nyari kepastian ukuran partisi yang terpakai

# sudo df -h

Nyari ukuran folder pada posisi $(pwd)

# sudo du -sh

Nyari list ukuran deretan folder, demi mengetahui folder mana yang menghabiskan space paling besar

# sudo du -h --max-depth=2 .

Dari langkah-langkah diatas, biasanya ditemukan beberapa hal:

  1. Cache dari paket instalasi (apt/yay/zypper)
  2. Kernel lama yang tidak dibersihkan
  3. File logs aplikasi
  4. Journalctl Logs
  5. Berkas git.

Langkah bersih-bersih:

Ada beberapa langkah untuk membersihkan hal ini tergantung sistem operasi. Berikut caranya:

Debian/Ubuntu

sudo apt clean #clean cache
sudo apt autoremove #clean old kernel

Arch Linux

yay -Sc #clean cache

openSUSE

Ref: https://en.opensuse.org/SDB:Cleanup_system

sudo zypper clean #clean cache
sudo zypper purge-kernels #clean old kernel
sudo snapper cleanup number

SystemD Journal Logs
Ref: https://tuanpembual.wordpress.com/2022/01/19/how-to-clear-systemd-journal-logs/

sudo journalctl --vacuum-time=1d #sample journalctl

Git Clean Up

git gc --auto
git config --global fetch.prune true
git fetch origin

Estu~

Upgrade BlankOn Tambora Menjadi BlankOn Uluwatu

Screenshot from 2017-11-13 16-40-47

CATATAN: RESIKO DITANGGUNG SENDIRI.
Penulis tutup mata jika langkah-langkah dibawah ini mengakibatnya keharusan memasang ulang OS di Laptop/PC masing-masing.

Ini adalah surhatan saya. Langkah berikut adalah pengalaman penulis, tidak ada jaminan akan berlaku sama jika diuji orang lain.

Berawal dari; oleh karena suatu sebab musabab, repo Tambora tidak lagi sehat dan beberapa kerjaan saya membutuhkan paket-paket lain. Jadi intinya saya g bisa masang-masang tools buat ngetik aneh-aneh.

Diputuskan: DIST-UPGRADE ke Uluwatu

Kondisi:
Laptop Thinkpad X260, terpasang BlankOn Tambora 64bit.

Karena dipakai kerjaan, jadinya proses ini saya cicil harap-harap cemas.

Step-step nya adalah:

  1. Ganti repo menuju Uluwatu.
    deb http://arsip-dev.blankonlinux.or.id/blankon uluwatu main restricted extras extras-restricted
    
  2. Update dan install kernel baru. Reboot setelah itu.
    sudo apt install linux-headers-amd64 linux-image-amd64
    
  3. Benerin applikasi yg ngaco gegara upgrade kernel (wifi install ulang driver dan virtualbox upgrade sekalian). Reboot setelah itu.
    sudo apt-get install firmware-iwlwifi --reinstall
    sudo sh VirtualBox-5.1*
    
  4. Upgrade aplikasi yg biasa dipakai. Bisa disorting via sudo apt list --upgradable. Aplikasi yang saya upgrade sebangsa Firefox, terminator, calibre dkk. Beberapa paket compiler juga.
    sudo apt install lsb aptitude inkscape vim zsh s3cmd zsync make sudo rsync build-essential tzdata openssh-client nano tar unzip audacious automake firefox xchat curl gedit dpkg gedit git reprepro terminator time wget tree sed bash whois p7zip openssl samba mount unrar mc net-tools nmap cron debootstrap gparted lsb
    
  5. Hapus paket yang bentrok. VLC saya hapus.
    sudo apt remove vlc
    
  6. Kalau sudah yakin, kita mulai dari upgrade. Dalam proses ini ada beberapa pertanyaan terkait ada config yang berubah seperti lsb-release. (Saya lupa yg lain, ada 2-3 kali).
    sudo apt upgrade
    
  7. Lanjut dengan dist-upgrade. Setelah selesai, silahkan reboot. Jangan lupa berdoa (beneran harap-harap cemas ini)
    sudo apt dist-upgrade
    

Step-step setelah selesai dist-upgrade dan masalah-masalah yang timbul:

  1. Bersihkan sisa-sisa paket
    sudo apt clean && sudo apt autoremove
    
  2. Benerin driver touchpad.
    sudo apt install xserver-xorg-input-libinput --reinstall &&
    sudo apt remove --purge xserver-xorg-input-synaptic
    
  3. Atur tap dan natural scrolling dari panduan ini.
    sudo modprobe -r psmouse
    sudo modprobe psmouse
    

    Kemudian buka gnome-control-center, atur sesuai kebutuhan (enable tap dan natural scrolling)

Sudah, itu saja yang saya lakukan.

Beberapa kutu yang masih ada adalah:

  1. Tampilan grub masih biru bawaan Debian, berbeda dari Tambora yg sudah ada khas logo BlankOn di pojok kanan.
  2. Network applet belum muncul.
  3. Paket VLC rusak.

Menuju RC3. Yay!!
Estu, yg mumet mainan Tsung.

openSUSE, Tokyo, Ansible; Story Tales

“Cerita dari Negeri Matahari Terbit”

Foto diambil dari album openSUSE Asia Summit 2017. Thanks Pak Edwinz, Dhenandi, Kukuh, Takeyama, Pak Yan atas fotonya.

IMG_5011

This is my third time join openSUSE Asia Summit. Previously at Taiwan, Dec 2015. And last year at Yogyakarta. Last year I join as event coordinator for openSUSE Asia Summit 2016. and present as workshop speaker with tittle Manage Log using ELK Stack in openSUSE.

I came again as workshop speaker with title Testing Ansible Roles using Molecule at openSUSE.

This year, we went from Indonesia with big team. 11 people except me with various background. There are: Lanjutkan membaca “openSUSE, Tokyo, Ansible; Story Tales”