openSUSE Asia Summit 2023 Report

Tahun ini adalah tahun ke 7 openSUSE digelar. Dan kali kedua openSUSE Asia Summit kembali digelar di China.

Ini juga adalah Summit pertama luring paska COVID19. Summit tahun ini diadakan di Chongqing University of Posts and Telecommunications, Chongqing, China 21-23 Oktober 2023. Kali ini kontingen Indonesia hanya mengirimkan tiga personil, Pak Edwin Zakaria, Pak Yan Arief dan saya. Masing masing hadir sebagai pembicara dengan materi yang berbeda.

Setelah selesai mengurus visa China dengan segala kerepotannya, akhirnya visa keluar tanggal 10 Oktober, 10 hari sebelum keberangkatan. Kita lanjut memesan tiket pesawat ke Chongqing. Pak Yan Arif dan saya akan memulai perjalanan dari Jogja.

Lanjutkan membaca “openSUSE Asia Summit 2023 Report”

GCrane, Perkakas Penyalin Image Container pada Artifact Registry

Sebagai catatan pribadi.

Studi Kasus: adanya kebutuhan pemindahan path artifact registry di GCP, dari project lama ke project baru.

This tool implements a superset of the crane commands, with additional commands that are specific to gcr.io.

Note that this relies on some implementation details of GCR that are not consistent with the registry spec, so this may break in the future.

github gcrane

Contoh path yang dimasuk adalah sebagai berikut:

  • path lama: asia-southeast2-docker.pkg.dev/project-lama/docker-produk/squad-produk/nama-produk
  • path baru: asia-southeast2-docker.pkg.dev/project-baru/image-produk/squad-produk/nama-produk

Persiapan Perkakas

Memasang Perkakas GCrane.

Tool ini disediakan oleh google di tautan: https://github.com/google/go-containerregistry/tree/main/cmd/gcrane. Ada banyak perkakas di berkas berikut, namun hanya gcrane yang dibutuhkan. Berikut cara pasangnya dari command line:

## unduh perkakas
wget https://github.com/google/go-containerregistry/releases/download/v0.16.1/go-containerregistry_Linux_x86_64.tar.gz

## ekstrak
tar -xvf go-containerregistry_Linux_x86_64.tar.gz

## memindahkan perkakas
sudo mv gcrane /usr/local/bin/.

## melihat versi perkakas
gcrane version

Konfigurasi IAM

Untuk bisa menjalankan operasi ini, ada IAM yang dibutuhkan pada kedua project yang akan digunakan, yakni:

  • roles/storage.objectViewer
  • roles/artifactregistry.writer

Ujicoba Perkakas

Berikut langkah-langkah penggunaanya:

## Gcrane dan IAM sudah dikonfigurasi

## Lakukan pengecekan berkas yang akan dipindah:
gcrane ls -r asia-southeast2-docker.pkg.dev/project-lama/docker-produk/squad-produk/

## Mulai lakukan pemindahan berdasarkan folder.
gcrane cp -r \
asia-southeast2-docker.pkg.dev/project-lama/docker-produk/squad-produk/nama-produk/ \
asia-southeast2-docker.pkg.dev/project-baru/image-produk/squad-produk/nama-produk/

## Melakukan pemindahan sekaligus
gcrane cp -r asia-southeast2-docker.pkg.dev/project-lama/docker-produk/squad-produk \
asia-southeast2-docker.pkg.dev/project-baru/image-produk/squad-produk

Semoga bermanfaat.
Estu~

Ref:

How to bring back classic context menu on Windows 11

TL;DR.
Just personal notes.

  1. Open terminal, and add new registry key by type
  2. Close explorer and start again
  3. Done
## create registry key
reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

## close explorer
taskkill /f /im explorer.exe

## start explorer
start explorer.exe

Sample screenshot

Result

Estu~

Konfigurasi Arch, WSL, Powershell, Terminal, ZSH, dan Lingkungan Bekerja

Setelah memasang Arch di WSL saya masih butuh mengulik-ulik agar segera dapat berkerja.

Memasang Terminal

Saya memilih memasang konsole emulator Terminal dari windows store melalui tautan https://aka.ms/terminal.

Memasang PowerShell 7.3

Saya sekaligus menaikan versi PowerShell bawaan ke vesi 7.3. Saya menggunakan installer *.MSI. Silahkan unduh berkas MSI dari halaman github, atau mengikut panduan dari https://learn.microsoft.com.

Mengatur Password Root

Berikut catatan-catatannya yang saya sadur dari https://wsldl-pg.github.io/ArchW-docs/How-to-Setup/:

>Arch.exe
[root@PC-NAME]# passwd

Menambah Pengguna dan Mengatur Default User untuk Arch WSL

Silahkan juga membaca wiki dari Arch terkait Sudo dan User and groups.

Lanjutkan membaca “Konfigurasi Arch, WSL, Powershell, Terminal, ZSH, dan Lingkungan Bekerja”

Memasang Arch Linux di WSL

Catatan singkat setelah lama vakum.

Saya memulai menggunakan windows 11 pada perangkat X1 Carbon Nano sebagai mesin utama bekerja. Kali ini mencoba menggunakan WSL namun dengan sistem operasi Arch Linux yang sedang enjoy-enjoynya digunakan untuk bekerja sebagai kuli kabel dan pawang awan.

Berikut saya sertakan cara memasangnya, karena sepertinya menggunakan cara yang sedikit ajaib yang saya sadur dari web https://wsldl-pg.github.io/ArchW-docs/How-to-Setup/ dan https://github.com/yuk7/ArchWSL

  1. Baca manual dari web https://github.com/yuk7/ArchWSL, fokus pada panduan Appx
  2. Pastikan WSL 2 sudah siap digunakan.
  3. Unduh berkas cer terbaru dari tautan https://github.com/yuk7/ArchWSL/releases/download/22.10.16.0/ArchWSL-AppX_22.10.16.0_x64.cer
  4. Pasang sertifkat untuk AppX menggunakan panduan https://wsldl-pg.github.io/ArchW-docs/Install-Certificate/, langkah ini membutuhkan hak akses administrator
  5. Unduh berkas appx terbaru untuk arch linux, pada tautan https://github.com/yuk7/ArchWSL/releases/download/22.10.16.0/ArchWSL-AppX_22.10.16.0_x64.appx
  6. Klik dua kali pada berkas appx, kemudian pasang dengan mengikuti panduan pemasangan.
  7. Uji coba menjalakan arch, dengan menjalankan perintah ini pada terminal
    C:\WINDOWS\system32\wsl.exe -d Arch
  8. Selesai

Selanjutnya tinggal melakukan tuning terminal sesuai kebutuhan. Langkah ini akan coba saya tulis pada pada postingan selanjutnya.

Estu~

How to Clear Systemd Journal Logs

Saya butuh bersih-bersih log Systemd Journal karena ukuran nvme saya yang terbatas. Cara untuk mengetahui ukuran disk terpakai bisa membaca tulisan saya sebelumnya. Berikut command yang saya jalankan. Please Do With Your Own Risk (DWYOR).

sudo journalctl --rotate
sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=200M
journalctl --vacuum-files=7

Kemudian saya menambahkan pengaturan automatis bersih-bersih.

sudo cp /etc/systemd/journald.conf /etc/systemd/journald.conf.orig
sudo echo "SystemMaxUse=250M" >> /etc/systemd/journald.conf
sudo systemctl restart systemd-journald

Dah itu aja, sumber saya contek dari https://linuxhandbook.com/clear-systemd-journal-logs/. Semoga bermanfaat.
Estu~

Build Docker Image using Kaniko on Kubernetes Gitlab Runner and Push to GCR

Maaf kalo judul postnya panjang, tapi isinya pendek. Berikut snipset kode untuk .gitlab-ci.yaml. Jobs ini akan jalan di runner kubernetes cluster (saya menggunakan gke cluster).

docker-build-kaniko:
  stage: build
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  tags:
    - kubernetes
  dependencies:
    - compile-binary
  variables:
    DOCKERFILE: Dockerfile
    GIT_STRATEGY: none
    IMAGE: "asia.gcr.io/poc-kerjaan/kerjaan/example/hello-world"
    TAG: "$CI_COMMIT_SHORT_SHA"
  only:
    refs:
      - feature/poc-kaniko
  script:
    - echo $CI_REGISTRY_PASSWORD | base64 -d > $CI_PROJECT_DIR/service_account_key.json
    - export GOOGLE_APPLICATION_CREDENTIALS=$CI_PROJECT_DIR/service_account_key.json
    - >-
      /kaniko/executor
      --context "${CI_PROJECT_DIR}"
      --dockerfile "${CI_PROJECT_DIR}/Dockerfile"
      --destination "${IMAGE}:$CI_COMMIT_SHORT_SHA"

Untuk credential GCR, menggunakan JSON service-account. Kemudian masking secukupnya.

Sumber Bacaan:

  1. https://github.com/GoogleContainerTools/kaniko/issues/687
  2. https://github.com/GoogleCloudPlatform/docker-credential-gcr#gcr-credentials
  3. https://docs.gitlab.com/ee/ci/docker/using_kaniko.html
  4. https://rinoguchi.net/2020/12/gitlab-ci-kaniko-docker-build-gcr.html

Semoga membantu.
Estu~

Memasang PgAdmin4 Menggunakan Docker

PgAdmin4 adalah software management database postgreSQL berbasis web. Dikembangkan dengan backend python 3.

Sayangnya ketika memasang PgAdmin4 di ArchLinux tidak berjalan normal. Butuh tunning sana sini. Pencarian di mesin pencari mengantarkan saya untuk menggunakan PgAdmin4 versi Docker. https://pgadmin.org/download/pgadmin-4-container/. Berikut cara penggunaannya.

sudo systemctl start docker
docker pull dpage/pgadmin4
docker run -p 5050:80 \
    --name pgadmin4 \
    -e "PGADMIN_DEFAULT_EMAIL=estu@example.com" \
    -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
    -d dpage/pgadmin4

Dilanjut dengan membuka browser dengan alamat localhost:5050. Login dengan username dan password seperti baris diatas.

Jika sudah selesai menggunakan pgadmin4, cukup hentikan dockernya.

docker stop pgadmin4
sudo systemctl stop docker
docker start pgadmin4

Kekurangnnya, jika melakukan backup atau dump, file nya akan disimpan di dalam kontainer pgadmin4. Saya sudah mencoba menggunakan volume, tapi hasilnya belum seperti yang diharapkan. Saat ini setelah selesah backup atau dump, saya lanjutkan menyalin berkas dari kontainer ke lokal laptop saya dengan perintah:

docker cp pgadmin4:/var/lib/pgadmin/storage/estu_example.com/database-name-20211220.txt .

Sudah, itu saja. Selamat mengetik kembali

Estu~

Berkenalan dengan Keyboard IBM Model M SSK

Sudah dari tahun kapan, saya bercita-cita akan memiliki keybord IBM. Tapi saat itu tidak tau seperti apakah series yang akan saya beli. Hingga sebulan yang lalu, kawan di group lain, menawarkan dagangan teman yang sedang butuh asupan dana segar dengan menjual salah satu koleksinya. IBM Model M Terminal. Keyboard keluarn tahun 92. Saya tebus dikisaran 2.8jt. Model ini menggunakan port terminal seperti RJ45 dan membutuhkan konverter ke usb khusus. Harga yang saya bayar tadi termasuk konverternya.

Lanjutkan membaca “Berkenalan dengan Keyboard IBM Model M SSK”

Menyambungkan Mouse Logitech MX Master dengan GNU/Linux Menggunakan Solaar

Logitech hingga saat ini belum juga memberikan dukungan perangkat lunak untuk menyambungkan USB Logitech Unifying Receiver. Jika ingin menyambungkan menggunakan SMART Bluetooth, lakukan dengan langkah normal seperti panduan pada tautan berikut.

Aplikasi Solaar menjadi solusi untuk masalah menyambungkan USB Logitech Unifying Receiver.

sudo zypper in solaar

Setelah Solaar terpasang, silahkan sanding USB Logitech Unifying Receiver dan perangakat Mouse MX Master.

  • Lakukan restart mouse
  • Pilih channel (1,2,3)
  • Tekan connect

Jika sudah tersambung, berikut tampilannya.

Selamat mencoba~