• Belajar menggunakan Podman sebagai pengganti Docker untuk container management

    Menggunakan Docker memang menyenangkan, seperti pada postngan sebelumnya, saya bermain lagi dengan docker, tetapi yang saya tidak suka adalah, untuk yang menggunakan docker instalasi secara default, di sini saya ambil contoh di sistem macOS, setidaknya harus ada beberapa setting yang harus dilakukan agar docker bisa berjalan tidak dalam posisi root.

    Dengan menggunakan docker, dengan setting konfigurasi rootless bisa saja, tapi males banget untuk setting ini itu, dan terlalu ribet.

    Podman

    Kemudian saya kenal Podman, bisa instalasi dengan menggunakan homebrew untuk macOS, untuk system operasi lain, silakan refer ke dokumentasinya.

    Cukup straight forward instalasinya, dan untuk yang ingin menggunakan aplikasi desktop, seperti docker desktop, bisa juga, bisa liat-liat di Podman Desktop, dan iya, bisa install aplikasi ini dengan menggunakan homebrew.

    Pull/Push

    Podman memiliki perintah yang mirip dengan docker command umumnya, seperti run, exec dan lainnya, hal ini tentunya sangat berguna untuk yang sangat bergantung pada docker, proses perpindahan juga lebih mudah.

    Untuk sumber container images, podman bisa mengambil dari docker, quay, ghcr, gcr.

    ~ on ☁️  deden.fathurahman@aladinbank.id took 2s
    ❯ podman search waypoint
    NAME                                            DESCRIPTION
    docker.io/hashicorp/waypoint-odr                The image Waypoint uses for on-demand runner...
    docker.io/hashicorp/waypoint                    A tool to build, deploy, and release any app...
    docker.io/dockette/hashicorp                    Dockette image with preinstalled Nomad, Cons...
    ...
    

    Dengan menggunakan perintah podman search <query> akan mencari image yang dimaksud di repo registry yang ada, atau bisa juga denga nmenggunakan aplikasi desktop podman, dengan fungsi yang sama, hanya saja dengan UI desktop.

    podman desktop

    Ada beberapa fungsi yang bisa digunakan di aplikasi desktop tersebut, dan mungkin lebih mudah melihat podman beraksi secara visual.

    RUN! FORREST RUN!

    Untuk menjalankan container, perintah sangat mirip dengan docker,

  • Bermain docker dan MySQL lagi

    Karena ada kebutuhan untuk load data saham, yang berisi broker summary dan informasi di dalamnya, meski berformat .csv tapi memang bisa diimport ke dalam database, di sini saya menggunakan MySQL sebagai engine database, dan juga, karena tidak mau ‘mengotori’ instalasi macOS saya, maka saya menggunakan docker image sebagai media untuk bisa menggunakan MySQL.

    Karena saya menggunakan Macbook Pro dengan chip M1, Apple silicon, yang memiliki arsitektur ARM, jadi menggunakan container image yang memang dibuat khusus untuk arsitektur ARM ini.

    Seperti biasa, menggunakan docker pull arm64v8/mysql, perintah ini akan melakukan pull/download container image tersebut ke local registry.

    Di sini tidak akan ada setup yang aneh-aneh, hanya ingin lakukan instalasi dan load data yang ada.

    Kemudian jalankan docker image tersebut, docker run --name=market-data -p 3307:3306 -h 0.0.0.0 -e MYSQL_ROOT_PASSWORD=kosonginaja -d arm64v8/mysql, dengan melakukan itu, kita menjalankan container dan melakukan binding terhadap host komputer lokal kita dengan port forward 3307 yang merujuk ke port 3306 yang ada di image MySQL tersebut.

    Kemudian login ke MySQL menggunakan mysql client, di macOS saya install dulu dengan brew install mysql-client, yang mana akan instalasi mysql client untuk konek ke box mysql docker tadi.

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 46
    Server version: 8.1.0 MySQL Community Server - GPL
    
    Copyright (c) 2000, 2023, Oracle and/or its affiliates.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    

    Perlu beberapa saat untuk memakai lagi topi DBA zaman dulu, dan happy data explore!

  • Mengubah dan mendapatkan format rsa untuk ssh dari openssh private

    Saya mendapatkan file yang berisi private key dari openssh, yang mana itu bisa digunakan untuk login ke server, tetapi terkadang SSH client yang digunakan lebih banyak support format dari RSA, biasanya file openssh private ini memiliki format sebagai berikut,

    -----BEGIN OPENSSH PRIVATE KEY-----
    b3BlbnNzaC1rZXktdjEAAAAAB....
    -----END OPENSSH PRIVATE KEY-----
    

    File ini merupakan file dari OpenSSH private key, kita perlu melakukan konversi ke dalam format rsa.

    Untuk melakukan konversi, diperlukan aplikasi puttygen untuk mengubah format dari Openssh ke format rsa dengan perintah

    puttygen opensshprivate-key -O private-sshcom -o mykey-converted
    

    Dari sini, konversi dilakukan, dan mengubah file tersebut menjadi format SSH2, biasanya dengan bentuk file seperti ini,

    ---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
    Comment: "user@server-app"
    P2/56wAABa4AAA....
    ---- END SSH2 ENCRYPTED PRIVATE KEY ----
    

    Setelah konversi ke format SSH2, bisa lebih mudah untuk melakukan konversi ke RSA, pertama, kita lakukan konversi private key ini dulu ke RSA private key

    ssh-keygen -i -f mykey-converted > id_rsa-mykey
    

    dan memiliki format seperti berikut,

    -----BEGIN RSA PRIVATE KEY-----
    MIIG5AIBAAKCAYEA....
    -----END RSA PRIVATE KEY-----
    

    Dan karena kita sudah memiliki private key dalam format RSA, maka kita bisa mengenerate RSA public key dari private key yang sudah kita punya ini dengan perintah,

    ssh-keygen -y -f id_rsa-mykey > id_rsa-mykey.pub
    

    Dimana -y adalah paramater yang digunakan untuk input key file private key yang kita punya, dan -f adalah path ke file yang dimaksud, kemudian > bentuk redireksi ke dalam output file yang dimaksud, di sini saya gunakan nama file id_rsa-mykey.pub untuk file hasil generate tersebut.

    Setelah mendapatkan file public key, bisa langsung digunakan untuk login (dengan private key didalam folder yang sama), saya biasanya copy file tersebut ke folder ~/.ssh/, yang mana bisa langsung digunakan ketika mau login, tinggal gunakan -i ~/.ssh/id_rsa-newkey atau melakukan ssh-add ~/.ssh/id_rsa-newkey.

  • Today: 28 Mei, 2021, Investasi ETF

    Akhirnya membeli domain InvestasiETF.com, rasanya perlu membeli domain tersebut, karena ETF nanti akan makin banyak (mudah2an), meski sekarang masih terhitung sedikit, setidaknya ada 47 produk ETF di bursa, meski tidak semua produk ETF ada dibroker, ada yang menjual beberapa produk, tapi tidak menjual produk yang lain yang dibuat oleh manajer investasi lain.

    Sengaja tidak menggunakan prefix seputar, seperti blog saya yang lain, dan blog ini menambah banyak domain yang saya miliki saat ini.

    Huff! banyak juga, masih mencoba mendisiplinkan diri untuk bisa melakukan update disemua blog tersebut.

  • Today: 04 April, 2021, midday record

    Sepertinya memang kurang tidur, mungkin juga tidurnya kurang berkualitas atau bagaimana, tetapi badan memiliki mekanisme yang akan selalu bisa meminta agar pola tidur diperbaiki, meski tidak akan memperbaiki semua hal, tapi setidaknya membantu.

    Mencoba mengisi daftar referral dari layanan-layanan investasi yang sudah saya buat di seputar finansial