GCR dan gcr.io di Indonesia: Kapan Harus Pindah ke Artifact Registry?
Container Registry lama sudah tidak menerima penulisan image, tetapi gcr.io belum tentu harus langsung diganti. Keputusan migrasi bergantung pada kebutuhan mempertahankan URL image atau memilih repository Artifact Registry di Jakarta.
GCR dalam tulisan ini merujuk pada Google Container Registry. Ada dua hal yang sering tercampur: layanan Container Registry lama dan nama host gcr.io.
Layanan lama sudah tidak menerima penulisan image sejak 18 Maret 2025. Namun, gcr.io masih dapat digunakan sebagai jalur kompatibilitas yang ditangani oleh Artifact Registry. Jadi, melihat alamat image yang masih berakhir dengan gcr.io belum cukup untuk menyimpulkan bahwa image tersebut masih disimpan di layanan lama. Panduan transisi Google Cloud menjelaskan perbedaan ini.
Apakah pengguna gcr.io harus langsung mengganti semua alamat image?
Tidak selalu. Artifact Registry menyediakan repository kompatibilitas dengan hostname gcr.io, sehingga referensi image lama dapat dipertahankan dalam kondisi yang sesuai. Pilihan ini berguna ketika perubahan pada Dockerfile, manifest deployment, atau pipeline ingin dibatasi.
Namun, jalur kompatibilitas tersebut bukan sekadar nama lain untuk repository regional biasa. Hostname lama memiliki pemetaan lokasi yang telah ditentukan. Karena itu, gcr.io tidak memberi keleluasaan yang sama seperti repository Artifact Registry dengan format pkg.dev. Rincian pemetaan tersebut tersedia dalam dokumentasi repository gcr.io.
Mengapa region Jakarta mengubah keputusan migrasi?
Untuk proyek yang perlu memilih repository di Jakarta, perbedaan ini menjadi penting. Google Cloud mencantumkan Jakarta sebagai region Artifact Registry asia-southeast2. Format image untuk repository Docker biasa di lokasi tersebut adalah:
asia-southeast2-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE:TAG
Sebaliknya, format lama yang dipertahankan melalui kompatibilitas adalah:
gcr.io/PROJECT_ID/IMAGE:TAG
Artinya, pertanyaannya bukan hanya “apakah gcr.io masih berfungsi?”, melainkan “apakah mempertahankan alamat lama lebih penting daripada memilih struktur dan lokasi repository yang baru?”. Ringkasan repository dan dokumentasi lokasi Artifact Registry menjadi dasar untuk membedakan kedua kebutuhan tersebut.
Apa yang berubah jika berpindah ke repository pkg.dev?
Perubahan ini tidak cukup dilakukan dengan mengganti teks gcr.io di satu berkas. Repository Artifact Registry biasa harus sudah dibuat sebelum image dikirim. Selain alamat image, konfigurasi autentikasi Docker, izin akses, Dockerfile, manifest, dan pipeline yang merujuk pada image tersebut perlu diperiksa.
Perbedaan izin juga penting. Container Registry lama menggunakan pola penyimpanan dan akses yang berbeda, sedangkan Artifact Registry mengatur akses pada tingkat repository. Pipeline yang sebelumnya bergantung pada izin atau bucket layanan lama tidak otomatis mencerminkan izin yang dibutuhkan repository baru. Panduan perubahan untuk Docker mendokumentasikan perbedaan administrasi dan autentikasi ini.
Pilihan mana yang sesuai?
Jika sistem yang sudah berjalan harus tetap memakai referensi gcr.io dan kebutuhan utamanya adalah meminimalkan perubahan pada pipeline, repository kompatibilitas gcr.io di Artifact Registry adalah jalur yang relevan.
Jika proyek baru membutuhkan repository dengan nama, struktur, izin, atau lokasi Jakarta yang dapat ditentukan secara eksplisit, format asia-southeast2-docker.pkg.dev lebih sesuai dengan model repository Artifact Registry biasa.
Kesimpulannya, GCR lama dan gcr.io sekarang harus dipisahkan dalam pengambilan keputusan. Layanan lama sudah berhenti menerima penulisan image, tetapi alamat gcr.io masih dapat dipertahankan melalui Artifact Registry. Untuk proyek di Indonesia, kebutuhan lokasi Jakarta menjadi alasan konkret untuk menilai repository pkg.dev, bukan sekadar melakukan penggantian alamat secara membabi buta.