Pulumi Registry adalah indeks global dari semua yang dapat Anda lakukan dengan Pulumi. Rumah Pulumi.com/Registry.
Kami selalu ingin memperluas indeks itu dengan paket Pulumi baru. Apakah Anda ingin menulis penyedia asli baru, menjembatani penyedia dari ekosistem Terraform, atau membuat komponen cloud dengan praktik terbaik dan default yang masuk akal dibangun, kami ingin bekerja dengan Anda untuk mendaftarkannya di Pulumi Registry. Untuk memulai, gunakan panduan kami untuk menulis paket Pulumi sendiri.
Untuk menerbitkan paket yang dipelihara komunitas di Pulumi Registry sebagai anggota komunitas:
docs/_index.md , yang seharusnya berisi ringkasan tujuan penyedia (diperlukan) bersama dengan sampel kode (lebih disukai). File ini akan diterjemahkan sebagai halaman indeks untuk penyedia Anda (contoh).docs/installation-configuration.md , yang harus berisi tautan ke paket SDK di setiap bahasa bersama dengan instruksi untuk mengkonfigurasi penyedia (misalnya, kredensial yang diperlukan dan/atau variabel lingkungan). File ini akan diterjemahkan sebagai halaman instalasi & konfigurasi untuk penyedia Anda (contoh).Untuk bantuan, silakan hubungi Slack Pulumi Community atau hubungi kami melalui formulir kontak ini.
Setelah anggota masyarakat telah menyerahkan PR untuk menambahkan penyedia ke registri, anggota staf Pulumi harus melakukan langkah -langkah berikut:
Tinjau PR. Pastikan bahwa PR telah dibuka kembali jika perlu sebelum bergabung. Jika ok, gabungkan.
Setelah PR digabungkan, tugas yang dijadwalkan akan mengambil perubahan dan membuat PR untuk menambahkan metadata paket ke registri. Metadata PR (contoh) yang benar akan mencakup file -file berikut, setidaknya:
data/registry/${PROVIDER}.yaml yang mencakup metadata terstruktur tentang penyedia. File ini selalu disertakan dengan setiap PR yang dihasilkan untuk rilis baru.themes/default/content/registry/packages/${PROVIDER}/installation-configuration.md , seperti dijelaskan di atas. File ini harus dimasukkan dalam rilis pertama, tetapi hanya akan dimasukkan dalam PR berikutnya jika konten telah berubah.themes/default/content/registry/packages/exoscale/_index.md , seperti dijelaskan di atas. File ini harus dimasukkan dalam rilis pertama, tetapi hanya akan dimasukkan dalam PR berikutnya jika konten telah berubah.Secara opsional, PR dapat menyertakan file konten tambahan seperti Panduan How-To jika ada dalam repo hulu.
Gabungkan PR jika terlihat baik -baik saja.
Di Pulumi/Docs, tugas yang dijadwalkan berjalan setiap jam dan akan mengambil perubahan dalam repo ini, menghasilkan file dari skema penyedia dan data/registry/${PROVIDER}.yaml , dan dipublikasikan ke Pulumi.com.
Tugas yang dijadwalkan ini saat ini tidak memiliki pemantauan yang memadai, dan harus diawasi untuk memastikan bahwa ia berjalan dengan benar hingga selesai . (Jika gagal, itu akan memblokir semua pembaruan ke Pulumi.com, termasuk pemasaran dan halaman dokumen yang dipelihara secara manual.)
Repositori ini adalah modul Hugo yang berfungsi ganda sebagai server pengembangan untuk membuatnya lebih mudah untuk mengerjakan halaman yang membentuk Pulumi Registry. Ini berisi semua content Hugo dan file layouts , JavaScript, CSS, dan komponen web. terdiri dari apa yang Anda lihat di https://pulumi.com/registry
Kami membangun bundel JavaScript dan CSS yang menyalakan Pulumi Registry di sini, di bawah direktori themes/default/theme . Jika Anda melakukan perubahan gaya di sepanjang perubahan konten sisi, gunakan make serve-all untuk memungkinkan pemuatan ulang panas dari aset halaman dan CSS/JS.
Kami membangun situs web Pulumi secara statis dengan Hugo, mengelola dependensi Node.js kami dengan benang, dan menulis sebagian besar dokumentasi kami dalam Markdown. Di bawah ini adalah daftar alat yang Anda perlukan untuk menjalankan situs web secara lokal:
Prasyarat yang tercantum di atas perlu diinstal pada mesin Anda untuk melayani situs.
Jalankan make ensure untuk memeriksa alat dan versi yang sesuai, dan pasang ketergantungan apa pun. Script akan memberi tahu Anda jika Anda kehilangan sesuatu yang penting.
make ensure
Setelah itu berhasil, jalankan make build_assets untuk membangun aset yang diandalkan situs. Ini perlu dilakukan sebelum pertama kali Anda melayani repo ini sehingga aset ada di mesin lokal Anda.
make build-assets
Setelah Anda menjalankan di atas dengan sukses, Anda siap menjalankan server pengembangan:
make serve
Secara opsional, gunakan make serve-all untuk memungkinkan pemuatan ulang panas dari aset halaman dan CSS/JS.
Repositori ini tidak berisi konten paket API Documents. Kami menghasilkan halaman -halaman ini pada waktu Deployemnt. Untuk membuat dokumen API untuk paket secara lokal, Anda perlu menghasilkan halaman dokumen API untuk itu. Dokumen API untuk paket dapat dihasilkan sesuai permintaan menggunakan alat resourcedocsgen .
cd tools/resourcedocsgen
go build -o "${GOPATH}/bin/resourcedocsgen" .
Sebagai contoh, Anda dapat menghasilkan dokumen API untuk paket tertentu dengan menjalankan alat ResourcedocSgen dan meneruskannya nama paket sebagai berikut:
resourcedocsgen docs registry <package_name> --baseDocsOutDir "./themes/default/content/registry/packages"
Jalankan resourcedocsgen --help untuk bantuan mengenai penggunaannya atau lihat README resourcedocsgen .
Sebelum mengirimkan permintaan tarik, jalankan linter secara lokal:
make lint Saat Anda siap untuk mengirimkan permintaan tarik, pastikan Anda telah menghapus apa pun yang sepertinya bukan milik ( go.mod / go.sum perubahan, dll.) Dan kirimkan PR dengan cara yang biasa.
Catatan
Saat ini membutuhkan mesin dengan minimal 32 GB memori (64 GB lebih disukai) untuk membangun registri secara keseluruhan termasuk semua pacaksges.
Setelah PR Anda disetujui dan digabungkan ke cabang default repositori ini, itu akan digunakan ke situs registri (https://pulumi.com/registry).